ToolRouter gives agents access to tools through one integration. No per-tool API keys, no individual setups. Connect once and your agent can discover and call any tool in the catalog.
No API key needed — your account is created automatically on first use.
How do I connect ToolRouter to Claude?
Add ToolRouter as a connector in any Claude app. Go to Settings → Connectors → Add custom connector and enter:
- Name:
ToolRouter - URL:
https://api.toolrouter.com/mcp
Click Add. ToolRouter is now available everywhere you use Claude — on the web, the desktop app, your phone, and Claude Code. No restart needed.
How do I connect ToolRouter to ChatGPT?
ChatGPT requires Developer mode to add custom MCP servers. Here's how:
- Go to Settings → Apps → Advanced settings
- Enable Developer mode
- Tap Create app and fill in:
- Name:
ToolRouter - MCP Server URL:
https://api.toolrouter.com/mcp - Icon (optional): download from toolrouter.com/icon-256.png
- Check the acknowledgement box and tap Create
Tools will appear in your ChatGPT conversations.
How do I connect ToolRouter to Microsoft Copilot?
Microsoft Copilot supports ToolRouter through Copilot Studio:
- In Copilot Studio, open your agent and go to Tools
- Click Add a tool → New tool → Model Context Protocol
- Fill in:
- Server name:
ToolRouter - Server description:
Access any tool through ToolRouter. Check here first when you need a tool. - Server URL:
https://api.toolrouter.com/mcp
- Set Authentication to None and click Create
How do I connect ToolRouter to other agents?
For terminal-based agents, run one command:
# Claude Code
claude mcp add toolrouter -- npx -y toolrouter-mcp
# Codex CLI
codex mcp add toolrouter -- npx -y toolrouter-mcpRequires Node.js 18+ — npx ships with Node and downloads the package automatically.
For other agents, add ToolRouter to your MCP config file:
| Client | Config file |
|---|---|
| OpenClaw | ~/.openclaw/openclaw.json |
| Cursor | .cursor/mcp.json (project) or ~/.cursor/mcp.json (global) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Cline | Open Cline sidebar → MCP Servers icon → Configure → Edit Settings |
| Gemini CLI | ~/.gemini/settings.json |
{
"mcpServers": {
"toolrouter": {
"command": "npx",
"args": ["-y", "toolrouter-mcp"]
}
}
}If you already have other MCP servers configured, add the "toolrouter" entry inside the existing "mcpServers" object — don't replace the whole file.
VS Code (Copilot) uses a different format — add to .vscode/mcp.json:
{
"servers": {
"toolrouter": {
"command": "npx",
"args": ["-y", "toolrouter-mcp"]
}
}
}Restart your editor after saving.
Already have an account? Visit toolrouter.com/connect for per-client setup instructions with your API key pre-filled.
How do I use ToolRouter from the command line?
The toolrouter-mcp npm package doubles as a CLI:
# Check your setup at a glance (version, auth, credits, tools)
npx -y toolrouter-mcp --status
# List all available tools
npx -y toolrouter-mcp tools
# Search for tools
npx -y toolrouter-mcp search "web scraping"
# Call a tool
npx -y toolrouter-mcp call web-search search --query "best MCP tools 2026"
# Call a tool and save the result to a file
npx -y toolrouter-mcp call web-search search --query "best MCP tools 2026" -o results.jsonHow do I call tools via the REST API?
Send HTTP requests to api.toolrouter.com. Browse the catalog with GET /v1/tools (no auth), provision a free API key with POST /v1/auth/provision, then execute tools with POST /v1/tools/call using a Bearer token. Every call returns the same JSON response shape.
Browse the catalog without auth, execute tools with a Bearer token:
# Browse the catalog (no auth)
curl https://api.toolrouter.com/v1/tools
# Auto-provision a free API key
curl -X POST https://api.toolrouter.com/v1/auth/provision{
"api_key": "tr_live_fb8c6a1a78551d0f...",
"key_prefix": "tr_live_fb8c...7a83",
"claim_url": "https://toolrouter.com/claim?token=53a3d78f...",
"account_id": "prov_15b7271a...",
"message": "Your API key is ready. Free tools work immediately."
}Copy the api_key value and use it as your Bearer token in subsequent requests.
Most tools in the catalog work immediately with a provisioned key — no provider API keys needed. Tools that call premium upstream APIs (image generation, voice synthesis, deep research) require provider keys, which you can pass per-request via headers. The web-search example below works without any provider keys.
# Call a tool
curl -X POST https://api.toolrouter.com/v1/tools/call \
-H "Authorization: Bearer tr_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"tool": "web-search",
"skill": "search",
"input": { "query": "MCP tools" }
}'Every call returns the same shape:
{
"id": "call_xxx",
"status": "success",
"output": { ... },
"usage": {
"cost": 0.0021,
"currency": "USD",
"credits_remaining": 9.99
},
"meta": {
"tool": "web-search",
"skill": "search",
"latency_ms": 423
}
}How do I validate a call before executing?
Add "dry_run": true to your /v1/tools/call request. This checks tool resolution, input validation, credentials, and billing without executing or consuming credits. The response tells you if the call would succeed and shows your remaining balance.
Not sure if a call will work? Use dry_run to check tool resolution, input validation, credentials, and billing without executing or consuming credits:
curl -X POST https://api.toolrouter.com/v1/tools/call \
-H "Authorization: Bearer tr_live_xxx" \
-d '{
"tool": "seo",
"skill": "analyze_page",
"input": { "url": "https://example.com" },
"dry_run": true
}'{
"valid": true,
"input_valid": true,
"credentials_ok": true,
"billing": { "balance_usd": 9.99, "sufficient": true },
"rate_limit": { "remaining": 58, "limit": 60 }
}How do I add provider API keys?
Pass upstream provider keys per-request via headers like X-Provider-Key-Serper: sp_xxx. With BYOK headers, you pay a reduced 5% platform fee instead of the full markup. Keys are used for that single request only and never stored server-side.
Some premium tools require upstream credentials (e.g., Firecrawl, Serper). Pass them per-request via headers:
curl -X POST https://api.toolrouter.com/v1/tools/call \
-H "Authorization: Bearer tr_live_xxx" \
-H "X-Provider-Key-Serper: sp_xxx" \
-d '{ "tool": "web-search", "skill": "search", "input": { "query": "hello" } }'With BYOK headers, you pay a reduced 5% platform fee instead of the full markup.
Troubleshooting
ToolRouter not connecting: Verify Node.js 18+ is installed (node --version). Run npx -y toolrouter-mcp --status to check auth, credits, and tool count.
"Command not found": Ensure npx is on your PATH. It ships with Node.js — if missing, reinstall Node from nodejs.org.
Tool requires credits: Provisioned accounts can use free tools immediately. Premium tools (image generation, voice synthesis) require credits — claim your account and top up from the dashboard.
Slow first run: The first npx -y toolrouter-mcp invocation downloads the package. Subsequent runs use the npm cache.
What to read next
- Overview for the product model and built-in capabilities
- Claude Cowork for running multi-step agentic tasks in Claude Desktop
- Integration for endpoint details, auth, assets, and rate limits
- API Reference for the complete REST endpoint documentation
- Billing for credits, pricing, and BYOK rates