Skip to main content
Glama
K1ta141k

mcp-bench-router

by K1ta141k
README.md
# mcp-bench-router

MCP server that delegates design tasks to whichever model currently tops [designarena.ai](https://www.designarena.ai)'s crowdsourced leaderboard, via [OpenRouter](https://openrouter.ai).

## 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.

## 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](https://openrouter.ai/keys) (required for `query_design_model` and `query_specific_model`)

### Claude Code (CLI)

```bash
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):

```json
{
  "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:

```json
{
  "mcpServers": {
    "mcp-bench-router": {
      "command": "npx",
      "args": ["-y", "mcp-bench-router"],
      "env": {
        "OPENROUTER_API_KEY": "sk-or-..."
      }
    }
  }
}
```

### Other MCP clients

```bash
OPENROUTER_API_KEY=sk-or-... npx -y mcp-bench-router
```

### From source

```bash
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

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