LLM Router MCP
Route prompts intelligently across Claude, Gemini, and GPT-4o, automatically picking the best model for every task while minimizing token cost.
README
LLM Router MCP
Route prompts intelligently across Claude, Gemini, and GPT-4o — automatically picking the best model for every task while minimising token cost.
✨ What is this?
llm-router-mcp is a Model Context Protocol (MCP) server that acts as an intelligent dispatcher for your AI workloads. Instead of hardcoding a single LLM into your workflow, the router analyses the intent of each prompt and automatically selects the most cost-effective and capable model for that specific task type.
Your prompt ──► LLM Router ──► PLANNING → Gemini
├── SCAFFOLDING → Gemini
├── CODEGEN → Claude
├── REFACTOR → Claude
├── REVIEW → Claude
├── TESTING → GPT-4o
└── IMPLEMENT → GPT-4o
🚀 Features
- Smart intent-based routing — classifies prompts into 8 task categories and dispatches to the optimal model
- Three frontier models — integrates Claude (Anthropic), Gemini (Google), and GPT-4o (OpenAI) out of the box
- Zero-config mock mode — works out of the box with no API keys; auto-enables mock mode when keys are absent
- Session-aware context caching — maintains conversation context across turns within the same session
- Explicit tool shortcuts — bypass auto-routing with dedicated
plan_workflow,generate_code, andimplement_featuretools - MCP-native — drop it into any MCP-compatible host (Claude Desktop, Cursor, VS Code Continue, etc.)
📦 Quick Start
Option A — npx (no install needed)
npx llm-router-mcp
Option B — Global install
npm install -g llm-router-mcp
llm-router-mcp
Option C — From source
git clone https://github.com/Devatva24/LLM-Router-MCP.git
cd LLM-Router-MCP
npm install
npm run build
node dist/index.js
No API keys? No problem. The server automatically falls back to mock mode and logs a helpful message. You only need keys when you want real model responses.
🗺️ Routing Logic
| Task Category | Trigger Keywords | Routed To |
|---|---|---|
| Planning | architecture, design, system design, strategy, workflow | ✦ Gemini |
| Scaffolding | scaffold, boilerplate, setup, folder structure | ✦ Gemini |
| Code Generation | write a function, implement, create a class, algorithm | ✦ Claude |
| Refactor | refactor, clean up, improve, rewrite, restructure | ✦ Claude |
| Code Review | review, debug, explain, what's wrong, critique | ✦ Claude |
| Testing | unit tests, Jest, Vitest, test suite, test cases | ✦ GPT-4o |
| Implementation | implement, add endpoint, build the, create the API | ✦ GPT-4o |
| General | anything else | ✦ Claude (fallback) |
⚙️ Configuration
Set your API keys as environment variables to use real models:
# Mac / Linux
export ANTHROPIC_API_KEY=sk-ant-...
export GOOGLE_API_KEY=AIza...
export OPENAI_API_KEY=sk-...
# Windows (PowerShell)
$env:ANTHROPIC_API_KEY="sk-ant-..."
$env:GOOGLE_API_KEY="AIza..."
$env:OPENAI_API_KEY="sk-..."
If any keys are missing the server auto-enables mock mode — no crash, no config needed.
🖥️ Editor Integration
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"llm-router": {
"command": "npx",
"args": ["llm-router-mcp"]
}
}
}
Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"llm-router": {
"command": "npx",
"args": ["llm-router-mcp"]
}
}
}
VS Code (Continue extension)
Add to ~/.continue/config.json:
{
"mcpServers": {
"llm-router": {
"command": "npx",
"args": ["llm-router-mcp"]
}
}
}
Ready-made config files for Cursor and Continue are included in the
cursor-config/and%USERPROFILE%/.continue/directories of this repo.
🧰 Available MCP Tools
route_prompt
Automatically classifies and routes a prompt to the best model.
{
"prompt": "Write a recursive function to flatten deeply nested objects",
"session_id": "my-session"
}
plan_workflow
Explicitly routes to Gemini for high-level planning and architecture tasks.
{
"prompt": "Design a checkout flow for an e-commerce app",
"session_id": "my-session"
}
generate_code
Explicitly routes to Claude for complex logic, algorithms, and refactoring.
{
"prompt": "Write a binary search tree with insert and delete",
"session_id": "my-session"
}
implement_feature
Explicitly routes to GPT-4o for feature implementation and test generation.
{
"prompt": "Implement the /api/products CRUD endpoints",
"session_id": "my-session"
}
clear_context
Clears the cached conversation context for a given session.
{
"session_id": "my-session"
}
🧪 Running Tests
The test suite validates all routing decisions in mock mode — no API keys needed:
npm test
Expected output:
🧪 LLM Router — mock test suite
✅ planning → Gemini
✅ codegen → Claude
✅ testing → GPT-4o
✅ review → Claude
✅ explicit plan_workflow
✅ explicit implement_feature
✅ context cache — 2nd turn
✅ clear_context
──────────────────────────────────────────
8 passed 0 failed (8 total)
📁 Project Structure
LLM-Router-MCP/
├── src/
│ ├── index.ts # MCP server entrypoint & routing logic
│ ├── classifier.ts # Prompt intent classifier
│ ├── context-cache.ts # Session-aware context management
│ ├── mock.ts # Mock responses for zero-cost testing
│ └── logger.ts # Lightweight logger
├── dist/ # Compiled JavaScript (after npm run build)
├── cursor-config/ # Ready-made Cursor MCP config
├── test-router.cjs # End-to-end test suite (mock mode)
├── tsconfig.json
└── package.json
🤝 Contributing
Contributions are welcome! Feel free to open an issue or submit a pull request for:
- Adding support for additional LLM providers
- Improving routing classification accuracy
- Adding streaming response support
- Writing more test coverage
📄 License
MIT — see LICENSE for details.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.