feat: integrate ONLYOFFICE docspace-mcp v3.1.0
- Updated CloneVendorRepos.sh to use official ONLYOFFICE/docspace-mcp repository instead of ahujasid/docspace-mcp (which was outdated) - Successfully built and validated docspace-mcp Docker container (236MB) - Created wrapper script mcp-docspace-wrapper.sh with environment variables for DOCSPACE_HOST and DOCSPACE_TOKEN - Added docspace MCP configuration to crush.json - Updated STATUS.md with working status for docspace-mcp MCP handshake test confirmed server responds correctly: - Protocol version: 2024-11-05 - Server: @onlyoffice/docspace-mcp v3.1.0 - Capabilities: tools Also documented blocked MCPs in STATUS.md: - matomo-mcp: vendor repo does not exist (404) - discourse-mcp: vendor repo exists but is empty (no commits) Related: ADR-007 Sequential MCP validation
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
Tracking the setup and validation of MCP/LSP servers via Docker Compose.
|
||||
|
||||
Last validated: 2026-01-23
|
||||
Last validated: 2026-02-17
|
||||
|
||||
## Validation Summary
|
||||
|
||||
@@ -13,6 +13,7 @@ Last validated: 2026-01-23
|
||||
- ✓ cloudron-mcp: Working (cloudron-mcp v0.1.0) - requires CLOUDRON_URL env var
|
||||
- ✓ context7-mcp: Working (Context7 v2.1.0) - stdio-based, requires Upstash Redis
|
||||
- ✓ docker-mcp: Working (docker-mcp v0.1.0) - requires Docker socket mount
|
||||
- ✓ docspace-mcp: Working (@onlyoffice/docspace-mcp v3.1.0) - requires DOCSPACE_HOST and DOCSPACE_TOKEN env vars
|
||||
- ✓ drawio-mcp: Working (drawio-mcp-server v1.4.0) - requires DRAWIO_URL env var
|
||||
- ✓ elasticsearch-mcp: Working (rmcp v0.2.1, deprecated) - requires ES_URL env var
|
||||
- ✓ freecad-mcp: Working (FreeCADMCP v1.25.0) - requires FreeCAD with addon running
|
||||
@@ -40,6 +41,7 @@ Last validated: 2026-01-23
|
||||
- context7-mcp: Built (v2.1.0) - stdio-based, TypeScript-based, requires Upstash Redis
|
||||
- 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
|
||||
- docspace-mcp: Built (v3.1.0) - stdio-based, TypeScript/pnpm, official ONLYOFFICE repo, requires DOCSPACE_HOST/TOKEN
|
||||
- elasticsearch-mcp: Built (v0.2.1) - stdio-based, Rust-based, requires ES_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
|
||||
@@ -70,6 +72,7 @@ Last validated: 2026-01-23
|
||||
| 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. |
|
||||
| context7-mcp | Built | Container built from source (224MB). Multi-stage Node.js build with tsc. MCP stdio-based, requires UPSTASH_REDIS_REST_URL and TOKEN env vars. Version 2.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. |
|
||||
| docspace-mcp | Built | Container built from official ONLYOFFICE TypeScript source (236MB). Uses pnpm package manager. MCP stdio-based, requires DOCSPACE_HOST and DOCSPACE_TOKEN env vars. Version 3.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. |
|
||||
| elasticsearch-mcp | Built | Container built from Rust source (22MB). Fixed Dockerfile to pass "stdio" subcommand. MCP stdio-based, requires ES_URL env var. NOTE: Server is deprecated. Version 0.2.1. |
|
||||
| freecad-mcp | Built | Container built from Python source (317MB). Uses uv package manager. MCP stdio-based, requires FreeCAD running with addon. Version 1.25.0. |
|
||||
|
||||
@@ -71,6 +71,11 @@
|
||||
"type": "stdio",
|
||||
"command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/mcp-imap-wrapper.sh",
|
||||
"timeout": 60
|
||||
},
|
||||
"docspace": {
|
||||
"type": "stdio",
|
||||
"command": "/home/charles/Projects/KNEL/KNEL-AIMiddleware/mcp-docspace-wrapper.sh",
|
||||
"timeout": 60
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
21
mcp-docspace-wrapper.sh
Executable file
21
mcp-docspace-wrapper.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
# Wrapper script for docspace-mcp
|
||||
# Ensures clean container with proper name
|
||||
|
||||
CONTAINER_NAME="kneldevstack-aimiddleware-docspace-mcp-crush"
|
||||
IMAGE_NAME="kneldevstack-aimiddleware-docspace-mcp"
|
||||
|
||||
# Force remove existing container if it exists (in any state)
|
||||
if docker ps -a --filter "name=${CONTAINER_NAME}" --format '{{.Names}}' 2>/dev/null | grep -q "^${CONTAINER_NAME}$"; then
|
||||
docker rm -f "${CONTAINER_NAME}" >/dev/null 2>&1
|
||||
# Wait for container to be fully removed
|
||||
while docker ps -a --filter "name=${CONTAINER_NAME}" --format '{{.Names}}' 2>/dev/null | grep -q "^${CONTAINER_NAME}$"; do
|
||||
sleep 0.05
|
||||
done
|
||||
fi
|
||||
|
||||
# Start MCP server with explicit name and environment variables
|
||||
exec docker run -i --rm --name "${CONTAINER_NAME}" \
|
||||
-e "DOCSPACE_HOST=${DOCSPACE_HOST:-}" \
|
||||
-e "DOCSPACE_TOKEN=${DOCSPACE_TOKEN:-}" \
|
||||
"${IMAGE_NAME}" "$@"
|
||||
@@ -66,7 +66,7 @@ clone_repo "mcp-cloudron" "https://github.com/ahujasid/mcp-cloudron.git"
|
||||
clone_repo "postizz-MCP" "https://github.com/ahujasid/postizz-MCP.git"
|
||||
clone_repo "snipeit-mcp" "https://github.com/ahujasid/snipeit-mcp.git"
|
||||
clone_repo "nextcloud-mcp-server" "https://github.com/ahujasid/nextcloud-mcp-server.git"
|
||||
clone_repo "docspace-mcp" "https://github.com/ahujasid/docspace-mcp.git"
|
||||
clone_repo "docspace-mcp" "https://github.com/ONLYOFFICE/docspace-mcp.git"
|
||||
clone_repo "docker-mcp" "https://github.com/ahujasid/docker-mcp.git"
|
||||
clone_repo "kubernetes-mcp-server" "https://github.com/ahujasid/kubernetes-mcp-server.git"
|
||||
clone_repo "ProxmoxMCP" "https://github.com/ahujasid/ProxmoxMCP.git"
|
||||
|
||||
Reference in New Issue
Block a user