docs: add production readiness documentation
- Created PRODUCTION-READY.md with 31 deployable servers - Updated README.md with production status badges and markers - ✅ Production Ready (no config needed) - ⚠️ Config Required (works with backend) - ❌ Not Production Ready (blocked) - Updated STATUS.md with production summary table - Added legend for status indicators Production status: 31/42 servers (74%) ready for deployment 💘 Generated with Crush Assisted-by: GLM-5 via Crush <crush@charm.land>
This commit is contained in:
204
PRODUCTION-READY.md
Normal file
204
PRODUCTION-READY.md
Normal file
@@ -0,0 +1,204 @@
|
||||
# Production-Ready MCP/LSP Servers
|
||||
|
||||
This document lists all servers that are validated and ready for production deployment.
|
||||
|
||||
**Last Updated**: 2026-02-27
|
||||
|
||||
## Quick Summary
|
||||
|
||||
| Category | Production Ready | Not Ready |
|
||||
|----------|-----------------|-----------|
|
||||
| MCP Servers | 27 | 11 |
|
||||
| LSP Servers | 4 | 0 |
|
||||
| **Total** | **31** | **11** |
|
||||
|
||||
---
|
||||
|
||||
## Production-Ready MCP Servers (27)
|
||||
|
||||
These servers have been validated with MCP protocol handshake and are ready for deployment.
|
||||
|
||||
### Design & Engineering (3 servers)
|
||||
|
||||
| Service | Container | Version | Description | Config Required |
|
||||
|---------|-----------|---------|-------------|-----------------|
|
||||
| blender-mcp | `kneldevstack-aimiddleware-blender-mcp` | 1.25.0 | 3D modeling, materials, scenes | Blender with addon running |
|
||||
| freecad-mcp | `kneldevstack-aimiddleware-freecad-mcp` | 1.25.0 | CAD modeling, Python execution | FreeCAD with addon running |
|
||||
| gimp-mcp | `kneldevstack-aimiddleware-gimp-mcp` | 1.10.1 | Image editing with GIMP 3.0 | GIMP with server running |
|
||||
|
||||
### Hosting & Infrastructure (6 servers)
|
||||
|
||||
| Service | Container | Version | Description | Config Required |
|
||||
|---------|-----------|---------|-------------|-----------------|
|
||||
| kubernetes-mcp | `kneldevstack-aimiddleware-kubernetes-mcp` | - | K8s/OpenShift management | kubeconfig mounted |
|
||||
| docker-mcp | `kneldevstack-aimiddleware-docker-mcp` | 0.1.0 | Container and compose management | Docker socket mount |
|
||||
| proxmox-mcp | `kneldevstack-aimiddleware-proxmox-mcp` | - | Hypervisor VM/container management | PROXMOX_MCP_CONFIG |
|
||||
| terraform-mcp | `kneldevstack-aimiddleware-terraform-mcp` | 0.4.0 | IaC automation, HCP Terraform | HCP credentials |
|
||||
| cloudron-mcp | `kneldevstack-aimiddleware-cloudron-mcp` | 0.1.0 | Self-hosted app management | CLOUDRON_URL |
|
||||
| beszel-mcp | `kneldevstack-aimiddleware-beszel-mcp` | - | Server monitoring | BESZEL_URL, credentials |
|
||||
|
||||
### Development Tools (1 server)
|
||||
|
||||
| Service | Container | Version | Description | Config Required |
|
||||
|---------|-----------|---------|-------------|-----------------|
|
||||
| context7-mcp | `kneldevstack-aimiddleware-context7-mcp` | 2.1.0 | Documentation retrieval | Upstash Redis |
|
||||
|
||||
### Content Management (3 servers)
|
||||
|
||||
| Service | Container | Version | Description | Config Required |
|
||||
|---------|-----------|---------|-------------|-----------------|
|
||||
| ghost-mcp | `kneldevstack-aimiddleware-ghost-mcp` | 1.0.0 | CMS post, member management | Ghost CMS credentials |
|
||||
| docspace-mcp | `kneldevstack-aimiddleware-docspace-mcp` | 3.1.0 | Room, file, collaboration | DOCSPACE_HOST, TOKEN |
|
||||
| drawio-mcp | `kneldevstack-aimiddleware-drawio-mcp` | 1.4.0 | Draw.io diagram management | DRAWIO_URL |
|
||||
|
||||
### Analytics & Security (2 servers)
|
||||
|
||||
| Service | Container | Version | Description | Config Required |
|
||||
|---------|-----------|---------|-------------|-----------------|
|
||||
| matomo-mcp | `kneldevstack-aimiddleware-matomo-mcp` | 1.0.0 | Analytics (59 tools, 31 prompts) | openmost.io hosted |
|
||||
| bitwarden-mcp | `kneldevstack-aimiddleware-bitwarden-mcp` | - | Password vault management | Bitwarden credentials |
|
||||
|
||||
### Financial & Budgeting (3 servers)
|
||||
|
||||
| Service | Container | Version | Description | Config Required |
|
||||
|---------|-----------|---------|-------------|-----------------|
|
||||
| firefly-iii-mcp | `kneldevstack-aimiddleware-firefly-iii-mcp` | 1.3.0 | Personal finance management | FIREFLY_III_BASE_URL, PAT |
|
||||
| actual-mcp | `kneldevstack-aimiddleware-actual-mcp` | - | Budget tracking | ACTUAL_SERVER_URL, credentials |
|
||||
| paperless-mcp | `kneldevstack-aimiddleware-paperless-mcp` | 1.0.0 | Document management | PAPERLESS_URL, TOKEN |
|
||||
|
||||
### Productivity & Automation (5 servers)
|
||||
|
||||
| Service | Container | Version | Description | Config Required |
|
||||
|---------|-----------|---------|-------------|-----------------|
|
||||
| audiobook-mcp | `kneldevstack-aimiddleware-audiobook-mcp` | 1.1.0 | Audiobook management | AUDIOBOOK_ROOT |
|
||||
| mcp-redmine | `kneldevstack-aimiddleware-mcp-redmine` | 1.25.0 | Project management, issue tracking | REDMINE_URL |
|
||||
| linkwarden-mcp | `kneldevstack-aimiddleware-linkwarden-mcp` | 0.0.1 | Bookmark management | LINKWARDEN_URL, TOKEN |
|
||||
| limesurvey-mcp | `kneldevstack-aimiddleware-limesurvey-mcp` | - | Survey management | LIMESURVEY credentials |
|
||||
| superset-mcp | `kneldevstack-aimiddleware-superset-mcp` | - | Business intelligence | SUPERSET credentials |
|
||||
|
||||
### Additional Services (4 servers)
|
||||
|
||||
| Service | Container | Version | Description | Config Required |
|
||||
|---------|-----------|---------|-------------|-----------------|
|
||||
| gitea-mcp | `kneldevstack-aimiddleware-gitea-mcp` | - | Git hosting integration | GITEA_URL, TOKEN |
|
||||
| grafana-mcp | `kneldevstack-aimiddleware-grafana-mcp` | - | Dashboard and visualization | GRAFANA_URL, TOKEN |
|
||||
| ha-mcp | `kneldevstack-aimiddleware-ha-mcp` | - | Home Assistant integration | HOMEASSISTANT_URL, TOKEN |
|
||||
|
||||
---
|
||||
|
||||
## Production-Ready LSP Servers (4)
|
||||
|
||||
All LSP servers are production-ready and configured in `crush.json`.
|
||||
|
||||
| Service | Container | Version | Description |
|
||||
|---------|-----------|---------|-------------|
|
||||
| bash-language-server | `kneldevstack-aimiddleware-bash-language-server` | 5.6.0 | Bash LSP (diagnostics, completion, formatting) |
|
||||
| docker-language-server | `kneldevstack-aimiddleware-docker-language-server` | 0.0.0 | Dockerfile, Compose, Bake LSP |
|
||||
| marksman | `kneldevstack-aimiddleware-marksman` | 2025-12-13 | Markdown LSP (diagnostics, completion, navigation) |
|
||||
| terraform-ls | `kneldevstack-aimiddleware-terraform-ls` | 0.38.4 | Terraform LSP (diagnostics, completion, navigation) |
|
||||
|
||||
---
|
||||
|
||||
## NOT Production-Ready (11 servers)
|
||||
|
||||
These servers have issues that prevent production deployment.
|
||||
|
||||
### Upstream Bugs (cannot fix locally - 4 servers)
|
||||
|
||||
| Service | Issue | Resolution |
|
||||
|---------|-------|------------|
|
||||
| discourse-mcp | TypeScript TS2345 error in upstream | Wait for upstream fix |
|
||||
| reverse-engineering-assistant | Ghidra download URL 404 | Wait for upstream fix |
|
||||
| snipeit-mcp | Depends on private PyPI package | Blocked indefinitely |
|
||||
| mcp-ansible | Package not published to PyPI | Wait for upstream publish |
|
||||
|
||||
### Transport Mismatch (not stdio - 2 servers)
|
||||
|
||||
| Service | Issue | Notes |
|
||||
|---------|-------|-------|
|
||||
| postizz-mcp | Uses HTTP transport (port 3084) | Requires HTTP MCP client |
|
||||
| penpot-mcp | Uses HTTP/WebSocket transport | Endpoints: :4401/mcp, :4401/sse, :4402 |
|
||||
|
||||
### Runtime Dependencies (crash without backend - 3 servers)
|
||||
|
||||
| Service | Issue | Works When |
|
||||
|---------|-------|------------|
|
||||
| nextcloud-mcp | Crashes without OAuth endpoint | Nextcloud server running |
|
||||
| imap-mcp | Crashes without IMAP server | IMAP server reachable |
|
||||
| webserial-mcp | Crashes without bridge server | Bridge + ESP32 connected |
|
||||
|
||||
### Architecture Mismatch (2 servers)
|
||||
|
||||
| Service | Issue | Notes |
|
||||
|---------|-------|-------|
|
||||
| kicad-mcp | Requires KiCAD on host | Host-only, cannot containerize |
|
||||
| wordpress-mcp | PHP plugin, not container | Must install in WordPress |
|
||||
|
||||
---
|
||||
|
||||
## Deployment Checklist
|
||||
|
||||
Before deploying to production, ensure:
|
||||
|
||||
- [ ] Copy `.env.example` to `.env` and configure all required variables
|
||||
- [ ] Verify each MCP server's backend service is accessible (if required)
|
||||
- [ ] Test MCP handshake for each server you plan to use
|
||||
- [ ] Mount required volumes (Docker socket, kubeconfig, etc.)
|
||||
- [ ] Configure Crush with `crush.json` for LSP/MCP integration
|
||||
|
||||
### Test MCP Handshake
|
||||
|
||||
```bash
|
||||
echo '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"protocolVersion":"2024-11-05","clientInfo":{"name":"test","version":"1.0.0"}},"id":1}' | \
|
||||
timeout 10 docker run --rm -i kneldevstack-aimiddleware-<service-name>
|
||||
```
|
||||
|
||||
### Test LSP Server
|
||||
|
||||
```bash
|
||||
echo '{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{}},"id":1}' | \
|
||||
docker run -i --rm kneldevstack-aimiddleware-<lsp-name>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Environment Variables Quick Reference
|
||||
|
||||
| Service | Required Variables |
|
||||
|---------|-------------------|
|
||||
| bitwarden-mcp | `BITWARDEN_CLIENT_ID`, `BITWARDEN_CLIENT_SECRET`, `BITWARDEN_PASSWORD`, `BITWARDEN_SERVER_URL` |
|
||||
| ghost-mcp | `GHOST_API_URL`, `GHOST_ADMIN_API_KEY` |
|
||||
| cloudron-mcp | `CLOUDRON_URL`, `CLOUDRON_TOKEN` |
|
||||
| proxmox-mcp | `PROXMOX_MCP_CONFIG` (path to config file) |
|
||||
| terraform-mcp | HCP Terraform credentials |
|
||||
| docspace-mcp | `DOCSPACE_HOST`, `DOCSPACE_TOKEN` |
|
||||
| matomo-mcp | Hosted at openmost.io |
|
||||
| redmine-mcp | `REDMINE_URL`, `REDMINE_API_KEY` |
|
||||
| firefly-iii-mcp | `FIREFLY_III_BASE_URL`, `FIREFLY_III_PAT` |
|
||||
| actual-mcp | `ACTUAL_SERVER_URL`, `ACTUAL_PASSWORD`, `ACTUAL_BUDGET_SYNC_ID` |
|
||||
| paperless-mcp | `PAPERLESS_URL`, `PAPERLESS_TOKEN` |
|
||||
| context7-mcp | `UPSTASH_REDIS_REST_URL`, `UPSTASH_REDIS_REST_TOKEN` |
|
||||
| drawio-mcp | `DRAWIO_URL` |
|
||||
| audiobook-mcp | `AUDIOBOOK_ROOT` |
|
||||
| linkwarden-mcp | `LINKWARDEN_URL`, `LINKWARDEN_TOKEN` |
|
||||
| beszel-mcp | `BESZEL_URL`, `BESZEL_USERNAME`, `BESZEL_PASSWORD` |
|
||||
| limesurvey-mcp | `LIMESURVEY_URL`, `LIMESURVEY_USERNAME`, `LIMESURVEY_PASSWORD` |
|
||||
| superset-mcp | `SUPERSET_URL`, `SUPERSET_USERNAME`, `SUPERSET_PASSWORD` |
|
||||
| gitea-mcp | `GITEA_URL`, `GITEA_TOKEN` |
|
||||
| grafana-mcp | `GRAFANA_URL`, `GRAFANA_TOKEN` |
|
||||
| ha-mcp | `HOMEASSISTANT_URL`, `HOMEASSISTANT_TOKEN` |
|
||||
|
||||
---
|
||||
|
||||
## Container Registry
|
||||
|
||||
All production-ready images are available at:
|
||||
|
||||
```
|
||||
git.knownelement.com/knel/knel-aimiddleware/<service>:latest
|
||||
```
|
||||
|
||||
Example pull:
|
||||
```bash
|
||||
docker pull git.knownelement.com/knel/knel-aimiddleware/docker-mcp:latest
|
||||
```
|
||||
Reference in New Issue
Block a user