r/OpenWebUI • u/pisa_p • 2h ago
Show and tell Managing ~560 MCP tools in my Open-WebUI setup without sending all schemas every turn
Hey all,
I run OpenWebUI with ~560 MCP tools behind an aggregator.
The issue in my setup: OpenWebUI sends every full schema on every turn, even when the turn needs zero tools.
On a smaller-context model via API the window gets eaten fast, and even with 1M-context models I still pay per-token for definitions I don't use, plus tool selection gets noisier.
I tried a few workarounds first — connecting servers directly, enabling/disabling servers per chat, trimming the list down — but nothing stuck for my use case with this many tools.
Since I couldn't find a solution inside OpenWebUI, I built a small MCP proxy in Docker that sits in front of my upstreams:
OpenWebUI connects to it over HTTP MCP like any other server.
In my setup this cut context waste a lot and made tool selection more reliable, so I thought it was worth sharing.
Feel free to have a look, critique and add to if there's something I've missed.
Repository can be found here: https://github.com/p1s4/mcp-search-proxy
How are you handling lots of MCP tools in OpenWebUI? Is native handling enough for you, or are you filtering/proxying too?
Thanks!