Smart Router Overview
Smart Router exposes one mcp tool that routes across all configured servers. Instead of registering every backend tool directly, the model calls mcp(action=..., server=..., tool=...) and the bridge resolves execution.
For multi-server setups this dramatically reduces tool-definition tokens. The README positions router mode at roughly ~98-99% token savings versus large direct-tool surfaces.
At a glance
Section titled “At a glance”- Intent routing from natural language requests
- Schema compression to reduce token footprint
- Result caching with LRU + TTL
- Batch calls for parallel execution
- Multi-server resolution when tool names collide
- Adaptive promotion for frequently used tools
Text architecture diagram
Section titled “Text architecture diagram”MCP client (Claude/Cursor/OpenClaw) | v single "mcp" tool | v Smart Router (intent + resolution + batching + cache) | v Security layer (trust/filter/limits) | v Upstream MCP servers (todoist/github/notion/...)With vs without smart router
Section titled “With vs without smart router”| Setup | Model-visible tools | Context impact |
|---|---|---|
Without smart router (direct mode) | Every backend tool is exposed | Grows quickly with server count |
With smart router (router mode) | Single mcp meta-tool | Much smaller tool-definition footprint |
Base router call patterns
Section titled “Base router call patterns”mcp(action="list", server="todoist")mcp(action="call", server="todoist", tool="find-tasks", params={"query":"today"})mcp(action="intent", intent="find my tasks for today")Jump to feature pages in this section for behavior and config knobs.