mcp-bench-router
Click on "Deploy 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., "@mcp-bench-routerGenerate a modern landing page for a cloud storage startup."
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.
mcp-bench-router
MCP server that delegates design tasks to whichever model currently tops designarena.ai's crowdsourced leaderboard, via OpenRouter.
Why?
AI coding assistants produce mediocre frontend/design output. designarena.ai maintains a live leaderboard of the best design models, updated every 2 hours. This MCP server lets Claude (or any MCP client) automatically route design tasks to the current best model.
Related MCP server: OpenRouter Image MCP Server
Tools
Tool | Description |
| Get the current #1 design model, optionally by category |
| Browse full rankings with category filter and pagination |
| Send a prompt to the best available model via OpenRouter |
| Send a prompt to a specific model via OpenRouter |
Setup
Prerequisites
Node.js >= 18
An OpenRouter API key (required for
query_design_modelandquery_specific_model)
Claude Code (CLI)
claude mcp add mcp-bench-router -s user -e OPENROUTER_API_KEY=sk-or-... -- npx -y mcp-bench-routerClaude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mcp-bench-router": {
"command": "npx",
"args": ["-y", "mcp-bench-router"],
"env": {
"OPENROUTER_API_KEY": "sk-or-..."
}
}
}
}Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"mcp-bench-router": {
"command": "npx",
"args": ["-y", "mcp-bench-router"],
"env": {
"OPENROUTER_API_KEY": "sk-or-..."
}
}
}
}Other MCP clients
OPENROUTER_API_KEY=sk-or-... npx -y mcp-bench-routerFrom source
git clone https://github.com/K1ta141k/mcp-bench-router.git
cd mcp-bench-router
npm install
npm run buildCategories
Filter by design category: allcategories, website, gamedev, 3d, dataviz, uicomponent, image, logo, svg, video, imagetoimage, slides, graphicdesign, tts.
Usage Examples
Check who's #1:
"Use get_best_design_model to see the current top design model"
Browse rankings:
"Show me the top 20 design models for websites"
Generate a design:
"Use query_design_model to create a landing page for a SaaS product"
Use a specific model:
"Use query_specific_model with claude-sonnet-4-5 to design a dashboard"
How It Works
Fetches live rankings from designarena.ai's API (cached 2hr)
Maps arena model names to OpenRouter IDs (static + dynamic + fuzzy matching)
Skips codename/unreleased models and picks the best available one
Routes the prompt through OpenRouter's API
License
MIT
Available Tools
4 toolsget_best_design_modelA
Get the current #1 design model from designarena.ai's crowdsourced leaderboard, optionally filtered by category. Returns model info and OpenRouter availability.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Design category to filter by. Options: allcategories, website (models generate a complete website from a text prompt), gamedev (models generate a playable browser game from a text prompt), 3d (models generate an interactive 3d scene from a text prompt), dataviz (models generate interactive data visualizations from a text prompt), uicomponent (models generate a production-ready ui component from a text prompt), image (models generate an image from a text prompt), logo (models generate a logo design from a text prompt), svg (models generate svg markup from a text prompt), video (models generate a video from a text prompt), imagetoimage (models transform an existing image based on a text prompt), slides (models generate a presentation from a text prompt), graphicdesign (models generate graphic design assets (posters, banners, marketing materials) from a text prompt), tts (models generate speech audio from text input). Defaults to "allcategories". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions the tool reads data ('Get') and returns results, but does not detail side effects, rate limits, or safety. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant information. The purpose is front-loaded, then additional detail on optional filtering and return value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description only vaguely mentions 'model info and OpenRouter availability'. For a simple tool, this may be enough, but more specificity would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description only says 'optionally filtered by category'. The schema already fully documents the single parameter, so the description adds minimal extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves the top-ranked design model, with optional category filtering. It distinguishes from siblings like get_leaderboard (likely returns a list) and query_specific_model (by ID).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description implies use for fetching the top model, it does not explicitly state when to use this versus alternatives or when not to use it. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_leaderboardA
Browse the full designarena.ai design model rankings with optional category filter and pagination. Shows Elo ratings, win rates, and OpenRouter availability.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of entries to return (1-50). Defaults to 10. | |
| offset | No | Number of entries to skip. Defaults to 0. | |
| category | No | Design category to filter by. Options: allcategories, website (models generate a complete website from a text prompt), gamedev (models generate a playable browser game from a text prompt), 3d (models generate an interactive 3d scene from a text prompt), dataviz (models generate interactive data visualizations from a text prompt), uicomponent (models generate a production-ready ui component from a text prompt), image (models generate an image from a text prompt), logo (models generate a logo design from a text prompt), svg (models generate svg markup from a text prompt), video (models generate a video from a text prompt), imagetoimage (models transform an existing image based on a text prompt), slides (models generate a presentation from a text prompt), graphicdesign (models generate graphic design assets (posters, banners, marketing materials) from a text prompt), tts (models generate speech audio from text input). Defaults to "allcategories". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It clearly identifies the operation as a read-only browse, describes returned data (Elo ratings, win rates, availability), and implies safe behavior. However, it omits details like response format, performance characteristics, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler words. Front-loaded with verb 'Browse' and resource 'design model rankings'. Every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions returned data fields. It covers optional filtering and pagination. Minor gap: doesn't confirm ordering (by rank assumed) or mention response size limits beyond schema's parameter constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides comprehensive descriptions for all three parameters (limit, offset, category) including enum options and defaults. The description adds no additional parameter-specific meaning beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool browses full design model rankings with optional category filter and pagination, listing specific data fields like Elo ratings, win rates, and OpenRouter availability. It distinguishes from siblings which query specific models or the best model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for browsing rankings but does not explicitly state when to use this tool versus siblings (e.g., when you need a general overview vs. specific model details). No when-not-to-use or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_design_modelA
Send a design prompt to the best available model on OpenRouter, automatically selected from designarena.ai rankings. Skips models not available on OpenRouter. Requires OPENROUTER_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | The design prompt to send to the best available model. | |
| category | No | Design category to select the best model from. Options: allcategories, website (models generate a complete website from a text prompt), gamedev (models generate a playable browser game from a text prompt), 3d (models generate an interactive 3d scene from a text prompt), dataviz (models generate interactive data visualizations from a text prompt), uicomponent (models generate a production-ready ui component from a text prompt), image (models generate an image from a text prompt), logo (models generate a logo design from a text prompt), svg (models generate svg markup from a text prompt), video (models generate a video from a text prompt), imagetoimage (models transform an existing image based on a text prompt), slides (models generate a presentation from a text prompt), graphicdesign (models generate graphic design assets (posters, banners, marketing materials) from a text prompt), tts (models generate speech audio from text input). Defaults to "allcategories". | |
| max_tokens | No | Maximum tokens in the response. | |
| temperature | No | Sampling temperature (0-2). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description fully carries the burden. It discloses selection behavior (automatically selected, skips unavailable models) and the required API key. However, it does not mention error handling or what happens if no model is available.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences that efficiently convey the main action and requirement. It is front-loaded with the core purpose. However, it could be slightly more structured by separating the selection logic and requirement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but description does not mention what the tool returns (e.g., raw response, model name, or error). It also lacks details on the selection algorithm beyond 'best available', leaving some ambiguity for an agent without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add new meaning beyond the schema; it merely repeats the prompt and category concepts. No extra context on how parameters affect the selection or output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'send', the resource 'design prompt', and identifies the selection mechanism 'best available model on OpenRouter' from designarena.ai rankings. It distinguishes from sibling tools like query_specific_model by emphasizing automatic selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains when to use it (send design prompt to best model) and mentions a prerequisite (OPENROUTER_API_KEY). It implies not to use when targeting a specific model, but does not explicitly state alternatives despite sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_specific_modelA
Send a design prompt to a specific model via OpenRouter. Accepts either an OpenRouter model ID (e.g. 'anthropic/claude-sonnet-4-5-20250514') or a Design Arena model name (e.g. 'claude-sonnet-4-5'). Requires OPENROUTER_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Model identifier. Can be an OpenRouter ID (e.g. "anthropic/claude-sonnet-4-5-20250514") or a Design Arena model name (e.g. "claude-sonnet-4-5"). | |
| prompt | Yes | The design prompt to send to the model. | |
| max_tokens | No | Maximum tokens in the response. | |
| temperature | No | Sampling temperature (0-2). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It mentions the API key requirement but does not disclose whether the operation is read-only or destructive, nor does it address rate limits or other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences front-loaded with the core action, no wasted words, and efficiently covers the essentials.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, parameter types, and auth; but lacks explicit mention of the return value (expected model response), which would improve completeness given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no new parameter meaning beyond what the schema already provides (e.g., identifier types are already in the schema description).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Send a design prompt') and the target ('a specific model via OpenRouter'), and distinguishes from sibling tools by emphasizing specificity ('specific model') and alternative identifier formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for targeting a particular model (vs. siblings like get_best_design_model) and mentions a prerequisite (OPENROUTER_API_KEY), but does not explicitly state when to use this tool over alternatives or list exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.1- First observed
get_best_design_model - First observed
get_leaderboard - First observed
query_design_model - First observed
query_specific_model
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: getting the top model, viewing the full leaderboard, querying the best available model, and querying a specific model. No overlaps.
All tool names follow a consistent verb_noun pattern in snake_case (get_best_design_model, get_leaderboard, query_design_model, query_specific_model), making them predictable.
With 4 tools, the server is well-scoped for its purpose of providing design model leaderboard information and querying capabilities via OpenRouter.
The tool set covers the core workflow (view leaderboard, query best/specific model) but lacks a tool to list all available models on OpenRouter, which is a minor gap.
Maintenance
Related MCP Connectors
LLM chat, text tools, image generation, editing, batch image jobs, and asynchronous video generation
Design, save, and run outcome-aligned AI workflows and verifiers, with reliable image output.
AI model routing on your own vendor keys: pick the best model per prompt, or route and run it.
OpenRouter for tools and data. Compare catalog providers and call them from one hosted MCP endpoint.
Related MCP Servers
- AlicenseBqualityAmaintenanceProvides chat and image analysis capabilities through OpenRouter.ai's diverse model ecosystem, enabling both text conversations and powerful multimodal image processing with various AI models.11271 npm90Apache 2.0
- -licenseAqualityNot gradedmaintenanceEnables generating and editing images using OpenRouter's API with Gemini 2.5 Flash Image model. Supports custom aspect ratios, iterative editing, and reference images for style transfer.623 npm-
- FlicenseBqualityDmaintenanceProvides access to OpenRouter.ai's diverse model ecosystem for text chat and image analysis capabilities, with support for multimodal conversations and automatic image optimization.712 npm-
- AlicenseNot gradedqualityDmaintenanceEnables chat and image analysis through OpenRouter.ai models. Supports text chat, image generation, and analysis with multiple images and custom questions.271 npmApache 2.0