mirror of
https://github.com/open-webui/open-webui.git
synced 2026-06-04 07:47:12 -05:00
[GH-ISSUE #14603] feat: Native MCP support (without mcpo) #55981
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @msabramo on GitHub (Jun 2, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/14603
Check Existing Issues
Problem Description
I've read the reasoning for using mcpo instead of having Open WebUI natively support MCP:
and I think these are well-reasoned arguments, given the state of how things were not very long ago, but I think the landscape has changed and I wonder if you'd consider reconsidering.
I think it's still true that most MCP servers are STDIO. I think this is because SSE was hard to implement and there was no auth and running a server adds the hurdle of having to deploy it and a lot of people didn't want to think about that, especially when creating open-source MCP servers.
But nowadays, the MCP server spec supports a Streamable HTTP transport which is easier to deal with and this supports authorization via OAuth 2.1.
Now I feel like I should mention that I haven't seen many MCP servers that implement this and I also haven't seen many MCP clients that implement this (which is why I'm wanting Open WebUI to support it, so that there is an easy to use client that isn't as developer-focused as IDEs like Cursor, GitHub Copilot, Windsurf, etc.) but I think there are some reasons for this:
Now I haven't messed too much with 3rd party tools for Open WebUI, but the ones I've seen don't require authentication. So I don't know if the lack of authentication in MCP servers is a big deal. OTOH, MCP servers now have the potential to support OAuth so I think this has the potential to be solved.
I'm a developer in an enterprise that is interested in having a lot of internal MCP servers for using internal enterprise resources. At this point in time, MCP seems to be way more popular than OpenAPI because there are lots of tools that people like that support MCP. If I am going to expose internal resources in my enterprise I am most likely going to write MCP servers and not OpenAPI. Now I can run an mcpo server so that Open WebUI can use these, but it just seems like extra work and extra complexity that I have to explain to people and maintain. Every time someone creates a new MCP and wants it to be usable in Open WebUI, I need to update the mcpo config to support it. In other words, it's doable but it has extra friction, probably to the point that it would hurt Open WebUI adoption. I feel like Open WebUI is much more likely to get used at my company if it can super easily consume from MCP servers.
I am currently looking at taking a bunch of STDIO-based MCP servers in use at my company and creating versions of them that are served over Streamable HTTP and supporting OAuth for authorization. The main obstacle is the lack of clients that can actually consume such servers. If Open WebUI were to support this kind of server, then I'd have a way to demonstrate the value of these servers and then I'd be able to advocate for creating more of these servers and using Open WebUI as the recommended way to access them.
I love Open WebUI and have promoted it within my company and have had limited success for whatever reason. I think with MCP there might be an opportunity for Open WebUI to become a popular way to interact with MCP servers (because most of the other MCP clients are IDEs that non-technical people would prefer to not deal with), but I feel that the need for mcpo is creating too much friction for it to achieve its full potential as the de-facto chat client (and MCP client).
I respect your reasoning and will respect your decision if you don't want to support MCP (heck, dealing with MCP is a little bit exhausting because it's new and changing rapidly), but I do feel like Open WebUI will benefit from a tighter integration with MCP.
Desired Solution you'd like
Ability to add an MCP server directly to Open WebUI without having to use mcpo
Alternatives Considered
No response
Additional Context
No response
@tjbck commented on GitHub (Jun 2, 2025):
We'll consider supporting
streamable httponly.@SheldonGrant commented on GitHub (Jun 5, 2025):
This makes a log of sense. is there somewhere this dicussion is being had. Would really love to contribute to the discussion.