Commit Graph

15 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
2c0e19ab2b feat: add audiobook-mcp validation and fix Dockerfile
Build and validate audiobook-mcp server for audiobook management.

Changes:
- dockerfiles/audiobook-mcp/Dockerfile: Fixed esbuild ETXTBSY error
  by using 'npm install --ignore-scripts' instead of 'npm ci'
- STATUS.md: Added audiobook-mcp as validated MCP (v1.1.0, 361MB)
- AGENTS.md: Added audiobook-mcp to Productivity & Automation section

Validation:
- Container builds successfully from source
- MCP protocol handshake verified with initialize request
- Protocol version 2024-11-05 confirmed
- Server name: audiobook-library, version 1.1.0
- Requires AUDIOBOOK_ROOT environment variable
2026-01-22 23:50:58 -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
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
cfca7e6342 Add LSP Dockerfiles for bash, docker, and marksman
- bash-language-server: Prebuilt npm package (190MB)
- docker-language-server: Multi-stage Go build (49.2MB)
- marksman: Debian with libicu72 for .NET runtime (144MB)
- All configured for Crush via stdio communication
2026-01-21 19:19:37 -05:00
b466597f54 feat: add penpot-mcp server with Dockerfile
Cloned penpot-mcp repository from montevive/penpot-mcp (Python implementation)
Created Dockerfile following project's Python MCP server pattern
Added symlink in dockerfiles directory for consistency

💘 Generated with Crush

Co-Authored-By: Crush <crush@charm.land>
2026-01-21 17:39:55 -05:00
e33f407756 chore: add dockerfiles directory for custom container definitions
Track custom Dockerfiles created for repositories
that don't include native container definitions.

Organized by service name in dockerfiles/ subdirectory:
- kicad-mcp
- blender-mcp
- freecad-mcp
- docker-mcp
- proxmox-mcp
- mcp-cloudron
- bash-language-server
- context7-mcp
- ghost-mcp
- discourse-mcp
- matomo-mcp
- gimp-mcp
- snipeit-mcp
- wordpress-mcp
- drawio-mcp
- audiobook-mcp

💘 Generated with Crush

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