From 616085e0cf269d177e5f061ef91857d3d3b324dc Mon Sep 17 00:00:00 2001 From: Charles N Wyble Date: Fri, 27 Feb 2026 11:22:29 -0500 Subject: [PATCH] docs: update production status to 79% (33/42 servers) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated STATUS.md and PRODUCTION-READY.md: - MCP servers: 29/38 (76%) production ready - LSP servers: 4/4 (100%) production ready - Total: 33/42 (79%) Fixed servers moved to working: - mcp-ansible: local source entrypoint fix - postizz-mcp: stdio transport default Blocked servers documented: - discourse-mcp: upstream SDK incompatibility 💘 Generated with Crush Assisted-by: GLM-5 via Crush --- PRODUCTION-READY.md | 22 ++++++++++++---------- STATUS.md | 25 ++++++++++--------------- 2 files changed, 22 insertions(+), 25 deletions(-) diff --git a/PRODUCTION-READY.md b/PRODUCTION-READY.md index fa3f6ea..a9f3f21 100644 --- a/PRODUCTION-READY.md +++ b/PRODUCTION-READY.md @@ -8,13 +8,13 @@ This document lists all servers that are validated and ready for production depl | Category | Production Ready | Not Ready | |----------|-----------------|-----------| -| MCP Servers | 27 | 11 | +| MCP Servers | 29 | 9 | | LSP Servers | 4 | 0 | -| **Total** | **31** | **11** | +| **Total** | **33** | **9** | --- -## Production-Ready MCP Servers (27) +## Production-Ready MCP Servers (29) These servers have been validated with MCP protocol handshake and are ready for deployment. @@ -26,7 +26,7 @@ These servers have been validated with MCP protocol handshake and are ready for | freecad-mcp | `kneldevstack-aimiddleware-freecad-mcp` | 1.25.0 | CAD modeling, Python execution | FreeCAD with addon running | | gimp-mcp | `kneldevstack-aimiddleware-gimp-mcp` | 1.10.1 | Image editing with GIMP 3.0 | GIMP with server running | -### Hosting & Infrastructure (6 servers) +### Hosting & Infrastructure (7 servers) | Service | Container | Version | Description | Config Required | |---------|-----------|---------|-------------|-----------------| @@ -36,6 +36,7 @@ These servers have been validated with MCP protocol handshake and are ready for | terraform-mcp | `kneldevstack-aimiddleware-terraform-mcp` | 0.4.0 | IaC automation, HCP Terraform | HCP credentials | | cloudron-mcp | `kneldevstack-aimiddleware-cloudron-mcp` | 0.1.0 | Self-hosted app management | CLOUDRON_URL | | beszel-mcp | `kneldevstack-aimiddleware-beszel-mcp` | - | Server monitoring | BESZEL_URL, credentials | +| ansible-mcp | `kneldevstack-aimiddleware-mcp-ansible` | 1.26.0 | Ansible automation, playbook execution | ANSIBLE_VAULT_PASSWORD_FILE | ### Development Tools (1 server) @@ -43,13 +44,14 @@ These servers have been validated with MCP protocol handshake and are ready for |---------|-----------|---------|-------------|-----------------| | context7-mcp | `kneldevstack-aimiddleware-context7-mcp` | 2.1.0 | Documentation retrieval | Upstash Redis | -### Content Management (3 servers) +### Content Management (4 servers) | Service | Container | Version | Description | Config Required | |---------|-----------|---------|-------------|-----------------| | ghost-mcp | `kneldevstack-aimiddleware-ghost-mcp` | 1.0.0 | CMS post, member management | Ghost CMS credentials | | docspace-mcp | `kneldevstack-aimiddleware-docspace-mcp` | 3.1.0 | Room, file, collaboration | DOCSPACE_HOST, TOKEN | | drawio-mcp | `kneldevstack-aimiddleware-drawio-mcp` | 1.4.0 | Draw.io diagram management | DRAWIO_URL | +| postizz-mcp | `kneldevstack-aimiddleware-postizz-mcp` | 1.0.0 | Social media scheduling | POSTIZ_API_KEY | ### Analytics & Security (2 servers) @@ -99,24 +101,22 @@ All LSP servers are production-ready and configured in `crush.json`. --- -## NOT Production-Ready (11 servers) +## NOT Production-Ready (9 servers) These servers have issues that prevent production deployment. -### Upstream Bugs (cannot fix locally - 4 servers) +### Upstream Bugs (cannot fix locally - 3 servers) | Service | Issue | Resolution | |---------|-------|------------| | discourse-mcp | TypeScript TS2345 error in upstream | Wait for upstream fix | | reverse-engineering-assistant | Ghidra download URL 404 | Wait for upstream fix | | snipeit-mcp | Depends on private PyPI package | Blocked indefinitely | -| mcp-ansible | Package not published to PyPI | Wait for upstream publish | -### Transport Mismatch (not stdio - 2 servers) +### Transport Mismatch (not stdio - 1 server) | Service | Issue | Notes | |---------|-------|-------| -| postizz-mcp | Uses HTTP transport (port 3084) | Requires HTTP MCP client | | penpot-mcp | Uses HTTP/WebSocket transport | Endpoints: :4401/mcp, :4401/sse, :4402 | ### Runtime Dependencies (crash without backend - 3 servers) @@ -187,6 +187,8 @@ echo '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{}},"id":1 | gitea-mcp | `GITEA_URL`, `GITEA_TOKEN` | | grafana-mcp | `GRAFANA_URL`, `GRAFANA_TOKEN` | | ha-mcp | `HOMEASSISTANT_URL`, `HOMEASSISTANT_TOKEN` | +| postizz-mcp | `POSTIZ_API_KEY` | +| ansible-mcp | `ANSIBLE_VAULT_PASSWORD_FILE` | --- diff --git a/STATUS.md b/STATUS.md index 616c8e6..76130c6 100644 --- a/STATUS.md +++ b/STATUS.md @@ -8,9 +8,9 @@ Last validated: 2026-02-27 | Category | Production Ready | Total | Percentage | |----------|-----------------|-------|------------| -| MCP Servers | 27 | 38 | 71% | +| MCP Servers | 29 | 38 | 76% | | LSP Servers | 4 | 4 | 100% | -| **Total** | **31** | **42** | **74%** | +| **Total** | **33** | **42** | **79%** | **See [PRODUCTION-READY.md](PRODUCTION-READY.md) for the complete list of deployable servers.** @@ -58,8 +58,9 @@ All 32 vendor repositories have been verified and correctly cloned. CloneVendorR ## Validation Summary -**Working MCP Servers (27 validated with MCP handshake):** +**Working MCP Servers (29 validated with MCP handshake):** - ✓ actual-mcp: Working (Actual Budget MCP) - requires ACTUAL_SERVER_URL, ACTUAL_PASSWORD, ACTUAL_BUDGET_SYNC_ID env vars +- ✓ ansible-mcp: Working (ansible-mcp v1.26.0) - requires ANSIBLE_VAULT_PASSWORD_FILE env var - ✓ audiobook-mcp: Working (audiobook-library v1.1.0) - requires AUDIOBOOK_ROOT env var - ✓ beszel-mcp: Working (beszel-mcp) - requires BESZEL_URL, BESZEL_USERNAME, BESZEL_PASSWORD env vars - ✓ bitwarden-mcp: Working (Bitwarden MCP Server) - requires Bitwarden credentials @@ -83,6 +84,7 @@ All 32 vendor repositories have been verified and correctly cloned. CloneVendorR - ✓ matomo-mcp: Working (matomo-mcp-client v1.0.0) - connects to openmost.io hosted service (59 tools, 31 prompts) - ✓ mcp-redmine: Working (Redmine MCP server v1.25.0) - requires REDMINE_URL for actual usage - ✓ paperless-mcp: Working (paperless-ngx v1.0.0) - requires PAPERLESS_URL and PAPERLESS_TOKEN CLI args +- ✓ postizz-mcp: Working (postiz-server v1.0.0) - requires POSTIZ_API_KEY env var (fixed: stdio transport) - ✓ superset-mcp: Working (superset-mcp) - requires SUPERSET_URL, SUPERSET_USERNAME, SUPERSET_PASSWORD env vars - ✓ proxmox-mcp: Working (proxmox_mcp) - requires PROXMOX_MCP_CONFIG env var pointing to config file @@ -94,17 +96,13 @@ All 32 vendor repositories have been verified and correctly cloned. CloneVendorR **Host-Only MCP Servers:** - ✗ kicad-mcp: Requires KiCAD installed on host (pcbnew Python module unavailable in container) -**Transport Mismatch (not stdio MCP):** -- ✗ postizz-mcp: Uses HTTP transport (port 3084), not stdio - incompatible with standard MCP clients - **HTTP-based REST API Servers:** - ✓ ghidra-mcp: Working (v1.9.4-headless) - 91 REST endpoints for binary analysis - NOT MCP protocol (uses HTTP REST) **MCP Servers with Build/Runtime Issues:** -- ✗ discourse-mcp: Build failed - TypeScript TS2345 error (upstream bug) +- ✗ discourse-mcp: BLOCKED - TypeScript TS2345 error (upstream SDK incompatibility, cannot fix) - ✗ reverse-engineering-assistant: Build failed - Ghidra download 404 - ✗ penpot-mcp: Build OK, transport mismatch - uses HTTP/WebSocket transport instead of stdio -- ✗ mcp-ansible: Build OK, runtime error - package not found in PyPI registry **Blocked MCP Servers:** - ✗ snipeit-mcp: Blocked - upstream depends on private 'snipeit-api' package (never published to PyPI) @@ -136,13 +134,13 @@ All 32 vendor repositories have been verified and correctly cloned. CloneVendorR | kicad-mcp | Host-Only | Container builds successfully (463MB) but cannot run containerized. Requires KiCAD's pcbnew Python module which is only available with a KiCAD installation on the host. | | kubernetes-mcp | Built | Container built from Go source (67MB). MCP stdio-based, requires kubeconfig mounted at /root/.kube/config. Supports K8s resources and Helm operations. | | matomo-mcp | Built | Container built from Python source. MCP stdio-based. Connects to openmost.io hosted Matomo service (59 tools, 31 prompts). MCP handshake validated. | -| mcp-ansible | Build/Runtime Issue | Container builds but fails at runtime - package not found in PyPI registry. Upstream issue. | +| mcp-ansible | Built | Container built from Python source. MCP stdio-based. Fixed to run local source instead of uvx. Version 1.26.0. | | mcp-redmine | Built | Container built from Python source. MCP stdio-based, validated with MCP handshake. Requires REDMINE_URL for actual API operations. Version 1.25.0. | | nextcloud-mcp | Runtime Issue | Container builds but crashes on startup - requires reachable OAuth endpoint. Cannot validate MCP protocol without live Nextcloud instance. | | paperless-mcp | Built | Container built from Python source. MCP stdio-based, requires PAPERLESS_URL and PAPERLESS_TOKEN as CLI args. MCP handshake validated without live server. Version 1.0.0. | | firefly-iii-mcp | Built | Container built from npm package @firefly-iii-mcp/local. MCP stdio-based, requires FIREFLY_III_BASE_URL and FIREFLY_III_PAT env vars. MCP handshake validated without live server. Version 1.3.0. | | penpot-mcp | Build/Runtime Issue | Container built from TypeScript monorepo source. Uses HTTP/WebSocket transport (not stdio). Multiple endpoints: HTTP at :4401/mcp, SSE at :4401/sse, WebSocket at :4402. | -| postizz-mcp | Transport Issue | Container built from TypeScript source. Uses HTTP transport (port 3084), not stdio. Not compatible with standard MCP clients. | +| postizz-mcp | Built | Container built from TypeScript source. MCP stdio-based. Fixed to use stdio transport instead of HTTP. Version 1.0.0. | | proxmox-mcp | Built | Container built from Python source (331MB). MCP stdio-based, requires PROXMOX_MCP_CONFIG env var pointing to config file. Fixed by patching fastmcp imports. | | reverse-engineering-assistant | Build Failed | Ghidra download URL returns 404. Version mismatch in download URL. | | snipeit-mcp | Blocked | Container builds as stub that exits with error message. Upstream depends on private 'snipeit-api' package (never published to PyPI). Cannot be fixed without upstream changes. | @@ -171,11 +169,8 @@ Host-only - requires KiCAD installed on the host machine. The pcbnew Python modu ### wordpress-mcp The WordPress MCP Adapter is a PHP plugin that must be installed within a running WordPress instance. It requires WordPress + Abilities API plugin + MCP Adapter plugin. Not suitable for containerized standalone deployment. -### postizz-mcp -Uses HTTP transport (listens on port 3084) instead of stdio MCP. Not compatible with standard MCP clients that expect stdio communication. - ### discourse-mcp -Build failed with TypeScript TS2345 error in upstream repository. Cannot fix locally. +BLOCKED - Build failed with TypeScript TS2345 error in upstream repository (src/tools/remote/tool_exec_api.ts:58). The code is incompatible with MCP SDK types. Cannot fix locally without upstream changes. ### proxmox-mcp Fixed by patching pyproject.toml to use 'fastmcp' from PyPI instead of 'mcp @ git+...' and updating imports from 'mcp.server.fastmcp' to 'fastmcp'. Container now builds and runs - requires PROXMOX_MCP_CONFIG env var pointing to a valid config file. @@ -187,7 +182,7 @@ BLOCKED - The upstream snipeit-mcp depends on a private 'snipeit-api' package (r Uses HTTP/WebSocket transport instead of stdio MCP. Not compatible with standard MCP client connections. Multiple endpoints: HTTP at :4401/mcp, SSE at :4401/sse, WebSocket at :4402. ### mcp-ansible -Package not found in PyPI registry. Upstream issue - the package may not be published. +FIXED - Changed Dockerfile entrypoint to run local source (`python src/ansible_mcp/server.py`) instead of uvx. The package is not published to PyPI, so local installation is required. MCP handshake validated with version 1.26.0. ### reverse-engineering-assistant Build failed - Ghidra download URL returns 404. The version number in the Dockerfile download URL is incorrect.