Investigation revealed that 9 additional ahujasid MCP repositories are empty (contain only .git folder, no actual code): - kubernetes-mcp-server - ProxmoxMCP - terraform-mcp-server - nextcloud-mcp-server - snipeit-mcp - mcp-redmine - mcp-ansible - penpot-mcp - postizz-MCP These cannot be used to build MCP containers. Added detailed entries to: - Missing/Empty Vendor Repositories section - Detailed Status table - Known Issues section with alternative for kubernetes-mcp (silenceper/mcp-k8s) This brings the total blocked MCPs to 11: - 1 missing repo (matomo-mcp - 404) - 10 empty repos (discourse + 9 documented here) Related: ADR-007 Sequential MCP validation
10 KiB
MCP Servers Setup Status
Tracking the setup and validation of MCP/LSP servers via Docker Compose.
Last validated: 2026-02-17
Validation Summary
Working MCP Servers:
- ✓ audiobook-mcp: Working (audiobook-library v1.1.0) - requires AUDIOBOOK_ROOT env var
- ✓ bitwarden-mcp: Working (Bitwarden MCP Server v2026.1.0) - requires Bitwarden credentials
- ✓ blender-mcp: Working (BlenderMCP v1.25.0) - requires Blender with addon running
- ✓ cloudron-mcp: Working (cloudron-mcp v0.1.0) - requires CLOUDRON_URL env var
- ✓ context7-mcp: Working (Context7 v2.1.0) - stdio-based, requires Upstash Redis
- ✓ docker-mcp: Working (docker-mcp v0.1.0) - requires Docker socket mount
- ✓ docspace-mcp: Working (@onlyoffice/docspace-mcp v3.1.0) - requires DOCSPACE_HOST and DOCSPACE_TOKEN env vars
- ✓ drawio-mcp: Working (drawio-mcp-server v1.4.0) - requires DRAWIO_URL env var
- ✓ elasticsearch-mcp: Working (rmcp v0.2.1, deprecated) - requires ES_URL env var
- ✓ freecad-mcp: Working (FreeCADMCP v1.25.0) - requires FreeCAD with addon running
- ✓ ghost-mcp: Working (ghost-mcp-ts v1.0.0) - requires Ghost CMS credentials
- ✓ gimp-mcp: Working (GimpMCP v1.10.1) - requires GIMP with server running
- ✗ imap-mcp: Not working - requires working IMAP server (server crashes on startup if IMAP unreachable)
MCP Servers with Configuration Issues:
- ✗ imap-mcp: Not working - requires working IMAP server (server crashes on startup if IMAP unreachable)
Host-Only MCP Servers:
- ✗ kicad-mcp: Requires KiCAD installed on host (pcbnew Python module unavailable in container)
HTTP-based MCP Servers:
- None
Pending Build:
- All other MCP servers pending build
Recently Built:
- audiobook-mcp: Built (v1.1.0) - stdio-based, requires AUDIOBOOK_ROOT
- bitwarden-mcp: Built (v2026.1.0) - stdio-based, requires Bitwarden credentials
- blender-mcp: Built (v1.25.0) - stdio-based, Python-based, requires Blender with addon
- cloudron-mcp: Built (v0.1.0) - stdio-based, requires CLOUDRON_URL
- context7-mcp: Built (v2.1.0) - stdio-based, TypeScript-based, requires Upstash Redis
- docker-mcp: Built (v0.1.0) - stdio-based, Python-based, requires Docker socket
- drawio-mcp: Built (v1.4.0) - stdio-based, TypeScript/pnpm, requires DRAWIO_URL
- docspace-mcp: Built (v3.1.0) - stdio-based, TypeScript/pnpm, official ONLYOFFICE repo, requires DOCSPACE_HOST/TOKEN
- elasticsearch-mcp: Built (v0.2.1) - stdio-based, Rust-based, requires ES_URL
- bash-language-server: Built (v5.6.0) - configured in crush.json via wrapper script
- docker-language-server: Built (v0.0.0) - configured in crush.json via wrapper script
- marksman: Built (2025-12-13) - configured in crush.json via wrapper script
Builds in Progress:
- None
Build Failures:
- None
Missing Vendor Repositories:
- ✗ matomo-mcp: Cannot build - vendor repo
https://github.com/ahujasid/matomo-mcp-client.gitdoes not exist (404) - ✗ discourse-mcp: Cannot build - vendor repo
https://github.com/ahujasid/discourse-mcp.gitexists but is empty (no commits)
Empty Vendor Repositories (ahujasid): All the following ahujasid repositories exist but contain no code (empty repos with only .git folder):
- ✗ kubernetes-mcp-server: Empty repo -
https://github.com/ahujasid/kubernetes-mcp-server.git - ✗ proxmox-mcp: Empty repo -
https://github.com/ahujasid/ProxmoxMCP.git - ✗ terraform-mcp: Empty repo -
https://github.com/ahujasid/terraform-mcp-server.git - ✗ nextcloud-mcp: Empty repo -
https://github.com/ahujasid/nextcloud-mcp-server.git - ✗ snipeit-mcp: Empty repo -
https://github.com/ahujasid/snipeit-mcp.git - ✗ mcp-redmine: Empty repo -
https://github.com/ahujasid/mcp-redmine.git - ✗ mcp-ansible: Empty repo -
https://github.com/ahujasid/mcp-ansible.git - ✗ penpot-mcp: Empty repo -
https://github.com/ahujasid/penpot-mcp.git - ✗ postizz-mcp: Empty repo -
https://github.com/ahujasid/postizz-MCP.git
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
- ✓ marksman: Working (2025-12-13) - stdio-based, configured in crush.json
Detailed Status
| Repository | Status | Notes |
|---|---|---|
| audiobook-mcp | Built | Container built from source (361MB). MCP stdio-based, requires AUDIOBOOK_ROOT env var. Fixed Dockerfile to use npm install instead of npm ci. Version 1.1.0. |
| bitwarden-mcp | Built | Container built from source (377MB). Multi-stage distroless build. MCP stdio-based, requires Bitwarden credentials. Version 2026.1.0. |
| blender-mcp | Built | Container built from source (321MB). Python-based with uv package manager. MCP stdio-based, requires Blender running with addon. Version 1.25.0. |
| cloudron-mcp | Built | Container built from source (374MB). Fixed Dockerfile CMD to use dist/server.js. MCP stdio-based, requires CLOUDRON_URL env var. Version 0.1.0. |
| context7-mcp | Built | Container built from source (224MB). Multi-stage Node.js build with tsc. MCP stdio-based, requires UPSTASH_REDIS_REST_URL and TOKEN env vars. Version 2.1.0. |
| docker-mcp | Built | Container built from Python source (188MB). Uses uv package manager. MCP stdio-based, requires Docker socket mount (/var/run/docker.sock). Version 0.1.0. |
| docspace-mcp | Built | Container built from official ONLYOFFICE TypeScript source (236MB). Uses pnpm package manager. MCP stdio-based, requires DOCSPACE_HOST and DOCSPACE_TOKEN env vars. Version 3.1.0. |
| drawio-mcp | Built | Container built from TypeScript source (302MB). Uses pnpm package manager. MCP stdio-based, requires DRAWIO_URL env var. Version 1.4.0. |
| elasticsearch-mcp | Built | Container built from Rust source (22MB). Fixed Dockerfile to pass "stdio" subcommand. MCP stdio-based, requires ES_URL env var. NOTE: Server is deprecated. Version 0.2.1. |
| freecad-mcp | Built | Container built from Python source (317MB). Uses uv package manager. MCP stdio-based, requires FreeCAD running with addon. Version 1.25.0. |
| ghost-mcp | Built | Container built from TypeScript source (284MB). npm build with tsc. MCP stdio-based, requires Ghost CMS URL and API key. Version 1.0.0. |
| gimp-mcp | Built | Container built from Python source (418MB). Uses uv package manager. Fixed Dockerfile to use python -m instead of uvx. MCP stdio-based, requires GIMP with server running. Version 1.10.1. |
| imap-mcp | Built | Container built from Python source (317MB). Uses uv package manager. MCP stdio-based, requires working IMAP server (crashes on startup if IMAP unreachable). Version 0.1.0. |
| 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. Cannot be pip-installed. Use on host machine only. |
| matomo-mcp | Blocked | Cannot build - vendor repository does not exist. CloneVendorRepos.sh references https://github.com/ahujasid/matomo-mcp-client.git which returns 404. |
| discourse-mcp | Blocked | Cannot build - vendor repository exists but is empty. CloneVendorRepos.sh references https://github.com/ahujasid/discourse-mcp.git which has no commits. |
| kubernetes-mcp | Blocked | Cannot build - ahujasid/kubernetes-mcp-server repo is empty. Alternative: silenceper/mcp-k8s has content and Dockerfile. |
| proxmox-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/ProxmoxMCP.git is empty (no code). |
| terraform-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/terraform-mcp-server.git is empty (no code). |
| nextcloud-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/nextcloud-mcp-server.git is empty (no code). |
| snipeit-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/snipeit-mcp.git is empty (no code). |
| mcp-redmine | Blocked | Cannot build - vendor repository https://github.com/ahujasid/mcp-redmine.git is empty (no code). |
| mcp-ansible | Blocked | Cannot build - vendor repository https://github.com/ahujasid/mcp-ansible.git is empty (no code). |
| penpot-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/penpot-mcp.git is empty (no code). |
| postizz-mcp | Blocked | Cannot build - vendor repository https://github.com/ahujasid/postizz-MCP.git is empty (no code). |
| bash-language-server | Built | Container built using prebuilt npm package (190MB). LSP configured in crush.json via wrapper script. Version 5.6.0. |
| docker-language-server | Built | Container built from Go source (49.2MB). LSP configured in crush.json via wrapper script. Version 0.0.0. |
| marksman | Built | Container built from prebuilt binary (144MB). LSP configured in crush.json via wrapper script. Version 2025-12-13. |
Known Issues
Empty ahujasid Repositories (2026-02-17)
Investigation revealed that most ahujasid vendor repositories are empty (contain only .git folder, no code):
- kubernetes-mcp-server, ProxmoxMCP, terraform-mcp-server, nextcloud-mcp-server, snipeit-mcp, mcp-redmine, mcp-ansible, penpot-mcp, postizz-MCP
- discourse-mcp (previously documented) - also empty
- matomo-mcp-client - repo doesn't exist (404)
These repos cannot be used to build MCP containers. Alternative sources or official repos should be identified.
Alternative Repositories Available
- kubernetes-mcp: Use silenceper/mcp-k8s instead (has content and Dockerfile)
Previously Documented Issues
- matomo-mcp: Vendor repository does not exist. The CloneVendorRepos.sh references
https://github.com/ahujasid/matomo-mcp-client.gitwhich returns 404. Unable to build until a valid source is identified. - discourse-mcp: Vendor repository exists but is empty. The CloneVendorRepos.sh references
https://github.com/ahujasid/discourse-mcp.gitwhich has no commits. Unable to build until repository has content.
Usage
To build and start a specific server:
docker compose up -d <service-name>
To view logs:
docker compose logs -f <service-name>
To stop a server:
docker compose stop <service-name>
To rebuild a server after changes:
docker compose build --no-cache <service-name>
To test MCP server with Crush:
# Stdio-based servers are run on-demand by Crush
# Configuration is in crush.json
# Crush automatically handles docker run -i --rm
Note: Use lowercase service names from compose file. Container names will be prefixed with kneldevstack-aimiddleware-.