Skip to main content
Glama
K1ta141k

mcp-bench-router

by K1ta141k

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_best_design_model

Get the current #1 design model, optionally by category

get_leaderboard

Browse full rankings with category filter and pagination

query_design_model

Send a prompt to the best available model via OpenRouter

query_specific_model

Send a prompt to a specific model via OpenRouter

Setup

Prerequisites

  • Node.js >= 18

  • An OpenRouter API key (required for query_design_model and query_specific_model)

Claude Code (CLI)

claude mcp add mcp-bench-router -s user -e OPENROUTER_API_KEY=sk-or-... -- npx -y mcp-bench-router

Claude 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-router

From source

git clone https://github.com/K1ta141k/mcp-bench-router.git
cd mcp-bench-router
npm install
npm run build

Categories

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

  1. Fetches live rankings from designarena.ai's API (cached 2hr)

  2. Maps arena model names to OpenRouter IDs (static + dynamic + fuzzy matching)

  3. Skips codename/unreleased models and picks the best available one

  4. Routes the prompt through OpenRouter's API

License

MIT

Available Tools

4 tools
get_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoDesign 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

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of entries to return (1-50). Defaults to 10.
offsetNoNumber of entries to skip. Defaults to 0.
categoryNoDesign 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

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe design prompt to send to the best available model.
categoryNoDesign 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_tokensNoMaximum tokens in the response.
temperatureNoSampling temperature (0-2).

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel 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").
promptYesThe design prompt to send to the model.
max_tokensNoMaximum tokens in the response.
temperatureNoSampling temperature (0-2).

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 4 tool updatesv1.0.1
    • First observedget_best_design_model
    • First observedget_leaderboard
    • First observedquery_design_model
    • First observedquery_specific_model

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

With 4 tools, the server is well-scoped for its purpose of providing design model leaderboard information and querying capabilities via OpenRouter.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers