fix(mcp): resolve proxmox-mcp fastmcp import, mark snipeit-mcp blocked

- proxmox-mcp: Fixed by patching pyproject.toml to use fastmcp from PyPI
  and updating imports from mcp.server.fastmcp to fastmcp. Container now
  builds and runs (requires PROXMOX_MCP_CONFIG env var).
- snipeit-mcp: Created stub Dockerfile that exits with error message.
  Upstream depends on private snipeit-api package never published to PyPI.
- STATUS.md: Updated to reflect 25 working MCP servers including proxmox-mcp.
- .env: Added template with placeholders for required credentials.

💘 Generated with Crush

Assisted-by: GLM-5 via Crush <crush@charm.land>
This commit is contained in:
Charles N Wyble
2026-02-20 11:08:53 -05:00
parent d80eff6df6
commit d97fb09a9d
4 changed files with 43 additions and 122 deletions

View File

@@ -48,7 +48,7 @@ All 32 vendor repositories have been verified and correctly cloned. CloneVendorR
## Validation Summary
**Working MCP Servers (24 validated with MCP handshake):**
**Working MCP Servers (25 validated with MCP handshake):**
- ✓ actual-mcp: Working (Actual Budget MCP) - requires ACTUAL_SERVER_URL, ACTUAL_PASSWORD, ACTUAL_BUDGET_SYNC_ID env vars
- ✓ 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
@@ -73,6 +73,7 @@ All 32 vendor repositories have been verified and correctly cloned. CloneVendorR
- ✓ mcp-redmine: Working (Redmine MCP server v1.25.0) - requires REDMINE_URL for actual usage
- ✓ paperless-mcp: Working (paperless-ngx v1.0.0) - requires baseUrl/token CLI args
- ✓ 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
**Runtime Connection Required (crash before MCP protocol):**
- ✗ nextcloud-mcp: Requires reachable OAuth endpoint - crashes on startup with connection refused
@@ -91,11 +92,12 @@ All 32 vendor repositories have been verified and correctly cloned. CloneVendorR
**MCP Servers with Build/Runtime Issues:**
- ✗ discourse-mcp: Build failed - TypeScript TS2345 error (upstream bug)
- ✗ reverse-engineering-assistant: Build failed - Ghidra download 404
- ✗ snipeit-mcp: Build OK, runtime ImportError - API incompatibility with PyPI snipeit package (expects SnipeIT class, library exports Assets/Licenses/Components)
- ✗ proxmox-mcp: Build OK, runtime ModuleNotFoundError - mcp.server.fastmpm module path issue
- ✗ 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)
**LSP Servers:**
- ✓ bash-language-server: Working (v5.6.0) - stdio-based, configured in crush.json
- ✓ docker-language-server: Working (v0.0.0) - stdio-based, configured in crush.json
@@ -129,9 +131,9 @@ All 32 vendor repositories have been verified and correctly cloned. CloneVendorR
| paperless-mcp | Built | Container built from Python source. MCP stdio-based, requires baseUrl and token as CLI args. MCP handshake validated without live server. Version 1.0.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. |
| proxmox-mcp | Build/Runtime Issue | Container builds but fails at runtime - ModuleNotFoundError: No module named 'mcp.server.fastmcp'. FastMCP import path changed. |
| 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 | Build/Runtime Issue | Container builds but fails at runtime - ImportError: cannot import name 'SnipeIT' from 'snipeit'. Upstream depends on private snipeit-api package with different API than public PyPI snipeit package. |
| 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. |
| terraform-mcp | Built | Container built from Go source (27MB). MCP stdio-based, validates with MCP handshake v0.4.0. Requires HCP Terraform credentials for full functionality. |
| webserial-mcp | Runtime Issue | Container builds but requires bridge server + browser + ESP32 hardware. Cannot validate MCP protocol without full setup. |
| wordpress-mcp | Blocked | Cannot build as standalone MCP server. The WordPress MCP Adapter is a PHP plugin that must be installed within a running WordPress instance. |
@@ -164,10 +166,10 @@ Uses HTTP transport (listens on port 3084) instead of stdio MCP. Not compatible
Build failed with TypeScript TS2345 error in upstream repository. Cannot fix locally.
### proxmox-mcp
Runtime ModuleNotFoundError: No module named 'mcp.server.fastmcp'. The FastMCP library changed its import paths - needs Dockerfile update to install correct mcp package version.
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.
### snipeit-mcp
Runtime ImportError: cannot import name 'SnipeIT' from 'snipeit'. The upstream snipeit-mcp depends on a private 'snipeit-api' package (referenced via local file path) that has a different API than the public PyPI 'snipeit' package. The public package exports Assets/Licenses/Components classes, not SnipeIT.
BLOCKED - The upstream snipeit-mcp depends on a private 'snipeit-api' package (referenced via local file path) that was never published to PyPI. The public PyPI 'snipeit' package (v1.1, archived 2022) has a completely different API. Cannot be fixed without upstream author publishing the private package or rewriting to use the public package API. Created stub Dockerfile that exits with informative error message.
### penpot-mcp
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.