feat: add ghost-mcp to Crush integration
Build and validate Ghost CMS MCP Server (ghost-mcp-ts v1.0.0). Changes: - mcp-ghost-wrapper.sh: Created wrapper script with container cleanup - crush.json: Added ghost-mcp entry with type: stdio and timeout: 60 - STATUS.md: Updated working MCP list and detailed status table - JOURNAL.md: Documented integration with full validation results Validation: - Container builds successfully (284MB, Node.js + TypeScript) - MCP protocol handshake verified with initialize request - Protocol version 2024-11-05 confirmed - Server name: ghost-mcp-ts, version 1.0.0 - Wrapper script tested and working - Environment variables: GHOST_API_URL, GHOST_ADMIN_API_KEY - Capabilities: resources, tools, prompts (all listChanged: true) This is third MCP added in alphabetical order after filtering out already working MCPs (audiobook, bitwarden, blender, cloudron, context7, docker, drawio, elasticsearch, freecad). Following ADR-007: Sequential Server Validation - one MCP at a time, awaiting user validation before proceeding to next MCP.
This commit is contained in:
21
mcp-ghost-wrapper.sh
Executable file
21
mcp-ghost-wrapper.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
# Wrapper script for ghost-mcp
|
||||
# Ensures clean container with proper name
|
||||
|
||||
CONTAINER_NAME="kneldevstack-aimiddleware-ghost-mcp-crush"
|
||||
IMAGE_NAME="kneldevstack-aimiddleware-ghost-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 "GHOST_API_URL=${GHOST_API_URL:-http://localhost:2368}" \
|
||||
-e "GHOST_ADMIN_API_KEY=${GHOST_ADMIN_API_KEY:-}" \
|
||||
"${IMAGE_NAME}" "$@"
|
||||
Reference in New Issue
Block a user