- Add crush.json with comprehensive MCP configurations for Crush AI assistant - Configure stdio-based MCPs: penpot, context7, docker, drawio, redmine - Configure HTTP-based MCP: nextcloud (port 8083 with SSE endpoint) - Fix mcp-redmine Dockerfile with correct python module entrypoint - Fix nextcloud-mcp Dockerfile to handle .dockerignore blocking observability - Fix drawio-mcp Dockerfile to use pnpm and correct build directory - Update docker-compose.yml with proper MCP server configurations - Add environment variable configuration for MCPs requiring external services - Create MCP validation script to test servers with protocol messages - Update STATUS.md with confirmed working MCP servers and their requirements - Validate: penpot, context7, docker, drawio, redmine, nextcloud (HTTP) - Document required env vars for ghost, imap, proxmox, penpot MCPs - Configure Crush to use both stdio (docker run) and HTTP endpoints
4.1 KiB
4.1 KiB
MCP Servers Setup Status
Tracking the setup and validation of MCP/LSP servers via Docker Compose.
| Repository | Status | Notes |
|---|---|---|
| KiCAD-MCP-Server | Documented | Host-only - requires KiCAD installed on host. Connects via TCP to KICAD_HOST:KICAD_PORT |
| freecad-mcp | Working | Built with uvx entrypoint. stdio-based. Requires FreeCAD app running on host and configured FREECAD_HOST, FREECAD_PORT env vars |
| blender-mcp | Working | Built with uvx entrypoint. stdio-based. Requires Blender app running on host and configured BLENDER_HOST, BLENDER_PORT env vars |
| context7 | Working | Built with pnpm. stdio-based. Crush config in crush.json |
| gimp-mcp | Working | Built with uvx entrypoint. stdio-based. Requires GIMP app running on host and configured GIMP_HOST, GIMP_PORT env vars |
| bash-language-server | Built | Container built using prebuilt npm package (190MB). Configured for Crush via docker run with -i flag for stdio. |
| docker-language-server | Built | Container built from Go source (49.2MB). Configured for Crush via docker run with -i flag for stdio. |
| marksman | Built | Container built from prebuilt binary (144MB). Configured for Crush via docker run with -i flag for stdio. |
| drawio-mcp-server | Working | Built with pnpm and proper build directory. stdio-based. Crush config in crush.json |
| matomo-mcp-client | Pending | |
| imap-mcp | Working | Built with custom Dockerfile and python module entrypoint. stdio-based. Requires IMAP_HOST, IMAP_USERNAME, IMAP_PASSWORD env vars. Crush config in crush.json |
| mcp-redmine | Working | Built with custom Dockerfile and correct entrypoint (no "main" arg). stdio-based. Requires REDMINE_URL, REDMINE_API_KEY env vars. Crush config in crush.json |
| ghost-mcp | Working | Built from source (229MB). stdio-based. Requires GHOST_URL, GHOST_API_KEY env vars. Crush config in crush.json |
| discourse-mcp | Pending | |
| mcp-cloudron | Pending | |
| postizz-MCP | Pending | |
| snipeit-mcp | Pending | |
| nextcloud-mcp-server | Working | Built with custom Dockerfile to handle .dockerignore issue. HTTP-based on port 8083. Requires NEXTCLOUD_HOST, NEXTCLOUD_USERNAME, NEXTCLOUD_PASSWORD env vars. Crush config in crush.json with SSE endpoint |
| docspace-mcp | Pending | |
| docker-mcp | Working | Built with uvx entrypoint. stdio-based. Crush config in crush.json |
| kubernetes-mcp-server | Pending | |
| ProxmoxMCP | Working | Built with uvx entrypoint. stdio-based. Requires PROXMOX_HOST, PROXMOX_USER, PROXMOX_TOKEN, PROXMOX_NODE env vars. Crush config in crush.json |
| terraform-mcp-server | Pending | |
| mcp-ansible | Pending | |
| mcp-server (Bitwarden) | Pending | |
| mcp-adapter (WordPress) | Pending | |
| audiobook-mcp-server | Pending | |
| mcp-server-elasticsearch | Pending | |
| penpot-mcp | Working | Built with proper Dockerfile and python module entrypoint. stdio-based. Requires PENPOT_URL, PENPOT_TOKEN env vars. Crush config in crush.json |
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>
Note: Use lowercase service names from compose file. Container names will be prefixed with kneldevstack-aimiddleware-.