/ Directory / Playground / mcp-router
● Community mcp-router ⚡ Instant

mcp-router

by mcp-router · mcp-router/mcp-router

Desktop app that manages all your MCP servers in one place — toggle tools on/off per workspace, log every call, keep credentials local.

MCP Router is a desktop management app (not an MCP server itself) for Windows and macOS. It aggregates all your MCP servers, lets you switch individual tools on/off per project, logs every request for audit, and keeps config local. Useful when you have 10+ MCPs and need workspace-level control.

Why use it

Key features

Live Demo

What it looks like in practice

router.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "router": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-router"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "router": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-router"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "router": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-router"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "router": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-router"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "router",
      "command": "npx",
      "args": [
        "-y",
        "mcp-router"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "router": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-router"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add router -- npx -y mcp-router

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use mcp-router

How to manage 10+ MCP servers without config chaos

👤 Power users with MCPs piling up ⏱ ~20 min beginner

When to use: Your claude_desktop_config.json is a mile long and you don't know which servers are actually being used.

Prerequisites
  • MCP Router installed — Download from github.com/mcp-router/mcp-router/releases
Flow
  1. Import existing config
    Open MCP Router → Import → point at Claude Desktop's config✓ Copied
    → All servers listed with status
  2. Create workspaces per project
    Create a workspace 'Client-Acme' and only enable GitHub + Sentry + Linear✓ Copied
    → Minimal toolset for that project
  3. Switch workspaces when switching projects
    In MCP Router, switch active workspace. Restart Claude.✓ Copied
    → Claude sees only the enabled MCPs

Outcome: Clean tool surfaces per project — less context pollution for the model.

Pitfalls
  • Claude caches tool list at session start — Always restart the client after switching workspace

Audit which MCP tools your agents actually use

👤 Anyone optimizing their setup ⏱ ~15 min beginner

When to use: You wonder if half your MCPs are ever actually called — cut the dead weight.

Flow
  1. Let it log for a week
    Enable request logging in MCP Router → use Claude normally for 7 days✓ Copied
    → Log accumulates real usage
  2. Review analytics
    Open MCP Router → Analytics. Which servers were called <5 times? Sort by call count.✓ Copied
    → Clear top / tail split
  3. Disable or uninstall the tail
    For servers in the bottom 25%, disable them or remove entirely✓ Copied
    → Leaner setup

Outcome: Data-driven MCP pruning — faster startup, less tool-choice confusion.

Gate dangerous MCP tools behind explicit enable

👤 Security-conscious users ⏱ ~10 min intermediate

When to use: You have a GitHub MCP with write scopes but only want it on when you're actively fixing code.

Flow
  1. Disable write tools by default
    In MCP Router, disable create_issue, create_pull_request, delete_repo for the GitHub server. Keep reads on.✓ Copied
    → Only read tools advertised to Claude
  2. Enable briefly when needed
    About to file a PR — enable create_pull_request, run the flow, disable again✓ Copied
    → Short enabled windows; audit log captures the calls

Outcome: Default-deny for destructive operations.

Combine with: mcptools

Combinations

Pair with other MCPs for X10 leverage

router + mcptools

MCP Router for day-to-day, mcptools (guard) for scripted CI gating

Use MCP Router to disable github writes on my dev machine; in CI use mcp guard policy file.✓ Copied
router + copilot

Discover new MCPs with copilot-mcp, manage them centrally with MCP Router

Install 3 new MCPs via copilot-mcp, then organize them into the 'Research' workspace in MCP Router.✓ Copied

Cost & Limits

What this costs to run

API quota
N/A — desktop app
Tokens per call
N/A
Monetary
Free, open source
Tip
Use workspaces aggressively — each workspace keeps only the tools you need, reducing per-session token overhead

Security

Permissions, secrets, blast radius

Credential storage: Credentials stored locally in MCP Router's settings; never transmitted
Data egress: None from the router itself; downstream MCPs go wherever they normally do

Troubleshooting

Common errors and fixes

Claude still sees disabled tools

Claude caches at session start — fully quit and relaunch (not just reload)

Verify: Ask Claude to list its available tools
Import fails on large configs

Malformed JSON is the usual culprit. Validate config with jq . claude_desktop_config.json first

Server won't start from router

The router uses the same command as Claude — run it in a terminal manually to see the real error

Alternatives

mcp-router vs others

AlternativeWhen to use it insteadTradeoff
copilot-mcp (VSCode)You live in VSCode and prefer extensionsVSCode-bound
Manual config editingYou have 1-3 MCPs totalNo logging, no workspace switching

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills