docs: update production status to 79% (33/42 servers)

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 <crush@charm.land>
This commit is contained in:
Charles N Wyble
2026-02-27 11:22:29 -05:00
parent e886950c40
commit 616085e0cf
2 changed files with 22 additions and 25 deletions

View File

@@ -8,13 +8,13 @@ This document lists all servers that are validated and ready for production depl
| Category | Production Ready | Not Ready | | Category | Production Ready | Not Ready |
|----------|-----------------|-----------| |----------|-----------------|-----------|
| MCP Servers | 27 | 11 | | MCP Servers | 29 | 9 |
| LSP Servers | 4 | 0 | | 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. 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 | | 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 | | 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 | | 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 | | 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 | | 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 | | 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) ### 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 | | 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 | | Service | Container | Version | Description | Config Required |
|---------|-----------|---------|-------------|-----------------| |---------|-----------|---------|-------------|-----------------|
| ghost-mcp | `kneldevstack-aimiddleware-ghost-mcp` | 1.0.0 | CMS post, member management | Ghost CMS credentials | | 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 | | 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 | | 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) ### 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. 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 | | Service | Issue | Resolution |
|---------|-------|------------| |---------|-------|------------|
| discourse-mcp | TypeScript TS2345 error in upstream | Wait for upstream fix | | discourse-mcp | TypeScript TS2345 error in upstream | Wait for upstream fix |
| reverse-engineering-assistant | Ghidra download URL 404 | Wait for upstream fix | | reverse-engineering-assistant | Ghidra download URL 404 | Wait for upstream fix |
| snipeit-mcp | Depends on private PyPI package | Blocked indefinitely | | 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 | | 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 | | penpot-mcp | Uses HTTP/WebSocket transport | Endpoints: :4401/mcp, :4401/sse, :4402 |
### Runtime Dependencies (crash without backend - 3 servers) ### 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` | | gitea-mcp | `GITEA_URL`, `GITEA_TOKEN` |
| grafana-mcp | `GRAFANA_URL`, `GRAFANA_TOKEN` | | grafana-mcp | `GRAFANA_URL`, `GRAFANA_TOKEN` |
| ha-mcp | `HOMEASSISTANT_URL`, `HOMEASSISTANT_TOKEN` | | ha-mcp | `HOMEASSISTANT_URL`, `HOMEASSISTANT_TOKEN` |
| postizz-mcp | `POSTIZ_API_KEY` |
| ansible-mcp | `ANSIBLE_VAULT_PASSWORD_FILE` |
--- ---

View File

@@ -8,9 +8,9 @@ Last validated: 2026-02-27
| Category | Production Ready | Total | Percentage | | Category | Production Ready | Total | Percentage |
|----------|-----------------|-------|------------| |----------|-----------------|-------|------------|
| MCP Servers | 27 | 38 | 71% | | MCP Servers | 29 | 38 | 76% |
| LSP Servers | 4 | 4 | 100% | | 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.** **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 ## 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 - ✓ 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 - ✓ 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 - ✓ beszel-mcp: Working (beszel-mcp) - requires BESZEL_URL, BESZEL_USERNAME, BESZEL_PASSWORD env vars
- ✓ bitwarden-mcp: Working (Bitwarden MCP Server) - requires Bitwarden credentials - ✓ 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) - ✓ 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 - ✓ 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 - ✓ 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 - ✓ 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 - ✓ 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:** **Host-Only MCP Servers:**
- ✗ kicad-mcp: Requires KiCAD installed on host (pcbnew Python module unavailable in container) - ✗ 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:** **HTTP-based REST API Servers:**
- ✓ ghidra-mcp: Working (v1.9.4-headless) - 91 REST endpoints for binary analysis - NOT MCP protocol (uses HTTP REST) - ✓ 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:** **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 - ✗ reverse-engineering-assistant: Build failed - Ghidra download 404
- ✗ penpot-mcp: Build OK, transport mismatch - uses HTTP/WebSocket transport instead of stdio - ✗ 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:** **Blocked MCP Servers:**
- ✗ snipeit-mcp: Blocked - upstream depends on private 'snipeit-api' package (never published to PyPI) - ✗ 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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. | | 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 ### 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. 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 ### 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 ### 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. 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. 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 ### 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 ### reverse-engineering-assistant
Build failed - Ghidra download URL returns 404. The version number in the Dockerfile download URL is incorrect. Build failed - Ghidra download URL returns 404. The version number in the Dockerfile download URL is incorrect.