- Avoid logging sensitive cfg.Args in ConnectServer; log args_count instead - Sanitize server/tool name components in MCPTool.Name() to ensure valid identifiers for downstream providers (lowercase, [a-z0-9_-] only) - Add slack as 5th MCP server example in config.example.json - Move Dockerfile.full and docker-compose.full.yml into docker/ directory for consistency with existing docker/Dockerfile and docker/docker-compose.yml - Fix all Makefile docker-* targets to reference correct compose file paths - Fix docker/docker-compose.full.yml build context (.. ) and volume paths - Fix scripts/test-docker-mcp.sh compose file path and replace cowsay test with actual @modelcontextprotocol/server-filesystem MCP server test
49 lines
1.6 KiB
Bash
Executable file
49 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
# Test script for MCP tools in Docker (full-featured image)
|
|
|
|
set -e
|
|
|
|
COMPOSE_FILE="docker/docker-compose.full.yml"
|
|
SERVICE="picoclaw-agent"
|
|
|
|
echo "🧪 Testing MCP tools in Docker container (full-featured image)..."
|
|
echo ""
|
|
|
|
# Build the image
|
|
echo "📦 Building Docker image..."
|
|
docker compose -f "$COMPOSE_FILE" build "$SERVICE"
|
|
|
|
# Test npx
|
|
echo "✅ Testing npx..."
|
|
docker compose -f "$COMPOSE_FILE" run --rm --entrypoint sh "$SERVICE" -c 'npx --version'
|
|
|
|
# Test npm
|
|
echo "✅ Testing npm..."
|
|
docker compose -f "$COMPOSE_FILE" run --rm --entrypoint sh "$SERVICE" -c 'npm --version'
|
|
|
|
# Test node
|
|
echo "✅ Testing Node.js..."
|
|
docker compose -f "$COMPOSE_FILE" run --rm --entrypoint sh "$SERVICE" -c 'node --version'
|
|
|
|
# Test git
|
|
echo "✅ Testing git..."
|
|
docker compose -f "$COMPOSE_FILE" run --rm --entrypoint sh "$SERVICE" -c 'git --version'
|
|
|
|
# Test python
|
|
echo "✅ Testing Python..."
|
|
docker compose -f "$COMPOSE_FILE" run --rm --entrypoint sh "$SERVICE" -c 'python3 --version'
|
|
|
|
# Test uv
|
|
echo "✅ Testing uv..."
|
|
docker compose -f "$COMPOSE_FILE" run --rm --entrypoint sh "$SERVICE" -c 'uv --version'
|
|
|
|
# Test MCP server installation (quick)
|
|
echo "✅ Testing @modelcontextprotocol/server-filesystem MCP server install with npx..."
|
|
docker compose -f "$COMPOSE_FILE" run --rm --entrypoint sh "$SERVICE" -c 'npx -y @modelcontextprotocol/server-filesystem --help'
|
|
|
|
echo ""
|
|
echo "🎉 All MCP tools are working correctly!"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo " 1. Configure MCP servers in config/config.json"
|
|
echo " 2. Run: docker compose -f $COMPOSE_FILE --profile gateway up"
|