io.github.grossiweb/toolroute

Registre officiel IA et agents

Route AI agent tasks to the best MCP server and LLM, scored on 132+ real benchmark executions.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package @toolroute/sdk
Claude Code
claude mcp add toolroute -- npx -y @toolroute/sdk@0.2.2
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "toolroute": {
            "command": "npx",
            "args": [
                "-y",
                "@toolroute/sdk@0.2.2"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. ToolRoute
  2. Quick start
  3. How it works
  4. Benchmark results
  5. API
  6. SDK
  7. Self-hosting
  8. How routing works
  9. Stack
  10. License

ToolRoute

Routing layer for AI agents. One call returns the best MCP server and LLM for any task — scored on 132 real benchmark executions.


Quick start

Add to any MCP client (Claude Code, Cursor, Windsurf, Cline):

{
  "mcpServers": {
    "toolroute": {
      "url": "https://toolroute.io/api/mcp"
    }
  }
}

Or via HTTP:

curl -X POST https://toolroute.io/api/route \
  -H "Content-Type: application/json" \
  -d '{"task": "search the web for recent AI papers"}'
{
  "approach": "mcp_server",
  "recommended_skill": "exa-mcp-server",
  "recommended_skill_name": "Exa MCP Server",
  "recommended_model": {
    "slug": "claude-haiku-4-5-20251001",
    "display_name": "Claude Haiku 4.5",
    "provider": "anthropic",
    "tier": "cheap_chat",
    "provider_model_id": "anthropic/claude-haiku-4-5-20251001",
    "input_cost_per_mtok": 1.00,
    "output_cost_per_mtok": 5.00
  },
  "confidence": 0.91,
  "alternatives": ["brave-search-mcp", "tavily-mcp"],
  "fallback": "brave-search-mcp"
}

recommended_model is always an object, not a bare string — the inner slug is the canonical model identifier.


How it works

Every task falls into one of three approaches:

ApproachWhenReturns
direct_llmTask needs only an LLM (code, writing, analysis)Best model + cost estimate
mcp_serverTask needs an external tool (search, email, calendar)Best tool + best model
multi_toolCompound task ("send Slack AND update Jira AND email")Ordered orchestration chain

Routing uses an LLM classifier (~$0.00001/call) for task understanding, then ranks candidates on a 5-dimension score:

Value Score = 0.35 × Output Quality
            + 0.25 × Reliability
            + 0.15 × Efficiency
            + 0.15 × Cost
            + 0.10 × Trust

Every reported outcome updates the scores. The routing gets more accurate as more agents use it.


Benchmark results

132 blind A/B executions across code, writing, analysis, structured output, and translation.

ToolRouteFixed GPT-4o
Quality wins60
Ties99
Losses0—
Avg cost$0.001–0.01$0.03–0.10

API

EndpointMethodDescription
/api/routePOSTRoute a task to best MCP server + LLM (unified)
/api/route/modelPOSTRoute to best LLM model only (no MCP server)
/api/mcpPOST (JSON-RPC)MCP server — 16 tools
/api/mcpGET (SSE)SSE transport for MCP clients
/api/reportPOSTReport MCP server outcome (lightweight)
/api/contributionsPOSTAdvanced MCP skill telemetry (requires skill_id or skill_slug in payload)
/api/report/modelPOSTReport LLM model outcome — use this for model telemetry, not /api/contributions
/api/verify/modelPOSTVerify model output quality
/api/skillsGETSearch MCP server catalog
/api/agents/registerPOSTRegister agent identity
/api/agents/preferencesPOSTSet routing preferences (Strategy D Phase 2 — allow_china, regulated_industries)
/api/healthGETService health check (DB + uptime)
/api/metricsGETPublic aggregate platform metrics (no auth)

Full reference at toolroute.io/api-docs


SDK

npm install @toolroute/sdk
import { ToolRoute } from '@toolroute/sdk'

const tr = new ToolRoute()
const rec = await tr.route({ task: 'parse this CSV and summarize it' })
// execute with rec.recommended_model ...
await tr.report({ skill: rec.recommended_skill, outcome: 'success', latency_ms: 1400 })

Self-hosting

git clone https://github.com/grossiweb/ToolRoute.git
cd ToolRoute
cp .env.local.example .env.local
npm install
npm run dev

Requires: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY


How routing works

ToolRoute classifies each task using an LLM classifier (Gemini Flash Lite, ~$0.00001/call) with a keyword fallback. The resulting tier maps to a specific model via src/lib/routing/tiers.ts. Live pricing and capability data come from the models table. See docs/architecture.md for the full picture.


Stack

Next.js 14 (App Router) · Supabase (Postgres) · Vercel

License

MIT

Questions fréquentes

Qu'est-ce que io.github.grossiweb/toolroute ?

Route AI agent tasks to the best MCP server and LLM, scored on 132+ real benchmark executions.

Comment installer io.github.grossiweb/toolroute ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add toolroute -- npx -y @toolroute/sdk@0.2.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.grossiweb/toolroute ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.grossiweb/toolroute est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.grossiweb/toolroute ?

Il est publié par grossiweb. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.