Files
KNEL-AIMiddleware/STATUS.md
Charles N Wyble 0972556b38 docs: add terraform-ls and wordpress-mcp status to STATUS.md
- Add terraform-ls to detailed status table (Built, v0.38.4)
- Document wordpress-mcp as Blocked (requires WordPress instance)
- Add Known Issues section for WordPress MCP Adapter architecture
- Update MCP Servers with Configuration Issues section

🧡 Generated with Crush

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-02-17 11:38:57 -05:00

12 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
  • ✓ kubernetes-mcp: Working (mcp-k8s Go binary) - requires kubeconfig mounted at /root/.kube/config
  • ✗ imap-mcp: Not working - requires working IMAP server (server crashes on startup if IMAP unreachable)
  • ✗ webserial-mcp: Not working - requires bridge server running at ws://host.docker.internal:3000 + browser + ESP32 hardware

MCP Servers with Configuration Issues:

  • ✗ imap-mcp: Not working - requires working IMAP server (server crashes on startup if IMAP unreachable)
  • ✗ webserial-mcp: Not working - 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 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
  • ✓ kubernetes-mcp: Built (silenceper/mcp-k8s) - stdio-based, requires kubeconfig mount
  • ✓ webserial-mcp: Built (Python/Flask) - stdio-based, requires bridge server + browser + ESP32 hardware

Builds in Progress:

  • None

Build Failures:

  • None

Missing Vendor Repositories:

  • ✗ matomo-mcp: Cannot build - vendor repo https://github.com/ahujasid/matomo-mcp-client.git does not exist (404)
  • ✗ discourse-mcp: Cannot build - vendor repo https://github.com/ahujasid/discourse-mcp.git exists 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
  • ✓ 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. 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 Built Container built from Go source (67MB). Uses silenceper/mcp-k8s alternative repo. Multi-stage build with golang:1.24.1 and alpine:3.18.4. MCP stdio-based, requires kubeconfig mounted at /root/.kube/config. Supports K8s resources and Helm operations.
webserial-mcp Built Container built from Python source. Uses Flask-SocketIO for WebSocket bridge. MCP stdio-based, requires esp32_bridge_server.py running on host at ws://host.docker.internal:3000 + browser with WebSerial access + ESP32 hardware. Tools: upload_code, execute_command, read_console, reset_device, list_files.
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.
terraform-ls Built Container built from HashiCorp binary (64MB). LSP configured in crush.json via wrapper script. Version 0.38.4.
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. Requires WordPress + Abilities API plugin + MCP Adapter plugin. Uses WP-CLI for STDIO transport. Not suitable for containerized standalone deployment.

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)

WordPress MCP Configuration (2026-02-17)

The WordPress MCP Adapter (@wordpress/mcp-adapter) is NOT a standalone MCP server:

  • It is a PHP plugin that must be installed within a running WordPress instance
  • Requires the WordPress Abilities API plugin (wordpress/abilities-api)
  • Uses WP-CLI for STDIO transport: wp mcp-adapter serve --user=admin --server=mcp-adapter-default-server
  • HTTP transport available via /wp-json/mcp/mcp-adapter-default-server
  • The docker-compose.yml entry for wordpress-mcp needs to be reconfigured or removed
  • For containerized use, would need a full WordPress + plugins image, not just the MCP adapter

Previously Documented Issues

  • matomo-mcp: Vendor repository does not exist. The CloneVendorRepos.sh references https://github.com/ahujasid/matomo-mcp-client.git which 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.git which 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-.