# LangChain’s tool routing is a bloated mess. So we built a <10ms local semantic registry to replace it at US Neural.

> Source: <https://dev.to/udaysaai/langchains-tool-routing-is-a-bloated-mess-so-we-built-a-10ms-local-semantic-registry-to-replace-56f3>
> Published: 2026-07-26 17:05:36+00:00

Look, LangChain was great to get the ecosystem started 0 to 1. But let's be honest: taking LangChain to production with 50+ tools is a nightmare of abstraction hell and brittle if/else logic. The AgentExecutor is slow, and relying on it to route complex tools feels like fighting the framework.

Tool discovery shouldn't be an LLM's job, and it shouldn't require a heavy python wrapper. It’s a distributed networking problem.

What we built at US Neural:

We built Mycelium — a decoupled, semantic tool registry. Instead of chaining tools in code, you register them to a local mesh. When a user has a task, the engine routes it semantically (no keyword matching).

The Benchmarks (No BS):

We ran this against a synthetic corpus of 100,000 agents to test if local semantic routing is actually viable for production.

Latency: 9.6ms cold discovery (vs 194ms for BM25).

Accuracy: 70.7% family-level intent matching.

Infra: 100% local (all-MiniLM-L6-v2 + ChromaDB).

If you are tired of bloated frameworks and want deterministic, sub-10ms tool routing, check out our methodology.

GitHub & Reproducible Scripts: [https://github.com/udaysaai/mycelium](https://github.com/udaysaai/mycelium)

Visual Dashboard: [https://mycelium-agents.netlify.app/](https://mycelium-agents.netlify.app/)

I’m ready to be roasted. Tell me why this architecture wouldn't scale for your stack.
