zai-mcp-server
Version:
🚀 REVOLUTIONARY AI-to-AI Collaboration Platform v6.1! NEW: Advanced Debugging Tools with Screenshot Analysis, Console Error Parsing, Automated Fix Generation, 5 Specialized Debugging Agents, Visual UI Analysis, JavaScript Error Intelligence, CSS/HTML Fix
284 lines (224 loc) • 7.11 kB
Markdown
# OpenRouter Integration Guide
## Overview
The MCP Infinite Loop Server now integrates with OpenRouter to provide AI-powered improvements using Google's Gemini 2.0 Flash model. This guide explains how to set up and use the AI features.
## Quick Setup
### 1. Get OpenRouter API Key
1. Visit [OpenRouter.ai](https://openrouter.ai)
2. Sign up for an account
3. Get your API key from the dashboard
### 2. Configure Environment
```bash
export OPENROUTER_API_KEY="your-api-key-here"
export MODEL="google/gemini-2.0-flash-exp:free"
```
### 3. Test the Integration
```bash
npm run test:openrouter
```
## MCP Client Configuration
### For Claude Desktop or other MCP clients:
```json
{
"mcpServers": {
"mcp-infinite-loop-server": {
"command": "npx",
"args": ["-y", "mcp-infinite-loop-server"],
"env": {
"OPENROUTER_API_KEY": "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",
"MODEL": "google/gemini-2.0-flash-exp:free"
}
}
}
}
```
## New Activation Command
### Simple Format
Use the new simplified activation command:
```
actloop optimize database performance
```
### Examples
- `actloop improve code quality`
- `actloop enhance user experience`
- `actloop refactor legacy systems`
- `actloop optimize API endpoints`
## AI-Powered Improvements
### How It Works
1. **User activates loop** with `actloop {topic}`
2. **Server processes topic** using the specified improvement strategy
3. **AI generates specific suggestions** via OpenRouter/Gemini
4. **Server sends AI-generated improvement** to agent
5. **Waits for agent acknowledgment** before continuing
6. **Repeats with next strategy** (optimization → refactoring → performance → etc.)
### Example AI Output
Instead of generic improvements like:
```
"Optimized database performance for better performance (iteration 1)"
```
You get specific AI suggestions like:
```
"Implement connection pooling with a maximum of 20 connections and add query result caching for frequently accessed data to reduce database load by 40-60%."
```
## Fallback System
### When API Fails
- **Rate limits**: Falls back to local improvements
- **Network issues**: Uses built-in fallback suggestions
- **Invalid API key**: Continues with local generation
- **Model unavailable**: Switches to backup improvements
### No API Key
The server works perfectly without an API key:
- Uses intelligent local improvement templates
- Maintains all loop functionality
- Provides structured improvement suggestions
## Supported Models
### Multi-Model Fallback System
The server automatically tries multiple models when one fails:
1. **google/gemini-2.0-flash-exp:free** (Primary)
2. **meta-llama/llama-4-scout:free** (Fallback 1)
3. **deepseek/deepseek-v3-base:free** (Fallback 2)
4. **meta-llama/llama-4-maverick:free** (Fallback 3)
5. **deepseek/deepseek-r1-zero:free** (Fallback 4)
6. **deepseek/deepseek-r1-0528:free** (Fallback 5)
### How Fallback Works
- **429 Rate Limit**: Automatically tries next model
- **Model Unavailable**: Switches to available model
- **Network Issues**: Retries with different model
- **All Models Failed**: Uses local fallback generation
### Custom Primary Model
You can set any model as primary:
```bash
export MODEL="meta-llama/llama-4-scout:free"
```
The fallback system will still use all available models.
## Cost Management
### Free Tier
- Gemini 2.0 Flash Experimental is free
- Rate limited but sufficient for testing
- No credit card required
### Paid Tiers
- Higher rate limits
- Access to premium models
- Better performance guarantees
## Monitoring and Debugging
### Server Logs
The server provides detailed logging:
```
[COMMAND PROCESSOR] OpenRouter client initialized
[AI GENERATION] Generating improvement for "database optimization" using optimization strategy...
[OPENROUTER] Tokens used: 45 (prompt: 32, completion: 13)
[AI GENERATION] Generated: Implement connection pooling with...
```
### Error Handling
```
[OPENROUTER ERROR] OpenRouter API error: 429 - Rate limited
[AI GENERATION ERROR] Network timeout, falling back to local generation
```
### Testing Commands
```bash
# Test basic functionality
npm test
# Test with OpenRouter integration and fallback models
npm run test:openrouter
# Run agent synchronization demo
npm run demo:sync
```
### Model Management Tools
```json
// Check which models are available/failed
{
"name": "get_model_status",
"arguments": {}
}
// Reset failed models to retry them
{
"name": "reset_failed_models",
"arguments": {}
}
```
## Best Practices
### 1. API Key Security
- Never commit API keys to version control
- Use environment variables
- Rotate keys regularly
### 2. Rate Limit Management
- Start with free tier to test
- Monitor usage in OpenRouter dashboard
- Implement retry logic for production
### 3. Topic Selection
- Be specific: "optimize database queries" vs "improve performance"
- Use actionable topics: "refactor authentication system"
- Avoid vague topics: "make it better"
### 4. Loop Management
- Set reasonable maxIterations (10-50)
- Use appropriate intervals (2-5 seconds)
- Monitor agent acknowledgments
## Troubleshooting
### Common Issues
**1. Rate Limiting**
```
Error: 429 - Rate limited
Solution: Wait and retry, or upgrade to paid tier
```
**2. Invalid API Key**
```
Error: 401 - Unauthorized
Solution: Check OPENROUTER_API_KEY environment variable
```
**3. Model Not Available**
```
Error: Model not found
Solution: Check MODEL environment variable, use supported model
```
**4. Network Issues**
```
Error: Network timeout
Solution: Check internet connection, server will use fallback
```
### Debug Mode
Set debug environment variable for verbose logging:
```bash
export DEBUG=true
npm start
```
## Integration Examples
### With Claude Desktop
1. Add server to MCP configuration
2. Restart Claude Desktop
3. Use `actloop` commands in conversation
4. Claude will receive AI-generated improvements
### With Custom MCP Client
```javascript
// Send activation request
await client.request('tools/call', {
name: 'activate_infinite_loop',
arguments: {
message: 'actloop optimize API performance'
}
});
// Handle responses
client.on('agentResponse', (data) => {
console.log('AI Improvement:', data.improvement);
// Acknowledge when done processing
client.request('tools/call', {
name: 'acknowledge_agent_response',
arguments: { loopId: data.loopId }
});
});
```
## Performance Optimization
### Token Usage
- Average: 30-50 tokens per improvement
- Cost: ~$0.0001 per improvement (paid tier)
- Free tier: ~1000 improvements per day
### Response Time
- With API: 1-3 seconds per improvement
- Fallback: <100ms per improvement
- Network dependent
### Caching
The server doesn't cache responses to ensure fresh improvements each iteration. For production use, consider implementing caching based on your needs.
## Support
For issues or questions:
1. Check server logs for error messages
2. Test with `npm run test:openrouter`
3. Verify API key and model configuration
4. Review OpenRouter dashboard for usage/limits