A focused testing environment for MCP (Model Context Protocol) servers with multiple LLM providers. Compare how different models handle tool calling, track metrics, and analyze performance.
- Multi-Provider Support: Test with Groq, OpenAI, and Anthropic models
- MCP Server Integration: Connect to multiple MCP servers simultaneously
- Smart Media Rendering: Automatically embed plots, images, and iframes from tool outputs
- Detailed Metrics: Track tokens, latency, tool calls, and iterations
- Debug Mode: Toggle detailed tool execution visibility
- Analytics Dashboard: Built-in database viewer with filtering and export
- SQLite Storage: All conversations saved with full metadata for analysis
pip install -r requirements.txtcp .env.example .env
# Edit .env with your API keysRequired: At least one LLM provider API key:
GROQ_API_KEY- Get from console.groq.comOPENAI_API_KEY- Get from platform.openai.comANTHROPIC_API_KEY- Get from console.anthropic.com
Edit config/mcp_config.json:
{
"mcpServers": {
"rosbag_reader": {
"command": "/path_to_venv/bin/python",
"args": [
"/path_to_ws/mcp-rosbags/src/server.py"
],
}
}
}python run.pyOpen your browser to:
- Main Lab: http://localhost:8000
mcp-lab/
├── app.py # FastAPI backend
├── config.py # Configuration
├── run.py # Application launcher
├── requirements.txt # Python dependencies
├── .env # Your API keys (create from .env.example)
├── mcp_lab.db # SQLite database (created automatically)
│
├── config/
│ └── mcp_config.json # MCP server configurations
│
├── services/
│ ├── llm_service.py # Multi-provider LLM management
│ ├── mcp_service.py # MCP server management
│ ├── mcp_tools_bridge.py # Tool conversion bridge
│ └── db_service.py # Database operations
│
├── handlers/
│ ├── chat_handler.py # Chat message processing
│ └── websocket_manager.py # WebSocket connections
│
└── frontend/
├── index.html # Main chat interface
├── analytics.html # Analytics dashboard
└── style.css # Styling
- Start a conversation - The AI will automatically discover available tools
- Toggle Debug Mode - See detailed tool execution, arguments, and results
- Compare Providers - Switch between providers/models to compare behavior
- Tokens: Approximate token count for the exchange
- Latency: Total time from request to response
- Tools Called: Number of MCP tool invocations
- Iterations: Number of reasoning cycles (simple agent in a loop)
The system automatically detects and renders:
file:///path/to/plot.html→ Embedded iframe- Image files → Inline images
- Plotly/chart URLs → Embedded visualizations
- View all conversations with filtering
- Compare provider/model performance
- Export data as JSON or CSV
- Track average metrics per provider
Add to config/mcp_config.json:
{
"mcpServers": {
"your-server": {
"command": "path-to-executable",
"args": ["arg1", "arg2"],
"env": {
"ENV_VAR": "value"
}
}
}
}- Verify MCP server packages are installed
- Check the command paths in
mcp_config.json - Look at console logs for specific error messages
- Verify at least one API key is set in
.env - Check that the API key is valid
- Ensure you have access to the models
- Delete
mcp_lab.dbto start fresh - Check write permissions in the directory
Set DEBUG=True in .env for:
- Auto-reload on code changes
- Detailed logging
- Error stack traces
Apache 2
Built for testing MCP (Model Context Protocol) servers with various LLM providers. MCP is originally developed by Anthropic.