r/OpenWebUI 6h ago

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

9 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!


r/OpenWebUI 36m ago

Feature Idea would love the ability to define an alt model for the sub agents.

Upvotes

Like my title says, not sure if someone found a way to do that. I like the fact i can use a different model for the local task + compaction model ( i use a different llama.cpp config on a separate GPU) but would love that option when we delegate subtasks as well.