- Fixed incorrect path /KNEL/KNEL-AIMiddleware/ to /KNEL-AIMiddleware/ - Added discourse and penpot MCP configurations to crush.json - Tracked 10 new wrapper scripts for pending MCP servers - Added paperless-mcp and postizz-mcp Dockerfiles - Updated JOURNAL.md with today's work entry 💘 Generated with Crush Assisted-by: GLM-5 via Crush <crush@charm.land>
174 lines
9.6 KiB
Markdown
174 lines
9.6 KiB
Markdown
# 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 <service-name>
|
|
```
|
|
|
|
To view logs:
|
|
```bash
|
|
docker compose logs -f <service-name>
|
|
```
|
|
|
|
To stop a server:
|
|
```bash
|
|
docker compose stop <service-name>
|
|
```
|
|
|
|
To rebuild a server after changes:
|
|
```bash
|
|
docker compose build --no-cache <service-name>
|
|
```
|
|
|
|
Note: Use lowercase service names from compose file. Container names will be prefixed with kneldevstack-aimiddleware-.
|