milkymap/omnimcp
Semantic router for MCP ecosystems - discover and execute tools across multiple servers with intelligent context management.
<div align="center">
Semantic router for MCP ecosystems
*Discover and execute tools across multiple MCP servers without context bloat*
[](https://pypi.org/project/omnimcp) [](https://github.com/milkymap/omnimcp/blob/main/LICENSE) [](https://github.com/milkymap/omnimcp/actions)
</div>
---
---
MCP tool definitions consume tokens fast. A typical setup:
| Server | Tools | Tokens | |--------|-------|--------| | GitHub | 35 | ~26K | | Slack | 11 | ~21K | | Filesystem | 8 | ~5K | | Database | 12 | ~8K |
That's 60K+ tokens before the conversation starts. Add more servers and you're competing with your actual context.
Context bloat kills performance. When tool definitions consume 50-100K tokens, you're left with limited space for actual conversation, documents, and reasoning. The model spends attention on tool schemas instead of your task.
More tools = more hallucinations. With 50+ similar tools (like notification-send-user vs notification-send-channel), models pick wrong tools and hallucinate parameters. Tool selection accuracy drops as the toolset grows.
Dynamic tool loading breaks caching. Loading tools on-demand during inference seems smart, but it invalidates prompt caches. Every new tool added mid-conversation means reprocessing the entire context. Your "optimization" becomes a performance tax.
Tool results bloat context too. A single file read can return 50K tokens. An image is 1K+ tokens base64-encoded. These pile up in conversation history, pushing out earlier context.
OmniMCP exposes a single `semantic_router` tool as the only entry point to your entire MCP ecosystem. The LLM never sees individual tool definitions—just one unifie
Loading reviews...