ModelRouter MCP
The ModelRouter MCP server provides advisory LLM model recommendations, task and repository analysis, and model registry management for Cursor. All recommendations are advisory — the user must manually select the model. No user data is sent externally.
recommend_model: Advisory model recommendation based on plan and repo metadata, with optional alternatives and config overrides.analyze_task: Parse a plan document to determine task type, complexity, and requirement vector.analyze_repository: Inspect repo metadata (file counts, languages, frameworks, diff stats) without reading source file contents.estimate_cost: Estimate token usage and cost for a specific model given a plan.list_models: List all models in the registry with basic metadata.get_model_profile: Fetch the full profile and provenance for a specific model by ID.sync_metadata: Refresh model metadata from external fixture-based adapters (blocked in privacy mode).get_telemetry_summary: View local telemetry data — never leaves the machine via outbound HTTP.generate_cursor_guidance: Generate advisory Cursor guidance snippets — does not automatically apply or enforce model selection.
Integrates Ollama as a local model registry, enabling recommendations for locally hosted Ollama models.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ModelRouter MCPrecommend a model for my Python data science project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ModelRouter MCP
Advisory MCP server for intelligent LLM model recommendations in Cursor.
v1 Capability Statement
Ships:
Advisory
recommend_modelwith schema-validated JSONHeuristic task analysis (Layer A) + metadata scoring (Layer B)
Static seed registry with user-writable cache (
~/.modelrouter)Live metadata sync by default (Class D inbound fetch when
privacyMode: false)Guidance snippets for Cursor — user manually picks model
Does NOT ship:
Force Composer/Auto model selection
Continuous validation against engineering tasks (Phase 8 — stub only in v0.1)
Cursor.models.list()or any IDE runtime model APIProduct HTTP/REST API (stdio MCP only)
Related MCP server: code-review-mcp
Quick Start
npm install
npm run build
MODELROUTER_USE_FIXTURES=1 npm test
npm run validate-schemas
npm run smokeCursor MCP Configuration
npm (after publish):
{
"mcpServers": {
"modelrouter": {
"command": "npx",
"args": ["-y", "modelrouter-mcp"]
}
}
}Local development:
{
"mcpServers": {
"modelrouter": {
"command": "node",
"args": ["/absolute/path/to/ModelRouter_MCP/dist/index.js"]
}
}
}Efficient usage
Write a plan file (or pass
planTextinline)Call
recommend_modelwithplanPathorplanText(+ optionalrepoPath)Manually select the recommended model in the Cursor picker
Call
sync_metadatawhen pricing/models look stale (or wait for 24h background sync)
Tools (10)
Tool | Description |
| Advisory recommendation from plan + repo metadata |
| Task type, complexity, requirement vector |
| File counts, languages, frameworks, diff stats |
| Registry model list |
| Full profile with provenance |
| Sync from external sources (blocked in privacy mode) |
| Advisory snippets — does not apply model |
| In-process telemetry counters |
| Cost estimate for a specific model |
| Opt-in stub (no LLM calls / no score writes in v0.1) |
Benchmark ingest is internal-only (via SweBenchAdapter), not exposed as an MCP tool.
Sync source matrix
Source ID | Behavior |
| Live HTTP (fixtures when |
| Live HTTP / fixtures |
| Packaged fixture only (no live HTTP yet) |
| Probes localhost; does not write model profiles |
Configuration
See schemas/modelrouter-config.schema.json.
Setting | Default | Notes |
|
| Blocks outbound HTTP; local recommend still works |
|
| Disable to skip metadata sync |
| all adapters | Enum of source IDs above |
|
| Stub only in v0.1 |
Environment variables (not in JSON schema):
MODELROUTER_DATA_DIR— override user cache directory (default~/.modelrouter)MODELROUTER_USE_FIXTURES=1— fixtures only, no live HTTP (CI/dev offline)MODELROUTER_PRIVACY_MODE=1— startup privacy (blocks outbound sync)
Optional file: ~/.modelrouter/config.json (same schema). Precedence: env → file → defaults.
Privacy
See PRIVACY.md. User plan and repository data are never sent outbound. Optional public model metadata fetch (Class D) occurs when privacyMode: false.
Data Directories
Path | Purpose |
Packaged | Read-only seeds (npm install) |
| Writable user cache (sync updates) |
| Last sync TTL tracking |
Single-instance assumption: concurrent writes are not supported.
Troubleshooting
Build errors: Run
npm run buildbefore starting MCPStale metadata: Call
sync_metadataor wait for background TTL sync (24h)Offline dev: Set
MODELROUTER_USE_FIXTURES=1Privacy: Set
MODELROUTER_PRIVACY_MODE=1orprivacyMode: trueto block outbound HTTP
Maintainer Scripts
# Optional — requires CURSOR_API_KEY
npm run verify-cursor-ids
# CI denylist check
npm run lint:cursor-denylist
# Record live sync fixtures (network required)
npx tsx scripts/record-sync-fixtures.tsImplementation status
Phase | Status |
Runtime foundation (user dir, async sync) | Complete |
Live metadata sync | Partial (see sync matrix) |
Registry quality (cursor IDs) | Documented IDs; not all |
Calibration | Provisional |
npm publish | Pending pre-publish hardening |
Cursor model IDs in the seed registry are documented, not runtime-verified. Calibration is provisional.
See CONTRIBUTING.md for maintainer workflows.
License
MIT — see LICENSE
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseCqualityCmaintenanceMCP server for sharing source-backed engineering memory across AI coding clients like Cursor and VS Code.301MIT
- FlicenseNot gradedqualityDmaintenanceLocal MCP server for Cursor that analyzes code, finds bugs, generates tests and documentation via OpenRouter.
- AlicenseNot gradedqualityCmaintenanceUniversal MCP server that analyzes any codebase and provides structured context to AI assistants. Dynamic, accurate, and token-efficient.19MIT
- AlicenseAqualityBmaintenanceMCP server that lets any agent or MCP host delegate tasks to the Cursor CLI agent for fast, headless execution. Supports task delegation, project discovery, file analysis, and follow-up sessions.3202MIT
Related MCP Connectors
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for generating rough-draft project plans from natural-language prompts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MrSolution07/ModelRouter_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server