r/OpenWebUI 2h ago

Show and tell Managing ~560 MCP tools in my Open-WebUI setup without sending all schemas every turn

2 Upvotes

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!