Open WebUI MCP server: connect Sume's hosted MCP

Add Sume's hosted MCP to Open WebUI as an admin: type MCP (Streamable HTTP), then OAuth 2.1 per user or one shared Bearer key.

5 min readSume
All posts

Open WebUI (v0.6.31 and later) connects to MCP servers over Streamable HTTP, and only an admin can add one: Settings > Admin > Integrations, + Add Connection under External Tool Servers, Type MCP (Streamable HTTP). For Sume's hosted MCP server, enter https://mcp.sume.com/mcp and pick the auth: OAuth 2.1 lets each user sign in to their own Sume account, while Bearer with a Sume API key puts everyone the connection is shared with on one key.

Open WebUI's side comes from its MCP docs; Sume's side comes from MCP OAuth and API keys, MCP quickstart, and MCP tools and gates, all read on 2026-09-27. Sume has no official Open WebUI integration, and Sume's basics page says hosted MCP still works but is not part of the primary path today.

How do I add an MCP server to Open WebUI?

  • Set the WEBUI_SECRET_KEY environment variable first. Without it, OAuth-connected MCP tools break every time you restart or recreate the container (Error decrypting tokens).
  • Open Settings > Admin > Integrations and, under External Tool Servers, click + Add Connection.
  • Set Type to MCP (Streamable HTTP), not OpenAPI. MCP-style JSON in an OpenAPI connection can crash the UI or leave it loading forever.
  • Enter https://mcp.sume.com/mcp as the Server URL, choose the auth mode, and Save. Restart Open WebUI if prompted.
  • MCP servers are admin-only by design. To give users the tools, add the connection once and scope it to users or groups with Access Control.

Should I use OAuth 2.1 or a Bearer key?

Open WebUI's docs say to start with OAuth 2.1 if the server supports dynamic client registration (DCR), and Sume's current server advertises a registration endpoint. With OAuth 2.1, each user connects their own account: the first time someone enables the tool from the Integrations menu in a chat, Open WebUI sends them to Sume, and the grant is stored against their account alone.

Sume's consent page shows Read locked on and Write off by default. A user who leaves Write off gets read tools only, and paid tools such as generate_image return insufficient_scope. If you override OAuth Scopes with custom scopes, Sume's current server accepts only mcp:read and mcp:write.

Auth modes from Open WebUI's MCP docs; Sume's side from MCP OAuth and API keys and current server code, read 2026-09-27.
Auth modeWhat Open WebUI doesWith Sume
NoneNo token; for servers that require noneNot usable: Sume answers with an OAuth challenge
BearerSends Authorization: Bearer with the Key, which must be filled inA Sume API key; full hosted tool set, paid tools included
OAuth 2.1Dynamic Client RegistrationEach user consents on mcp.sume.com; Write is off by default
OAuth 2.1 (Static)Pre-created client ID and client secretSume's docs describe no pre-created client; use OAuth 2.1

Who pays when chat users call Sume tools?

With Bearer, every call runs on one Sume API key. Sume API keys and spend resolve to a workspace, and an admin-added connection is shared with the users you scope it to, so all of them spend from that one workspace. Neither set of docs says so in one sentence; it follows from the two together.

With OAuth 2.1, each user signs in and consents for their own Sume account. Don't set an OAuth 2.1 tool as a default tool on a model: the sign-in needs a browser redirect that can't happen mid-request. And while Open WebUI refreshes tokens automatically after the first sign-in, Sume's current server issues one-hour access tokens and no refresh token, so users authorize again after an hour.

How do I limit which Sume tools chat can use?

Fill in the connection's Function Name Filter List, which restricts which tools are exposed to the model; Open WebUI's docs say leaving it empty exposes all tools in most cases. List Sume's read tools, such as mcp_health, tools_list, jobs_wait, and jobs_result, plus only the paid tools you want users to reach. Each paid call needs an idempotency_key, dry_run=true previews the cost, and max_spend_usd caps a call only when it is sent.

What are the limits?

  • Open WebUI's native MCP support is Streamable HTTP only.
  • Check OAuth Discovery only fetches and parses the discovery document. It never contacts the MCP server or lists tools, so a green result doesn't prove tool calls work.
  • Sume's current OAuth server accepts a plain http redirect address only at localhost or 127.0.0.1; https addresses are accepted. Open WebUI finishes sign-in at the address in WEBUI_URL, so serve it over HTTPS when users reach it at any other address.
  • Hosted MCP cannot read files from a user's laptop, and reference images for generate_image must be public HTTPS URLs.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume