Files
my-pal-mcp-server/docs/user-guides/troubleshooting.md
Patryk Ciechanski e37cb71da2 fix: Address Gemini Code Assist review feedback
- Repository URL consistency: Updated all references to BeehiveInnovations/zen-mcp-server format
- Documentation clarity: Fixed misleading table headers and improved Docker configuration examples
- File conventions: Added missing final newlines to all files
- Configuration consistency: Clarified API key placeholder format in documentation

Addresses all points raised in PR #17 review by Gemini Code Assist.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-12 15:38:01 +02:00

413 lines
7.4 KiB
Markdown

# Troubleshooting Guide
This guide helps you resolve common issues with the Gemini MCP Server.
## Quick Diagnostics
### Check System Status
```bash
# Verify containers are running
docker compose ps
# Check logs for errors
docker compose logs -f
# Test API connectivity
docker exec -it gemini-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:**
```bash
# Check if containers are running
docker compose ps
# Should show both containers as 'Up'
```
**Solutions:**
1. **Containers not running:**
```bash
docker compose up -d
```
2. **Container name mismatch:**
```bash
# Check actual container name
docker ps --format "{{.Names}}"
# Update Claude Desktop config if needed
```
3. **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:**
1. **Check .env file:**
```bash
cat .env | grep GEMINI_API_KEY
```
2. **Update API key:**
```bash
nano .env
# Change: GEMINI_API_KEY=your_actual_api_key
# Restart services
docker compose restart
```
3. **Verify key is valid:**
- Check [Google AI Studio](https://makersuite.google.com/app/apikey)
- Ensure key has proper permissions
### 3. Redis Connection Issues
**Symptoms:**
- Conversation threading not working
- Error logs mention Redis connection failures
**Diagnosis:**
```bash
# Check Redis container
docker compose ps redis
# Test Redis connectivity
docker exec -it gemini-mcp-redis redis-cli ping
# Should return: PONG
```
**Solutions:**
1. **Start Redis container:**
```bash
docker compose up -d redis
```
2. **Reset Redis data:**
```bash
docker compose down
docker volume rm gemini-mcp-server_redis_data
docker compose up -d
```
3. **Check Redis logs:**
```bash
docker compose logs redis
```
### 4. Tools Not Responding / Hanging
**Symptoms:**
- Gemini tools start but never complete
- Long response times
- Timeout errors
**Diagnosis:**
```bash
# Check resource usage
docker stats
# Check for memory/CPU constraints
```
**Solutions:**
1. **Restart services:**
```bash
docker compose restart
```
2. **Increase memory limits:**
```yaml
# In docker-compose.override.yml
services:
gemini-mcp:
deploy:
resources:
limits:
memory: 4G
```
3. **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:**
```bash
# Check mounted directory
docker exec -it gemini-mcp-server ls -la /workspace
# Verify file permissions
ls -la /path/to/your/file
```
**Solutions:**
1. **Use absolute paths:**
```
✅ /Users/yourname/project/file.py
❌ ./file.py
```
2. **Check file exists in mounted directory:**
```bash
# Files must be within WORKSPACE_ROOT (default: $HOME)
echo $WORKSPACE_ROOT
```
3. **Fix permissions (Linux):**
```bash
sudo chown -R $USER:$USER /path/to/your/files
```
### 6. Port Conflicts
**Symptoms:**
- "Port already in use" errors
- Services fail to start
**Diagnosis:**
```bash
# Check what's using port 6379
lsof -i :6379
netstat -tulpn | grep 6379
```
**Solutions:**
1. **Stop conflicting services:**
```bash
# If you have local Redis running
sudo systemctl stop redis
# or
brew services stop redis
```
2. **Use different ports:**
```yaml
# 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:**
1. **Enable WSL2 integration:**
- Docker Desktop → Settings → Resources → WSL Integration
- Enable integration for your WSL distribution
2. **Use WSL2 paths:**
```bash
# Run commands from within WSL2
cd /mnt/c/Users/yourname/project
./setup-docker.sh
```
3. **File permissions:**
```bash
# In WSL2
chmod +x setup-docker.sh
```
### macOS
**Common Issues:**
- Docker Desktop not allocated enough resources
- File sharing permissions
**Solutions:**
1. **Increase Docker resources:**
- Docker Desktop → Settings → Resources
- Increase memory to at least 4GB
2. **File sharing:**
- Docker Desktop → Settings → Resources → File Sharing
- Ensure your project directory is included
### Linux
**Common Issues:**
- Docker permission issues
- systemd conflicts
**Solutions:**
1. **Docker permissions:**
```bash
sudo usermod -aG docker $USER
# Log out and back in
```
2. **Start Docker daemon:**
```bash
sudo systemctl start docker
sudo systemctl enable docker
```
## Advanced Troubleshooting
### Debug Mode
Enable detailed logging:
```bash
# In .env file
LOG_LEVEL=DEBUG
# Restart with verbose output
docker compose down && docker compose up
```
### Container Debugging
Access container for inspection:
```bash
# Enter MCP server container
docker exec -it gemini-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:
```bash
# Inspect Docker network
docker network ls
docker network inspect gemini-mcp-server_default
# Test container communication
docker exec -it gemini-mcp-server ping redis
```
### Clean Reset
Complete environment reset:
```bash
# Stop everything
docker compose down -v
# Remove images
docker rmi $(docker images "gemini-mcp-server*" -q)
# Clean setup
./setup-docker.sh
```
## Performance Optimization
### Resource Monitoring
```bash
# Monitor container resources
docker stats
# Check system resources
htop # or top
df -h # disk space
```
### Optimization Tips
1. **Allocate adequate memory:**
- Minimum: 2GB for Docker Desktop
- Recommended: 4GB+ for large projects
2. **Use SSD storage:**
- Docker volumes perform better on SSDs
3. **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:
```bash
# 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
- 📖 [Documentation](../README.md)
- 💬 [GitHub Discussions](https://github.com/BeehiveInnovations/zen-mcp-server/discussions)
- 🐛 [Issue Tracker](https://github.com/BeehiveInnovations/zen-mcp-server/issues)
### Creating Bug Reports
Include in your bug report:
1. System information (OS, Docker version)
2. Steps to reproduce
3. Expected vs actual behavior
4. Relevant log output
5. Configuration (without API keys)
---
**See Also:**
- [Installation Guide](installation.md)
- [Configuration Guide](configuration.md)