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
This commit is contained in:
@@ -10,6 +10,7 @@ Last validated: 2026-01-22
|
|||||||
- ✓ audiobook-mcp: Working (audiobook-library v1.1.0) - requires AUDIOBOOK_ROOT env var
|
- ✓ 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
|
- ✓ bitwarden-mcp: Working (Bitwarden MCP Server v2026.1.0) - requires Bitwarden credentials
|
||||||
- ✓ blender-mcp: Working (BlenderMCP v1.25.0) - requires Blender with addon running
|
- ✓ 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
|
||||||
|
|
||||||
**MCP Servers with Configuration Issues:**
|
**MCP Servers with Configuration Issues:**
|
||||||
- None
|
- None
|
||||||
@@ -24,6 +25,7 @@ Last validated: 2026-01-22
|
|||||||
- audiobook-mcp: Built (v1.1.0) - stdio-based, requires AUDIOBOOK_ROOT
|
- audiobook-mcp: Built (v1.1.0) - stdio-based, requires AUDIOBOOK_ROOT
|
||||||
- bitwarden-mcp: Built (v2026.1.0) - stdio-based, requires Bitwarden credentials
|
- 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
|
- 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
|
||||||
- bash-language-server: Built (v5.6.0) - configured in crush.json via wrapper script
|
- 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
|
- 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
|
- marksman: Built (2025-12-13) - configured in crush.json via wrapper script
|
||||||
@@ -46,6 +48,7 @@ Last validated: 2026-01-22
|
|||||||
| 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. |
|
| 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. |
|
| 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. |
|
| 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. |
|
||||||
| bash-language-server | Built | Container built using prebuilt npm package (190MB). LSP configured in crush.json via wrapper script. Version 5.6.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. |
|
| 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. |
|
| marksman | Built | Container built from prebuilt binary (144MB). LSP configured in crush.json via wrapper script. Version 2025-12-13. |
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ services:
|
|||||||
image: kneldevstack-aimiddleware-cloudron-mcp
|
image: kneldevstack-aimiddleware-cloudron-mcp
|
||||||
build:
|
build:
|
||||||
context: ./vendor/mcp-cloudron
|
context: ./vendor/mcp-cloudron
|
||||||
dockerfile: Dockerfile
|
dockerfile: ../../dockerfiles/cloudron-mcp/Dockerfile
|
||||||
container_name: kneldevstack-aimiddleware-cloudron-mcp
|
container_name: kneldevstack-aimiddleware-cloudron-mcp
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
14
dockerfiles/cloudron-mcp/Dockerfile
Normal file
14
dockerfiles/cloudron-mcp/Dockerfile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
FROM node:22-alpine
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY package.json package-lock.json* ./
|
||||||
|
|
||||||
|
RUN npm ci
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
# Use correct entry point from package.json bin
|
||||||
|
CMD ["node", "dist/server.js"]
|
||||||
Reference in New Issue
Block a user