- Updated Docker container references throughout documentation - Fixed issue templates with correct container name - Updated all docker exec commands in guides - Ensured consistency with new zen-mcp-server naming 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
7.4 KiB
Troubleshooting Guide
This guide helps you resolve common issues with the Gemini MCP Server.
Quick Diagnostics
Check System Status
# Verify containers are running
docker compose ps
# Check logs for errors
docker compose logs -f
# Test API connectivity
docker exec -it zen-mcp-server python -c "import os; print('API Key set:', bool(os.getenv('GEMINI_API_KEY')))"
Common Issues
1. "Connection failed" in Claude Desktop
Symptoms:
- Claude Desktop shows "Connection failed" when trying to use Gemini tools
- MCP server appears disconnected
Diagnosis:
# Check if containers are running
docker compose ps
# Should show both containers as 'Up'
Solutions:
-
Containers not running:
docker compose up -d -
Container name mismatch:
# Check actual container name docker ps --format "{{.Names}}" # Update Claude Desktop config if needed -
Docker Desktop not running:
- Ensure Docker Desktop is started
- Check Docker daemon status:
docker info
2. "GEMINI_API_KEY environment variable is required"
Symptoms:
- Server logs show API key error
- Tools respond with authentication errors
Solutions:
-
Check .env file:
cat .env | grep GEMINI_API_KEY -
Update API key:
nano .env # Change: GEMINI_API_KEY=your_actual_api_key # Restart services docker compose restart -
Verify key is valid:
- Check Google AI Studio
- Ensure key has proper permissions
3. Redis Connection Issues
Symptoms:
- Conversation threading not working
- Error logs mention Redis connection failures
Diagnosis:
# Check Redis container
docker compose ps redis
# Test Redis connectivity
docker exec -it gemini-mcp-redis redis-cli ping
# Should return: PONG
Solutions:
-
Start Redis container:
docker compose up -d redis -
Reset Redis data:
docker compose down docker volume rm zen-mcp-server_redis_data docker compose up -d -
Check Redis logs:
docker compose logs redis
4. Tools Not Responding / Hanging
Symptoms:
- Gemini tools start but never complete
- Long response times
- Timeout errors
Diagnosis:
# Check resource usage
docker stats
# Check for memory/CPU constraints
Solutions:
-
Restart services:
docker compose restart -
Increase memory limits:
# In docker-compose.override.yml services: gemini-mcp: deploy: resources: limits: memory: 4G -
Check API rate limits:
- Verify your Gemini API quota
- Consider using a paid API key for higher limits
5. File Access Issues
Symptoms:
- "File not found" errors when using file paths
- Permission denied errors
Diagnosis:
# Check mounted directory
docker exec -it zen-mcp-server ls -la /workspace
# Verify file permissions
ls -la /path/to/your/file
Solutions:
-
Use absolute paths:
✅ /Users/yourname/project/file.py ❌ ./file.py -
Check file exists in mounted directory:
# Files must be within WORKSPACE_ROOT (default: $HOME) echo $WORKSPACE_ROOT -
Fix permissions (Linux):
sudo chown -R $USER:$USER /path/to/your/files
6. Port Conflicts
Symptoms:
- "Port already in use" errors
- Services fail to start
Diagnosis:
# Check what's using port 6379
lsof -i :6379
netstat -tulpn | grep 6379
Solutions:
-
Stop conflicting services:
# If you have local Redis running sudo systemctl stop redis # or brew services stop redis -
Use different ports:
# In docker-compose.override.yml services: redis: ports: - "6380:6379"
Platform-Specific Issues
Windows (WSL2)
Common Issues:
- Docker Desktop WSL2 integration not enabled
- File path format issues
- Permission problems
Solutions:
-
Enable WSL2 integration:
- Docker Desktop → Settings → Resources → WSL Integration
- Enable integration for your WSL distribution
-
Use WSL2 paths:
# Run commands from within WSL2 cd /mnt/c/Users/yourname/project ./setup-docker.sh -
File permissions:
# In WSL2 chmod +x setup-docker.sh
macOS
Common Issues:
- Docker Desktop not allocated enough resources
- File sharing permissions
Solutions:
-
Increase Docker resources:
- Docker Desktop → Settings → Resources
- Increase memory to at least 4GB
-
File sharing:
- Docker Desktop → Settings → Resources → File Sharing
- Ensure your project directory is included
Linux
Common Issues:
- Docker permission issues
- systemd conflicts
Solutions:
-
Docker permissions:
sudo usermod -aG docker $USER # Log out and back in -
Start Docker daemon:
sudo systemctl start docker sudo systemctl enable docker
Advanced Troubleshooting
Debug Mode
Enable detailed logging:
# In .env file
LOG_LEVEL=DEBUG
# Restart with verbose output
docker compose down && docker compose up
Container Debugging
Access container for inspection:
# Enter MCP server container
docker exec -it zen-mcp-server bash
# Check Python environment
python --version
pip list
# Test Gemini API directly
python -c "
import google.generativeai as genai
import os
genai.configure(api_key=os.getenv('GEMINI_API_KEY'))
model = genai.GenerativeModel('gemini-pro')
print('API connection test successful')
"
Network Debugging
Check container networking:
# Inspect Docker network
docker network ls
docker network inspect zen-mcp-server_default
# Test container communication
docker exec -it zen-mcp-server ping redis
Clean Reset
Complete environment reset:
# Stop everything
docker compose down -v
# Remove images
docker rmi $(docker images "zen-mcp-server*" -q)
# Clean setup
./setup-docker.sh
Performance Optimization
Resource Monitoring
# Monitor container resources
docker stats
# Check system resources
htop # or top
df -h # disk space
Optimization Tips
-
Allocate adequate memory:
- Minimum: 2GB for Docker Desktop
- Recommended: 4GB+ for large projects
-
Use SSD storage:
- Docker volumes perform better on SSDs
-
Limit context size:
- Use specific file paths instead of entire directories
- Utilize thinking modes to control token usage
Getting Help
Collect Debug Information
Before seeking help, collect:
# System information
docker --version
docker compose --version
uname -a
# Container status
docker compose ps
docker compose logs --tail=100
# Configuration
cat .env | grep -v "GEMINI_API_KEY"
Support Channels
Creating Bug Reports
Include in your bug report:
- System information (OS, Docker version)
- Steps to reproduce
- Expected vs actual behavior
- Relevant log output
- Configuration (without API keys)
See Also: