# MCP Servers Setup Status Tracking the setup and validation of MCP/LSP servers via Docker Compose. Last validated: 2026-02-19 ## Repository URLs Verified (2026-02-19) All 32 vendor repositories have been verified and correctly cloned. CloneVendorRepos.sh is up to date with official repository URLs. **Cloned Repositories (33 total - 32 from user list + bitwarden/mcp-server):** - reverse-engineering-assistant (cyberkaida) - penpot-mcp (penpot) - ghidra-mcp (bethington) - drawio-mcp-server (lgazo) - audiobook-mcp-server (joelmale) - context7 (upstash) - gimp-mcp (maorcc) - mcp-adapter (WordPress) - KiCAD-MCP-Server (mixelpixx) - freecad-mcp (neka-nat) - blender-mcp (ahujasid) - nextcloud-mcp-server (cbcoutinho) - docker-mcp (QuantGeekDev) - ProxmoxMCP (canvrno) - terraform-mcp-server (hashicorp) - mcp-ansible (bsahane) - snipeit-mcp (Wil-Collier) - postizz-MCP (oculairmedia) - discourse-mcp (discourse) - mcp-cloudron (serenichron) - ghost-mcp (MFYDev) - mcp-redmine (runekaagaard) - imap-mcp (non-dirty) - matomo-mcp-client (openmost) - kubernetes-mcp-server (containers) - webserial-mcp (DG1001) - docspace-mcp (ONLYOFFICE) - paperless-mcp (nloui) - docker-language-server (docker) - bash-language-server (bash-lsp) - terraform-ls (hashicorp) - marksman (artempyanykh) - mcp-server (bitwarden) - project extra **Removed:** - elasticsearch-mcp - Now bundled with Elasticsearch directly, standalone MCP no longer needed ## Validation Summary **Working MCP Servers:** - ✓ audiobook-mcp: Working (audiobook-library v1.1.0) - requires AUDIOBOOK_ROOT env var - ✓ bitwarden-mcp: Working (Bitwarden MCP Server) - 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 - ✓ 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 - ✓ kubernetes-mcp: Working (mcp-k8s Go binary) - requires kubeconfig mounted at /root/.kube/config **MCP Servers with Configuration Issues:** - ✗ imap-mcp: Requires working IMAP server (server crashes on startup if IMAP unreachable) - ✗ webserial-mcp: Requires bridge server (esp32_bridge_server.py) running at ws://host.docker.internal:3000 + browser with WebSerial access + ESP32 hardware - ✗ wordpress-mcp: Blocked - requires WordPress instance (PHP plugin, not standalone MCP server) **Host-Only MCP Servers:** - ✗ kicad-mcp: Requires KiCAD installed on host (pcbnew Python module unavailable in container) **HTTP-based REST API Servers:** - ✓ ghidra-mcp: Working (v1.9.4-headless) - 91 REST endpoints for binary analysis - NOT MCP protocol (uses HTTP REST) **Pending Build/Validation:** - discourse-mcp - matomo-mcp - mcp-ansible - mcp-redmine - nextcloud-mcp - paperless-mcp - penpot-mcp - postizz-mcp - proxmox-mcp - reverse-engineering-assistant - snipeit-mcp - terraform-mcp **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 - ✓ terraform-ls: Working (v0.38.4) - 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. Version 1.1.0. | | bitwarden-mcp | Built | Container built from bitwarden/mcp-server. MCP stdio-based, requires Bitwarden credentials. | | 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). 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. | | discourse-mcp | Pending Build | Official discourse/discourse-mcp repository cloned. Ready to build. | | 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. | | 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. | | ghidra-mcp | Built | Container built from Java source (1.2GB). Multi-stage build with Ghidra 12.0.3. REST API server (NOT MCP protocol) - 91 endpoints for binary analysis. Version 1.9.4-headless. | | gimp-mcp | Built | Container built from Python source (418MB). Uses uv package manager. MCP stdio-based, requires GIMP with server running. Version 1.10.1. | | imap-mcp | Built | Container built from Python source (317MB). 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. | | 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 | Pending Build | Official openmost/matomo-mcp-client repository cloned. Ready to build. | | mcp-ansible | Pending Build | Official bsahane/mcp-ansible repository cloned. Ready to build. | | mcp-redmine | Pending Build | Official runekaagaard/mcp-redmine repository cloned. Ready to build. | | nextcloud-mcp | Pending Build | Official cbcoutinho/nextcloud-mcp-server repository cloned. Ready to build. | | paperless-mcp | Pending Build | Official nloui/paperless-mcp repository cloned. Ready to build. | | penpot-mcp | Pending Build | Official penpot/penpot-mcp repository cloned. Ready to build. | | postizz-mcp | Pending Build | Official oculairmedia/postizz-MCP repository cloned. Ready to build. | | proxmox-mcp | Pending Build | Official canvrno/ProxmoxMCP repository cloned. Ready to build. | | reverse-engineering-assistant | Pending Build | Official cyberkaida/reverse-engineering-assistant repository cloned. Dockerfile created, pending build/test. | | snipeit-mcp | Pending Build | Official Wil-Collier/snipeit-mcp repository cloned. Ready to build. | | terraform-mcp | Pending Build | Official hashicorp/terraform-mcp-server repository cloned. Ready to build. | | webserial-mcp | Built | Container built from Python source. MCP stdio-based, requires bridge server + browser + ESP32 hardware. | | 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. | | bash-language-server | Built | Container built using prebuilt npm package (190MB). LSP configured in crush.json. Version 5.6.0. | | docker-language-server | Built | Container built from Go source (49.2MB). LSP configured in crush.json. Version 0.0.0. | | marksman | Built | Container built from prebuilt binary (144MB). LSP configured in crush.json. Version 2025-12-13. | | terraform-ls | Built | Container built from HashiCorp binary (64MB). LSP configured in crush.json. Version 0.38.4. | ## Known Issues ### imap-mcp Server crashes on startup if IMAP connection fails. Server tries to connect to IMAP during lifespan context entry. If connection fails, server raises ConnectionError and exits before responding to JSON-RPC initialize. ### webserial-mcp Requires bridge server (esp32_bridge_server.py) running on host at ws://host.docker.internal:3000 plus browser with WebSerial access and ESP32 hardware. ### kicad-mcp Host-only - requires KiCAD installed on the host machine. The pcbnew Python module cannot be pip-installed and is only available with a full KiCAD installation. ### 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. ### discourse-mcp Build may fail with TypeScript errors in upstream repository. Pending validation. ## Usage To build and start a specific server: ```bash docker compose up -d ``` To view logs: ```bash docker compose logs -f ``` To stop a server: ```bash docker compose stop ``` To rebuild a server after changes: ```bash docker compose build --no-cache ``` Note: Use lowercase service names from compose file. Container names will be prefixed with kneldevstack-aimiddleware-.