From 17223fec0af683b408b0d2cd80554bac2fbb504d Mon Sep 17 00:00:00 2001
From: fOuttaMyPaint
Date: Sun, 5 Apr 2026 16:59:59 -0400
Subject: [PATCH] v0.8.0: SSL/TLS certificate management
Add 3 new MCP tools (certCheck, certRenew, certList) for certificate lifecycle management via certbot and Nginx Proxy Manager. Add new certificate-management skill. Input validation tests for all 3 tools. Full release hygiene across all docs and config files.
Made-with: Cursor
---
.cursor-plugin/plugin.json | 4 +-
CHANGELOG.md | 13 ++
CLAUDE.md | 12 +-
README.md | 16 +-
ROADMAP.md | 9 +-
docs/index.html | 21 ++-
mcp-server/README.md | 5 +-
mcp-server/package-lock.json | 4 +-
mcp-server/package.json | 4 +-
mcp-server/src/index.ts | 8 +-
.../tools/__tests__/input-validation.test.ts | 61 ++++++++
mcp-server/src/tools/certCheck.ts | 36 +++++
mcp-server/src/tools/certList.ts | 55 +++++++
mcp-server/src/tools/certRenew.ts | 56 +++++++
skills/certificate-management/SKILL.md | 144 ++++++++++++++++++
15 files changed, 420 insertions(+), 28 deletions(-)
create mode 100644 mcp-server/src/tools/certCheck.ts
create mode 100644 mcp-server/src/tools/certList.ts
create mode 100644 mcp-server/src/tools/certRenew.ts
create mode 100644 skills/certificate-management/SKILL.md
diff --git a/.cursor-plugin/plugin.json b/.cursor-plugin/plugin.json
index 17fe729..39e2f1a 100644
--- a/.cursor-plugin/plugin.json
+++ b/.cursor-plugin/plugin.json
@@ -1,8 +1,8 @@
{
"name": "home-lab-developer-tools",
"displayName": "Home Lab Developer Tools",
- "version": "0.7.0",
- "description": "Home lab and Raspberry Pi workflows for Cursor, Claude Code, and MCP-compatible editors - 20 skills, 10 rules, and 41 MCP tools for managing Docker Compose stacks, monitoring, DNS, reverse proxy, networking, backups, disaster recovery, security auditing, logs, notifications, OS management, and system administration on a Raspberry Pi home lab via SSH.",
+ "version": "0.8.0",
+ "description": "Home lab and Raspberry Pi workflows for Cursor, Claude Code, and MCP-compatible editors - 21 skills, 10 rules, and 44 MCP tools for managing Docker Compose stacks, monitoring, DNS, reverse proxy, networking, backups, disaster recovery, security auditing, logs, notifications, OS management, certificates, and system administration on a Raspberry Pi home lab via SSH.",
"author": {
"name": "TMHSDigital",
"url": "https://github.com/TMHSDigital"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ad1470..a9edad5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [0.8.0] - 2026-04-05
+
+### Added
+
+- 3 new MCP tools for SSL/TLS certificate management
+ - `homelab_certCheck` -- check SSL certificate expiry, issuer, and fingerprint for a domain
+ - `homelab_certRenew` -- trigger Let's Encrypt certificate renewal via certbot (requires confirm=true)
+ - `homelab_certList` -- list all managed certificates from certbot and Nginx Proxy Manager
+- 1 new skill
+ - `certificate-management` -- Let's Encrypt, self-signed certs, renewal automation, NPM cert integration
+- Input validation tests for all 3 new tools
+
## [0.7.0] - 2026-04-05
### Added
@@ -137,6 +149,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Full documentation (README, CLAUDE.md, CONTRIBUTING, ROADMAP, SECURITY)
- Project logo (assets/logo.png)
+[0.8.0]: https://github.com/TMHSDigital/Home-Lab-Developer-Tools/releases/tag/v0.8.0
[0.7.0]: https://github.com/TMHSDigital/Home-Lab-Developer-Tools/releases/tag/v0.7.0
[0.6.0]: https://github.com/TMHSDigital/Home-Lab-Developer-Tools/releases/tag/v0.6.0
[0.5.0]: https://github.com/TMHSDigital/Home-Lab-Developer-Tools/releases/tag/v0.5.0
diff --git a/CLAUDE.md b/CLAUDE.md
index c0c58f3..c7cda81 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -4,13 +4,13 @@ Project documentation for Claude Code and AI assistants working on this reposito
## Project Overview
-Home Lab Developer Tools integrates home lab and Raspberry Pi workflows into AI-assisted development. It includes 20 skills, 10 rules, and a companion MCP server with 41 tools for managing Docker Compose stacks, monitoring, DNS, reverse proxy, networking, backups, disaster recovery, security auditing, logs, notifications, OS management, and system administration via SSH.
+Home Lab Developer Tools integrates home lab and Raspberry Pi workflows into AI-assisted development. It includes 21 skills, 10 rules, and a companion MCP server with 44 tools for managing Docker Compose stacks, monitoring, DNS, reverse proxy, networking, backups, disaster recovery, security auditing, logs, notifications, OS management, certificates, and system administration via SSH.
**Works with:** Cursor (plugin), Claude Code (terminal and in-editor), and any MCP-compatible client.
This is a monorepo -- the skills, rules, and companion MCP server live in the same repository. The MCP server connects to a Raspberry Pi via SSH to execute commands.
-**Version:** 0.7.0
+**Version:** 0.8.0
**License:** CC-BY-NC-ND-4.0
**npm:** @tmhs/homelab-mcp
**Author:** TMHSDigital
@@ -38,7 +38,7 @@ Home-Lab-Developer-Tools/
tests/ # Python structure tests
```
-## Skills (20)
+## Skills (21)
| Skill | Description |
|-------|-------------|
@@ -60,6 +60,7 @@ Home-Lab-Developer-Tools/
| notification-workflows | Ntfy setup, alert routing, notification pipelines |
| os-update-management | Unattended-upgrades, kernel updates, reboot scheduling |
| performance-tuning | Kernel params, swap config, I/O scheduler, GPU memory split |
+| certificate-management | Let's Encrypt, self-signed certs, renewal automation, NPM cert integration |
| storage-management | Samba, Syncthing, volumes, disk monitoring |
| troubleshooting | Debug crashes, network issues, hardware problems |
@@ -78,7 +79,7 @@ Home-Lab-Developer-Tools/
| weak-credentials | compose*.yml, .env* | Flag default/weak passwords and insecure credential storage |
| resource-limits | compose*.yml | Flag containers without memory or CPU limits |
-## MCP Tools (41)
+## MCP Tools (44)
All tools connect to the Pi via SSH using environment variables for configuration.
@@ -124,6 +125,9 @@ All tools connect to the Pi via SSH using environment variables for configuratio
| `homelab_aptHistory` | Show recent apt install/upgrade/remove history |
| `homelab_kernelInfo` | Kernel version, boot parameters, loaded modules |
| `homelab_systemdServices` | List systemd units or get status of a specific unit |
+| `homelab_certCheck` | Check SSL certificate expiry, issuer, and fingerprint |
+| `homelab_certRenew` | Trigger Let's Encrypt certificate renewal |
+| `homelab_certList` | List all managed certificates from certbot and NPM |
| `homelab_sshTest` | Test SSH connectivity |
## Development
diff --git a/README.md b/README.md
index 295830d..ba190e6 100644
--- a/README.md
+++ b/README.md
@@ -29,7 +29,7 @@
- 20 skills • 10 rules • 41 MCP tools
+ 21 skills • 10 rules • 44 MCP tools
---
@@ -41,9 +41,9 @@ This project works with any AI coding tool that supports skills, rules, or MCP:
| Component | Cursor | Claude Code (terminal) | Claude Code in Cursor | Other MCP clients |
|---|:---:|:---:|:---:|:---:|
| **CLAUDE.md** context | Yes | Yes | Yes | - |
-| **20 Skills** (SKILL.md) | Yes | Yes | Yes | - |
+| **21 Skills** (SKILL.md) | Yes | Yes | Yes | - |
| **10 Rules** (.mdc) | Yes | Via CLAUDE.md | Yes | - |
-| **41 MCP tools** | Yes | Yes | Yes | Yes |
+| **44 MCP tools** | Yes | Yes | Yes | Yes |
> **Claude Code** reads `CLAUDE.md` automatically and can reference skills. The MCP server works with any client that supports the MCP stdio transport.
@@ -71,7 +71,7 @@ flowchart LR
---
-20 Skills - on-demand home lab expertise
+21 Skills - on-demand home lab expertise
@@ -95,6 +95,7 @@ flowchart LR
| **Notifications** | `notification-workflows` | Ntfy setup, alert routing, notification pipelines |
| **OS** | `os-update-management` | Unattended-upgrades, kernel updates, reboot scheduling |
| **OS** | `performance-tuning` | Kernel params, swap config, I/O scheduler, GPU memory split |
+| **Certificates** | `certificate-management` | Let's Encrypt, self-signed certs, renewal automation, NPM cert integration |
| **Storage** | `storage-management` | Samba, Syncthing, volumes, disk monitoring |
| **Debug** | `troubleshooting` | Debug crashes, network issues, hardware problems |
@@ -128,7 +129,7 @@ The MCP server gives your AI assistant live access to your Raspberry Pi via SSH.
-
+
@@ -153,7 +154,7 @@ Add to your Cursor MCP config (`.cursor/mcp.json`):
```
-41 MCP Tools - full tool reference
+44 MCP Tools - full tool reference
@@ -328,6 +329,7 @@ Any client supporting MCP stdio transport can use the Home Lab MCP server. Point
| `notification-workflows` | "Send a test notification to my phone via Ntfy" |
| `os-update-management` | "Are there any security updates pending on my Pi?" |
| `performance-tuning` | "My Pi is sluggish with 13 containers. How can I optimize it?" |
+| `certificate-management` | "Are any of my SSL certificates expiring soon? Renew them" |
@@ -345,7 +347,7 @@ Any client supporting MCP stdio transport can use the Home Lab MCP server. Point
| **v0.5.0** | **Security Hardening** | **+4** | **+1** | **+2** | **33** |
| **v0.6.0** | **Logs and Notifications** | **+4** | **+2** | **--** | **37** |
| **v0.7.0** | **OS and Package Management** | **+4** | **+2** | **+1** | **41** |
-| v0.8.0 | SSL/TLS Certificates | +3 | +1 | -- | 44 |
+| **v0.8.0** | **SSL/TLS Certificates** | **+3** | **+1** | **--** | **44** |
| v0.9.0 | Multi-Node Foundation | +4 | +1 | +1 | 48 |
| v0.10.0 | Testing Infrastructure | +2 | -- | -- | 50 |
| v0.11.0 | Documentation Site | -- | -- | -- | 50 |
diff --git a/ROADMAP.md b/ROADMAP.md
index e2bc6d6..b03560a 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -162,13 +162,13 @@ Certificate lifecycle management.
**MCP tools (+3):**
-- [ ] `homelab_certCheck` -- check SSL cert expiry for a domain/host
-- [ ] `homelab_certRenew` -- trigger Let's Encrypt renewal (requires confirm=true)
-- [ ] `homelab_certList` -- list all managed certificates and their status
+- [x] `homelab_certCheck` -- check SSL cert expiry for a domain/host
+- [x] `homelab_certRenew` -- trigger Let's Encrypt renewal (requires confirm=true)
+- [x] `homelab_certList` -- list all managed certificates and their status
**Skills (+1):**
-- [ ] `certificate-management` -- Let's Encrypt, self-signed certs, renewal automation, NPM cert integration
+- [x] `certificate-management` -- Let's Encrypt, self-signed certs, renewal automation, NPM cert integration
---
@@ -271,6 +271,7 @@ Production-ready, fully tested, fully documented.
## Completed
+- v0.8.0: SSL/TLS Certificates -- 3 new tools (certCheck, certRenew, certList), 1 new skill (certificate-management)
- v0.7.0: OS and Package Management -- 4 new tools (aptUpgradable, aptHistory, kernelInfo, systemdServices), 2 new skills (os-update-management, performance-tuning), 1 new rule (resource-limits)
- v0.6.0: Logs and Notifications -- 4 new tools (journalLogs, logSearch, ntfySend, ntfyTopics), 2 new skills (log-analysis, notification-workflows)
- v0.5.0: Security Hardening -- 4 new tools (ufwStatus, fail2banStatus, openPorts, containerScan), 1 new skill (secrets-management), 2 new rules (privileged-containers, weak-credentials)
diff --git a/docs/index.html b/docs/index.html
index f44c0fb..398e049 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -4,9 +4,9 @@
Home Lab Developer Tools
-
+
-
+