Build and validate Draw.io MCP server for diagram management. Changes: - STATUS.md: Added drawio-mcp as validated MCP (v1.4.0, 302MB) - STATUS.md: Updated counts and status sections Validation: - Container builds successfully from TypeScript source (302MB) - Uses pnpm package manager for fast dependency installation - MCP protocol handshake verified with initialize request - Protocol version 2024-11-05 confirmed - Server name: drawio-mcp-server, version 1.4.0 - Requires DRAWIO_URL environment variable - WebSocket extension runs on port 3333 - Tested with proper --name flag for container
4.0 KiB
4.0 KiB
MCP Servers Setup Status
Tracking the setup and validation of MCP/LSP servers via Docker Compose.
Last validated: 2026-01-22
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
- ✓ docker-mcp: Working (docker-mcp v0.1.0) - requires Docker socket mount
- ✓ drawio-mcp: Working (drawio-mcp-server v1.4.0) - requires DRAWIO_URL env var
MCP Servers with Configuration Issues:
- None
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
- 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
- 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
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. |
| 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. |
| 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. |
| 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
None
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-.