You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I thought you might still be trying Open-WebUI and may have run into the issue where MCP servers sometimes hang and the execute icon just spins. Any tips on how to address that?
If you’d like to try my setup—or just see how an MCP server wrapped in an OpenAPI wrapper can be used as a tool in Open-WebUI—here’s outline based on the official modelcontextprotocol rust-sdk. It works about 95% of the time… but in ~5% of cases, it just hangs 🤷
Background / My observations
I’ve been brushing up on MCP and experimenting with examples from both claude-code and Open-WebUI.
I’m starting to suspect that Open-WebUI is simply not fully baked yet (I’ve hit issues multiple times)... but maybe someone here knows a trick to make it rock-solid? :)
How I do it
Open-WebUI requires an OpenAPI server endpoint.
So you need to wrap your MCP server in an OpenAPI wrapper.
I use the official mcpo from Open-WebUI.
(side note: maybe this is where I’m going wrong and should try a different wrapper?)
The problem: flaky hanging
It happens SOMETIMES, and the issue is flaky: calls in Open-WebUI can hang indefinitely—the “execute” icon just spins and spins…
For example, I might ask for 6 tool calls and 2 out of 6 will fail; other times I use it repeatedly and it works every single time.
Still, it should never spin forever. Even after a docker restart it continues spinning, there’s no built-in timeout…
(Maybe it’s an Open-WebUI bug, not mcpo, but since it’s a tooling-usage issue, the mcpo repo maintainers/community seem like the best audience.)
Step-by-step setup
Run the example server from the official rust-sdk (e.g. servers_std_io):
git clone https://github.com/modelcontextprotocol/rust-sdk/
cd rust-sdk
cargo run -p mcp-server-examples --example servers_std_io
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone!
I thought you might still be trying Open-WebUI and may have run into the issue where MCP servers sometimes hang and the execute icon just spins. Any tips on how to address that?
If you’d like to try my setup—or just see how an MCP server wrapped in an OpenAPI wrapper can be used as a tool in Open-WebUI—here’s outline based on the official modelcontextprotocol rust-sdk. It works about 95% of the time… but in ~5% of cases, it just hangs 🤷
Background / My observations
claude-code
and Open-WebUI.How I do it
Open-WebUI requires an OpenAPI server endpoint.
So you need to wrap your MCP server in an OpenAPI wrapper.
I use the official
mcpo
from Open-WebUI.The problem: flaky hanging
It happens SOMETIMES, and the issue is flaky: calls in Open-WebUI can hang indefinitely—the “execute” icon just spins and spins…
For example, I might ask for 6 tool calls and 2 out of 6 will fail; other times I use it repeatedly and it works every single time.
Still, it should never spin forever. Even after a
docker restart
it continues spinning, there’s no built-in timeout…Step-by-step setup
Run the example server from the official
rust-sdk
(e.g.servers_std_io
):git clone https://github.com/modelcontextprotocol/rust-sdk/ cd rust-sdk cargo run -p mcp-server-examples --example servers_std_io
Or build the binary and use it:
Launch that server via
mcpo
(usinguvx
):Verify it works at:
http://127.0.0.1:4371/docs
Add it as a Tool in Open-WebUI:
http://127.0.0.1:4371
Test by opening a chat with GPT-4o and OpenAI o4-mini.
IMPORTANT: In the chat settings, switch Function/Tool Calling from “Default” to “Native”—only then do OpenAI models actually invoke the tool.
Results
Single calls—especially to the example “weather” and “time” servers from the [open-webui/openapi-servers repo]—generally work fine.
But when I ask the model to perform multiple calls (e.g. the “call all provided tools” demo):
{}
and hang with the spinning icon indefinitely.Beta Was this translation helpful? Give feedback.
All reactions