ToolRoute: Route a task to the right tools
route_toolsWhich of my tools does this task need? Send "set_id" (from register_tools) or "tools", plus "query" (the task). Returns a ranked shortlist (adaptive 3-12 tools, or "k"), confidence (high/medium/low/none), matched terms, token savings and the definitions ready to inject ("format": mcp, openai, anthropic, gemini or names). BM25 keyword ranking, no LLM. Free: 200 calls/day per IP, then $0.001 per call via x402 or credits. Not for: tool sets small enough to send whole (under about 10 tools).
[ToolRoute via YourAITools MCP Hub] Free tier: same as ToolRoute's own MCP server (call without payment and without tier). Paid: route $0.001 per call, with a credits key (Authorization: Bearer yatc_...) or x402 (USDC; the hub returns the payment terms). Failed tool calls aren't charged: credits are refunded automatically and x402 payments only settle on success.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"query": "<query>"
},
"name": "route_tools"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | Fixed shortlist size (default adaptive) | |
| tier | No | Paid tier: route $0.001. Omit tier (with no credits key or x402 payment) to use the free tier. | |
| max_k | No | Upper bound for the adaptive size (default 12) | |
| query | Yes | The task or user request to route, e.g. "check if this wallet is sanctioned". | |
| tools | No | Tool definitions (MCP, OpenAI, Anthropic, Gemini or Bedrock form), max 500. For route: only if you have no set_id (the set is registered on the fly). | |
| format | No | Definition format (default mcp; names = names only) | |
| set_id | No | set_id ("ts_..." from register, or a ToolFit pin). |