Skip to main content

MCP connector

nuroute-mcp-server is the official MCP server for NuRoute. It lets any MCP client — Claude Desktop, or any other MCP host — send chat completions through your NuRoute gateway and browse its model catalog, no integration code required. It's intentionally scoped to just those two operations; everything else (projects, routing config, policy, budgets, API keys) is still managed from the NuRoute dashboard.

Install​

Add it to your MCP client's config. For Claude Desktop, edit claude_desktop_config.json:

{
"mcpServers": {
"nuroute": {
"command": "npx",
"args": ["-y", "nuroute-mcp-server"],
"env": {
"NUROUTE_API_KEY": "aicp-...",
"NUROUTE_BASE_URL": "https://your-nuroute-gateway"
}
}
}
}

NUROUTE_API_KEY is required — create one from your project's (or org's) API Keys page. NUROUTE_BASE_URL defaults to http://localhost:3000.

Restart the client and the nuroute server appears in its MCP server list.

How it works​

nuroute-mcp-server runs locally, on the same machine as the MCP client — it isn't a hosted service. When Claude Desktop (or another MCP host) starts, it launches the server as a child process using the command/args from your config, and talks to it over stdin/stdout (MCP's "stdio transport"). The client kills the process when you close it or disable the server. The npm package is just the distribution mechanism: npx -y nuroute-mcp-server fetches and runs the code with no manual build step, the same way installing the n8n connector works.

Once connected, the assistant sees two tools it can call on its own when relevant to what you asked — you don't invoke them directly.

Tools​

ToolDescription
chat_completionSend messages to model ("auto" by default — NuRoute's routing engine picks the best model) or a specific model ID. Optional temperature, maxTokens, provider.
list_modelsList the models available through this gateway, so the calling assistant knows what to pass as model.

With "auto", Artemis Task picks the model for each request.

Example​

Ask Claude something that implies delegating to NuRoute, and it calls the tool itself:

You: Use NuRoute to ask the cheapest available model what 17 × 24 is, and tell me which model answered.

Claude calls chat_completion with roughly:

{
"model": "auto",
"messages": [{ "role": "user", "content": "What is 17 × 24?" }]
}

The tool returns two text blocks — the reply, and which model NuRoute actually routed to:

408
Routed to gpt-4o-mini · 24 tokens

Claude reads both and answers you in context, e.g. "17 × 24 is 408 — NuRoute routed that to gpt-4o-mini." A prompt like "what models do I have available through NuRoute?" triggers list_models the same way, with no extra setup.

Which models can I use?​

The same catalog as everywhere else. See Providers & Models for the full list, and the dashboard's Model Catalog tab for the live view (providers your admin has connected platform-wide, plus any you've connected yourself via BYOK).