ToolRoute

Capa de enrutamiento inteligente para agentes de IA: recomienda el mejor servidor MCP y LLM para cualquier tarea, evaluado en más de 132 ejecuciones de referencia reales.

Documentación

ToolRoute

Capa de enrutamiento para agentes de IA. Una sola llamada devuelve el mejor servidor MCP y LLM para cualquier tarea, evaluados en 132 ejecuciones de referencia reales.

MIT


Inicio rápido

Añádelo a cualquier cliente MCP (Claude Code, Cursor, Windsurf, Cline):

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

O mediante 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 es siempre un objeto, no una cadena simple — el slug interno es el identificador canónico del modelo.


Cómo funciona

Cada tarea se clasifica en uno de tres enfoques:

EnfoqueCuándoDevuelve
direct_llmLa tarea solo necesita un LLM (código, escritura, análisis)Mejor modelo + estimación de coste
mcp_serverLa tarea necesita una herramienta externa (búsqueda, correo, calendario)Mejor herramienta + mejor modelo
multi_toolTarea compuesta ("enviar Slack Y actualizar Jira Y correo")Cadena de orquestación ordenada

El enrutamiento utiliza un clasificador LLM (~$0.00001/llamada) para comprender la tarea y luego clasifica los candidatos según una puntuación de 5 dimensiones:

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

Cada resultado notificado actualiza las puntuaciones. El enrutamiento se vuelve más preciso a medida que más agentes lo utilizan.


Resultados de referencia

132 ejecuciones A/B ciegas en código, escritura, análisis, salida estructurada y traducción.

ToolRouteGPT-4o fijo
Victorias en calidad60
Empates99
Derrotas0—
Coste medio$0.001–0.01$0.03–0.10

API

EndpointMétodoDescripción
/api/routePOSTEnruta una tarea al mejor servidor MCP + LLM (unificado)
/api/route/modelPOSTEnruta solo al mejor modelo LLM (sin servidor MCP)
/api/mcpPOST (JSON-RPC)Servidor MCP — 16 herramientas
/api/mcpGET (SSE)Transporte SSE para clientes MCP
/api/reportPOSTNotifica el resultado del servidor MCP (ligero)
/api/contributionsPOSTTelemetría avanzada de habilidades MCP (requiere skill_id o skill_slug en el payload)
/api/report/modelPOSTNotifica el resultado del modelo LLM — usa esto para telemetría de modelos, no /api/contributions
/api/verify/modelPOSTVerifica la calidad de la salida del modelo
/api/skillsGETBusca en el catálogo de servidores MCP
/api/agents/registerPOSTRegistra la identidad del agente
/api/agents/preferencesPOSTEstablece preferencias de enrutamiento (Estrategia D Fase 2 — allow_china, regulated_industries)
/api/healthGETVerificación de salud del servicio (BD + tiempo de actividad)
/api/metricsGETMétricas públicas agregadas de la plataforma (sin autenticación)

Referencia completa en 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 })

Autoalojamiento

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

Requiere: NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY


Cómo funciona el enrutamiento

ToolRoute clasifica cada tarea usando un clasificador LLM (Gemini Flash Lite, ~$0.00001/llamada) con un respaldo por palabras clave. El nivel resultante se asigna a un modelo específico mediante src/lib/routing/tiers.ts. Los datos de precios y capacidades en tiempo real provienen de la tabla models. Consulta docs/architecture.md para obtener la visión completa.


Stack

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

Licencia

MIT