Route each agent task to the few tools it needs (BM25 shortlist). Free tier; x402 or credits.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Register a tool list once and get a set_id for route_tools. Pass "tools" (array in MCP, OpenAI, Anthropic, Gemini or Bedrock form, max 500) or "url" (public remote MCP server; its tools are listed, never called). Same tools always get the same set_id; sets are kept 90 days after last use. Free.
Register: public remote MCP server URL (https). Tools are listed, never called.
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).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Register a tool list once and get a set_id for route_tools. Pass "tools" (array in MCP, OpenAI, Anthropic, Gemini or Bedrock form, max 500) or "url" (public remote MCP server; its tools are listed, never called). Same tools always get the same set_id; sets are kept 90 days after last use. Free.
| Argument | Type | Description |
|---|---|---|
| url | string | Register: public remote MCP server URL (https). Tools are listed, never called. |
| tools | array | 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). |
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Register: public remote MCP server URL (https). Tools are listed, never called."
},
"tools": {
"type": "array",
"items": {
"type": "object"
},
"description": "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)."
}
}
}Which 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.
| Argument | Type | Description |
|---|---|---|
| k | integer | Fixed shortlist size (default adaptive) |
| max_k | integer | Upper bound for the adaptive size (default 12) |
| query* | string | The task or user request to route, e.g. "check if this wallet is sanctioned". |
| tools | array | 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 | string | Definition format (default mcp; names = names only) |
| set_id | string | set_id ("ts_..." from register, or a ToolFit pin). |
{
"type": "object",
"required": [
"query"
],
"properties": {
"k": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Fixed shortlist size (default adaptive)"
},
"max_k": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Upper bound for the adaptive size (default 12)"
},
"query": {
"type": "string",
"description": "The task or user request to route, e.g. \"check if this wallet is sanctioned\"."
},
"tools": {
"type": "array",
"items": {
"type": "object"
},
"description": "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": {
"enum": [
"mcp",
"openai",
"anthropic",
"gemini",
"names"
],
"type": "string",
"description": "Definition format (default mcp; names = names only)"
},
"set_id": {
"type": "string",
"description": "set_id (\"ts_...\" from register, or a ToolFit pin)."
}
}
}