From 14137c32a735d00de9aae2a5818ac1a9274609b7 Mon Sep 17 00:00:00 2001 From: "fkrebs (via Claude)" Date: Sat, 23 May 2026 15:02:26 +0200 Subject: [PATCH] docs(mcp): add gitea, paperless, proxmox MCP servers (2026-05-23) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wire three new community MCP servers into the gateway on CT104: - gitea: official Gitea MCP (53 tools), static upstream gitea-mcp:8000 - paperless: @nloui/paperless-mcp via mcp-proxy (12 tools), static upstream - proxmox: proxmox-mcp-plus PyPI (39 tools), read-only PVEAuditor token Total: 27 → 30 servers. Skipped: karakeep (API key unset), audiobookshelf (Go binary only), vaultwarden (master password exposure risk). Co-Authored-By: Claude Sonnet 4.6 --- services/mcp-servers.md | 100 ++++++++++++++++++++++++++++++++-------- 1 file changed, 82 insertions(+), 18 deletions(-) diff --git a/services/mcp-servers.md b/services/mcp-servers.md index 7d0710f..2e14dcd 100644 --- a/services/mcp-servers.md +++ b/services/mcp-servers.md @@ -1,6 +1,6 @@ # MCP Servers — nuclide.systems -Complete reference for all 27 MCP servers managed by the gateway at `https://mcp.nuclide.systems`. +Complete reference for all 30 MCP servers managed by the gateway at `https://mcp.nuclide.systems`. **Last verified: 2026-05-23.** > Architecture doc: [`mcp-gateway.md`](mcp-gateway.md) · Config file: `/opt/stacks/ai/mcp-gateway/config.json` on CT 104 · Secrets: `/opt/stacks/ai/.env` @@ -21,23 +21,26 @@ Complete reference for all 27 MCP servers managed by the gateway at `https://mcp | 8 | `time` | dev | spawn | `https://mcp.nuclide.systems/time/mcp` | ✓ | | 9 | `docling` | dev | static | `https://mcp.nuclide.systems/docling/mcp` | ✓ | | 10 | `coder` | dev | static | `https://mcp.nuclide.systems/coder/mcp` | ✓ | -| 11 | `shepard` | dev | static | `https://mcp.nuclide.systems/shepard/mcp` | ✓ | -| 12 | `crawl4ai` | research | spawn | `https://mcp.nuclide.systems/crawl4ai/mcp` | ✓ | -| 13 | `paper-search` | research | catalog | `https://mcp.nuclide.systems/paper-search/mcp` | ✓ | -| 14 | `searxng` | research | spawn | `https://mcp.nuclide.systems/searxng/mcp` | ✓ | -| 15 | `wikipedia-mcp` | research | catalog | `https://mcp.nuclide.systems/wikipedia-mcp/mcp` | ✓ | -| 16 | `youtube-transcript` | research | catalog | `https://mcp.nuclide.systems/youtube-transcript/mcp` | ✓ | -| 17 | `bluesky` | personal | static | `https://mcp.nuclide.systems/bluesky/mcp` | ✓ | -| 18 | `obsidian` | personal | spawn | `https://mcp.nuclide.systems/obsidian/mcp` | ✓ | -| 19 | `gotify` | personal | spawn | `https://mcp.nuclide.systems/gotify/mcp` | ✓ | -| 20 | `home-assistant` | personal | static | `https://mcp.nuclide.systems/home-assistant/mcp` | ✓ | -| 21 | `immich` | personal | spawn | `https://mcp.nuclide.systems/immich/mcp` | ✓ | -| 22 | `memos` | personal | spawn | `https://mcp.nuclide.systems/memos/mcp` | ✓ | -| 23 | `n8n` | personal | static | `https://mcp.nuclide.systems/n8n/mcp` | ✓ | -| 24 | `nextcloud` | personal | spawn | `https://mcp.nuclide.systems/nextcloud/mcp` | ✓ | -| 25 | `unifi` | personal | spawn | `https://mcp.nuclide.systems/unifi/mcp` | ✓ | -| 26 | `comfyui` | image | static | `https://mcp.nuclide.systems/comfyui/mcp` | ✓ | -| 27 | `upload-artifact` | storage | static | `https://mcp.nuclide.systems/upload-artifact/mcp` | ✓ | +| 11 | `gitea` | dev | static | `https://mcp.nuclide.systems/gitea/mcp` | ✓ | +| 12 | `proxmox` | dev | spawn | `https://mcp.nuclide.systems/proxmox/mcp` | ✓ | +| 13 | `shepard` | dev | static | `https://mcp.nuclide.systems/shepard/mcp` | ✓ | +| 14 | `crawl4ai` | research | spawn | `https://mcp.nuclide.systems/crawl4ai/mcp` | ✓ | +| 15 | `paper-search` | research | catalog | `https://mcp.nuclide.systems/paper-search/mcp` | ✓ | +| 16 | `searxng` | research | spawn | `https://mcp.nuclide.systems/searxng/mcp` | ✓ | +| 17 | `wikipedia-mcp` | research | catalog | `https://mcp.nuclide.systems/wikipedia-mcp/mcp` | ✓ | +| 18 | `youtube-transcript` | research | catalog | `https://mcp.nuclide.systems/youtube-transcript/mcp` | ✓ | +| 19 | `bluesky` | personal | static | `https://mcp.nuclide.systems/bluesky/mcp` | ✓ | +| 20 | `obsidian` | personal | spawn | `https://mcp.nuclide.systems/obsidian/mcp` | ✓ | +| 21 | `gotify` | personal | spawn | `https://mcp.nuclide.systems/gotify/mcp` | ✓ | +| 22 | `home-assistant` | personal | static | `https://mcp.nuclide.systems/home-assistant/mcp` | ✓ | +| 23 | `immich` | personal | spawn | `https://mcp.nuclide.systems/immich/mcp` | ✓ | +| 24 | `memos` | personal | spawn | `https://mcp.nuclide.systems/memos/mcp` | ✓ | +| 25 | `n8n` | personal | static | `https://mcp.nuclide.systems/n8n/mcp` | ✓ | +| 26 | `nextcloud` | personal | spawn | `https://mcp.nuclide.systems/nextcloud/mcp` | ✓ | +| 27 | `paperless` | personal | static | `https://mcp.nuclide.systems/paperless/mcp` | ✓ | +| 28 | `unifi` | personal | spawn | `https://mcp.nuclide.systems/unifi/mcp` | ✓ | +| 29 | `comfyui` | image | static | `https://mcp.nuclide.systems/comfyui/mcp` | ✓ | +| 30 | `upload-artifact` | storage | static | `https://mcp.nuclide.systems/upload-artifact/mcp` | ✓ | **Auth**: all gateway URLs require `Authorization: Bearer `. Get a config bundle at `https://mcp.nuclide.systems/mcp-config?format=claude`. @@ -184,6 +187,49 @@ Complete reference for all 27 MCP servers managed by the gateway at `https://mcp --- +### `gitea` — Gitea (git.nuclide.systems) + +| | Value | +|---|---| +| **Kind** | static | +| **Internal upstream** | `http://gitea-mcp:8000` (own stack `/opt/stacks/ai/gitea-mcp.yml`) | +| **Image** | `docker.gitea.com/gitea-mcp-server:latest` | +| **Command** | `/app/gitea-mcp -t http --port 8000 --host 0.0.0.0` | +| **Transport** | streamable-HTTP (native) | +| **Health check** | every 300 s | +| **Tools** | 53 (repo/issue/PR/file CRUD, releases, users, orgs) | +| **Credentials** | | +| `GITEA_HOST` | `https://git.nuclide.systems` | +| `GITEA_ACCESS_TOKEN` | `${GITEA_TOKEN}` → `.env` | +| **Notes** | Added 2026-05-23. Targets CT 111 Gitea. Read + write access. | + +--- + +### `proxmox` — Proxmox VE (192.168.1.20) + +| | Value | +|---|---| +| **Kind** | spawn | +| **Internal upstream** | `http://mcp-proxmox:8000` (own stack `/opt/stacks/ai/proxmox-mcp.yml`) | +| **Image** | `ghcr.io/astral-sh/uv:python3.12-trixie-slim` | +| **Command** | `uvx proxmox-mcp-plus` | +| **Package** | `proxmox-mcp-plus` (PyPI) | +| **Transport** | streamable-HTTP (`MCP_TRANSPORT=STREAMABLE_HTTP`) | +| **Resources** | 512 MiB mem limit | +| **Cache TTL** | 30 s | +| **Tools** | 39 (VMs, LXC, nodes, storage, tasks, firewall, HA — read-only) | +| **Credentials** | | +| `PROXMOX_HOST` | `192.168.1.20` | +| `PROXMOX_PORT` | `8006` | +| `PROXMOX_USER` | `root@pam` | +| `PROXMOX_TOKEN_NAME` | `mcp` | +| `PROXMOX_TOKEN_VALUE` | `${PROXMOX_TOKEN_SECRET}` → `.env` | +| `PROXMOX_VERIFY_SSL` | `false` | +| `PROXMOX_DEV_MODE` | `true` (required to allow self-signed cert with verify_ssl=false) | +| **Notes** | Added 2026-05-23. Token `root@pam!mcp` has `PVEAuditor` role at `/` (read-only, privsep). Self-signed TLS on PVE host requires `DEV_MODE=true`. | + +--- + ### `shepard` — Shepard product platform | | Value | @@ -402,6 +448,24 @@ Complete reference for all 27 MCP servers managed by the gateway at `https://mcp --- +### `paperless` — Paperless-NGX + +| | Value | +|---|---| +| **Kind** | static | +| **Internal upstream** | `http://paperless-mcp:8000` (own stack `/opt/stacks/ai/paperless-mcp.yml`) | +| **Image** | custom build `./mcp-servers/paperless/Dockerfile` | +| **Base** | `ghcr.io/astral-sh/uv:bookworm-slim` + Node 20 + `@nloui/paperless-mcp` | +| **Transport** | streamable-HTTP (via mcp-proxy wrapper — package is stdio-only) | +| **Health check** | every 300 s | +| **Tools** | 12 (document search, retrieve, tags, correspondents, document types) | +| **Credentials** | | +| `PAPERLESS_URL` | `http://paperless-ngx-webserver-1:8000` (`shared_backend` network) | +| `PAPERLESS_API_TOKEN` | `${PAPERLESS_API_TOKEN}` → `.env` | +| **Notes** | Added 2026-05-23. npm package moved from `paperless-mcp` to `@nloui/paperless-mcp`. paperless-ngx webserver has a chown permissions error causing restarts — MCP server starts but tool calls will fail until paperless-ngx is fixed (see separate issue). | + +--- + ### `unifi` — UniFi Network | | Value |