Commit Graph

17 Commits

Author SHA1 Message Date
c5393f9b5e feat: add elasticsearch-mcp validation
Build and validate Elasticsearch MCP server for search/indexing.

Changes:
- docker-compose.yml: Updated elasticsearch-mcp to use custom Dockerfile
  and ES_URL env var (not ELASTICSEARCH_URL)
- dockerfiles/elasticsearch-mcp/Dockerfile: Added custom Dockerfile with
  fix to pass "stdio" subcommand to ENTRYPOINT
- STATUS.md: Added elasticsearch-mcp as validated MCP (v0.2.1, 22MB)

Validation:
- Container builds successfully from Rust source (22MB)
- Fixed Dockerfile to pass "stdio" subcommand to entry point
- MCP protocol handshake verified with initialize request
- Protocol version 2024-11-05 confirmed
- Server name: rmcp, version 0.2.1
- Requires ES_URL environment variable (not ELASTICSEARCH_URL)
- NOTE: Server is deprecated, superseded by Elastic Agent Builder
- Tested with proper --name flag for container
2026-01-23 00:40:09 -05:00
6017d996fe feat: add cloudron-mcp validation
Build and validate Cloudron MCP server for self-hosted app management.

Changes:
- docker-compose.yml: Updated to use custom Dockerfile for cloudron-mcp
- dockerfiles/cloudron-mcp/Dockerfile: Added custom Dockerfile with fix
  for CMD entry point (dist/server.js instead of dist/index.js)
- STATUS.md: Added cloudron-mcp as validated MCP (v0.1.0, 374MB)

Validation:
- Container builds successfully from TypeScript source (374MB)
- Fixed Dockerfile CMD to use correct entry point (dist/server.js)
- MCP protocol handshake verified with initialize request
- Protocol version 2024-11-05 confirmed
- Server name: cloudron-mcp, version 0.1.0
- Requires CLOUDRON_URL environment variable
- Tested with proper --name flag for container
2026-01-23 00:13:28 -05:00
a0ca7c9eaf feat: add Crush MCP server configurations and validate multiple MCP servers
- 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
2026-01-22 16:05:08 -05:00
1b01b3303b feat: add MCP server validation script and fix drawio-mcp
- Add validate-mcp.sh script to test MCP servers with protocol messages
- Fix drawio-mcp Dockerfile to use pnpm and correct build directory
- Update drawio-mcp to use build/ instead of dist/
- Validate penpot-mcp, context7-mcp, docker-mcp, drawio-mcp working
2026-01-22 15:14:00 -05:00
aefeaa30fc fix: configure stdio-based MCP servers (penpot, imap)
- Set penpot-mcp restart: "no" for on-demand execution
- Create custom Dockerfile for imap-mcp with python module entrypoint
- Fix IMAP_HOST environment variable naming (was IMAP_SERVER)
- Update .env and docker-compose.yml for IMAP_HOST
- Remove command overrides from imap-mcp and penpot-mcp
- Verify penpot-mcp and imap-mcp work correctly
2026-01-22 14:55:18 -05:00
5f17f43f3f feat: configure context7-mcp and proxmox-mcp as stdio servers
- Set context7-mcp restart: "no" for on-demand execution
- Add context7-mcp to crush.json mcp configuration
- Fix proxmox-mcp Dockerfile to use python module directly
- Update proxmox-mcp entrypoint to "python -m proxmox_mcp.server"
- Add git dependency for proxmox-mcp git+ dependencies
- Remove --frozen flag (no lock file available)
2026-01-22 14:40:15 -05:00
84f79715a6 fix: use custom Dockerfile for gimp-mcp with correct entrypoint
- Move gimp-mcp Dockerfile to tracked dockerfiles/ directory
- Update entrypoint from uvx gimp-mcp to uvx gimp-mcp-server
- Add uv.lock to dependency copy step
- Update docker-compose.yml to use dockerfiles/gimp-mcp/Dockerfile
2026-01-22 14:26:23 -05:00
556e0a32ca fix: resolve MCP server startup and configuration issues
- Remove duplicate uvx commands from docker-compose.yml (blender, freecad, gimp)
- Update ghost-mcp to use default environment values for testing
- Update crush.json LSP commands with proper start arguments
- Add ffmpeg dependency to audiobook-mcp Dockerfile
- Create .env file with dummy values for all MCP servers
- Update STATUS.md for ghost-mcp working status

Note: gimp-mcp entrypoint fix excluded (vendor directory is gitignored)
2026-01-22 14:22:41 -05:00
338094fef0 refactor: standardize container names to lowercase kneldevstack-aimiddleware-*
- Update all 29 container_name fields from KNELDevStack-AIMiddleware-* to kneldevstack-aimiddleware-*
- Add explicit image: fields to all services for consistent image naming
- Fix ghost-mcp and discourse-mcp to use build context instead of direct npx calls
- Ensures consistent lowercase naming across all services

This resolves confusion between service names, image names, and container names.
All three tiers (service, image, container) now use the same lowercase naming convention.
2026-01-22 10:05:29 -05:00
8ee6324c9c feat: fully implement ghost-mcp server
- Fixed Dockerfile to skip prepare script during npm ci
- Changed docker-compose.yml to use node:22-alpine image with npx
- Updated STATUS.md to mark ghost-mcp as Built
- Added ghost-mcp to crush.json for Crush integration
- Validated container starts correctly with proper Ghost credentials

The ghost-mcp server now works as expected using the @fanyangmeng/ghost-mcp
npm package. It requires GHOST_API_URL and GHOST_ADMIN_API_KEY in the
format {24_hex_chars}:{64_hex_chars}.
2026-01-21 20:23:18 -05:00
926f513ef1 fix: update discourse-mcp to use Node.js 24 alpine image
- Changed from build context to using node:24-alpine image directly
- Updated discourse-mcp Dockerfile to node:24-alpine
- Changed npm ci to npm install in Dockerfile
- Added note about npx usage due to TypeScript compilation errors in 0.2.4
2026-01-21 20:15:14 -05:00
a3c3358d5e feat: Add context7-mcp with custom Dockerfile
- Create dockerfiles/context7/Dockerfile for monorepo build
- Update docker-compose.yml to use custom Dockerfile context
- Build approach: copy all source, then pnpm install workspaces, then build:mcp
- Requires UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN env vars
- Follows AGENTS.md guidelines for Dockerfile management

Note: Monorepo structure requires full source copy before dependency resolution
to properly install workspace dependencies across packages/mcp, packages/sdk, etc.
2026-01-21 19:39:23 -05:00
30cbbeb90c Add LSP services to docker-compose.yml
- Add bash-language-server service with custom Dockerfile
- Add docker-language-server service with custom Dockerfile
- Add marksman service with custom Dockerfile
- Configure services for Crush (restart: no for on-demand use)
- All services in dev profile
2026-01-21 19:19:50 -05:00
576a582b21 refactor: standardize container naming to KNELDevStack-AIMiddleware-
Update all 28 container names from KNELDevStack-AIMW- to
KNELDevStack-AIMiddleware- prefix in docker-compose.yml and AGENTS.md.
2026-01-21 18:11:42 -05:00
f75bcc8438 feat: add Penpot MCP to docker-compose.yml
Add penpot-mcp service for design collaboration platform.
Configure PENPOT_URL and PENPOT_TOKEN environment variables.

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-21 17:30:10 -05:00
90fe41895c feat: add KiCAD host connection configuration to kicad-mcp
Add KICAD_HOST and KICAD_PORT environment variables
for connecting to an existing KiCAD instance on the host.
Default to host.docker.internal:5555 for Docker Desktop compatibility.

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-21 17:20:26 -05:00
9597968408 feat: add Docker Compose configuration for 27 MCP servers
- Configure all MCP/LSP servers with KNELDevStack-AIMW- prefix
- Categorize services by function (dev, ops profiles)
- Set up environment variables for authentication
- Configure ports and volumes where needed
- Create custom Dockerfiles for repos without native support

Services include design tools, infrastructure management,
development tools, content management, collaboration,
analytics, security, and productivity automation.

💘 Generated with Crush

Assisted-by: GLM-4.7 via Crush <crush@charm.land>
2026-01-21 17:17:23 -05:00