diff --git a/validate-mcp.sh b/validate-mcp.sh index 0fb99dc..4a8c735 100755 --- a/validate-mcp.sh +++ b/validate-mcp.sh @@ -13,7 +13,7 @@ INIT_MSG='{"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"pr # Test a container with initialize message test_mcp_server() { local container_name=$1 - local timeout=${2:-5} + local timeout=${2:-10} shift 2 local env_vars=("$@") @@ -26,11 +26,8 @@ test_mcp_server() { done # Run container with stdin input and environment variables - result=$(timeout $timeout docker run --rm -i --name "$container_name-test" \ - $env_args \ - "$container_name" \ - <<<"$INIT_MSG" \ - 2>&1) + # Note: Using subshell with timeout for the docker run command + result=$( (echo "$INIT_MSG" | timeout $timeout docker run --rm -i --name "$container_name-test" $env_args "$container_name" 2>&1) || true ) # Check for valid JSON-RPC response if echo "$result" | grep -q '"result"'; then @@ -65,32 +62,32 @@ test_mcp_server() { echo -e "${YELLOW}=== MCP Server Validation ===${NC}\n" # Stdio-based MCP servers -test_mcp_server "kneldevstack-aimiddleware-ghost-mcp" \ - "GHOST_URL=https://ghost.example.com" \ - "GHOST_API_KEY=dummy-key" +test_mcp_server "kneldevstack-aimiddleware-ghost-mcp" 5 \ + "GHOST_API_URL=https://ghost.example.com" \ + "GHOST_ADMIN_API_KEY=012345678901234567890123:0123456789012345678901234567890123456789012345678901234567890123" -test_mcp_server "kneldevstack-aimiddleware-penpot-mcp" \ +test_mcp_server "kneldevstack-aimiddleware-penpot-mcp" 5 \ "PENPOT_URL=https://design.penpot.app" \ "PENPOT_TOKEN=dummy-token" -test_mcp_server "kneldevstack-aimiddleware-imap-mcp" \ +test_mcp_server "kneldevstack-aimiddleware-imap-mcp" 5 \ "IMAP_HOST=imap.example.com" \ "IMAP_USERNAME=user@example.com" \ "IMAP_PASSWORD=dummy-password" -test_mcp_server "kneldevstack-aimiddleware-proxmox-mcp" \ +test_mcp_server "kneldevstack-aimiddleware-proxmox-mcp" 5 \ "PROXMOX_HOST=https://proxmox.example.com" \ "PROXMOX_USER=root@pam" \ "PROXMOX_TOKEN=dummy-token" \ "PROXMOX_NODE=pve" -test_mcp_server "kneldevstack-aimiddleware-context7-mcp" +test_mcp_server "kneldevstack-aimiddleware-context7-mcp" 5 -test_mcp_server "kneldevstack-aimiddleware-docker-mcp" +test_mcp_server "kneldevstack-aimiddleware-docker-mcp" 5 -test_mcp_server "kneldevstack-aimiddleware-drawio-mcp" +test_mcp_server "kneldevstack-aimiddleware-drawio-mcp" 5 -test_mcp_server "kneldevstack-aimiddleware-mcp-redmine" \ +test_mcp_server "kneldevstack-aimiddleware-mcp-redmine" 5 \ "REDMINE_URL=https://redmine.example.com" \ "REDMINE_API_KEY=dummy-key"