[GH-ISSUE #19901] issue: New OAuth 2.1 Streamable HTTP MCP server Eetries do not propagate across multi-node setups #34562

Closed
opened 2026-04-25 08:36:25 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @taylorwilsdon on GitHub (Dec 12, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/19901

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!).
  • I am using the latest version of Open WebUI.

Installation Method

Git Clone

Open WebUI Version

v0.6.41

Ollama Version (if applicable)

No response

Operating System

Ubuntu

Browser (if applicable)

Chrome

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

When running in a multi-node clustered environment with active Redis config sync in place, newly created tool servers should propagate to all nodes in the cluster and work uniformly across all users connecting to all servers.

Actual Behavior

Only works on the node it was created on, never propagates out.

  • MCP OAuth clients are registered into in-memory oauth_client_manager at startup and during the config POST (backend/
    open_webui/main.py:1934-1955, backend/open_webui/routers/configs.py:162-194).
  • OAuth handlers 404 when the client is missing (backend/open_webui/utils/oauth.py:560-578).
  • Redis/DB sync exists for TOOL_SERVER_CONNECTIONS and OpenAPI spec cache, but not for the MCP OAuth client registry.
  • Users randomly fail MCP OAuth flows in multi-node deployments, depending on which node the LB selects.

Steps to Reproduce

Create a new streamble HTTP OAuth 2.1 MCP server with a multi node cluster without sticky sessions enabled and try to use it. It will only work 1 out of how ever many nodes times you refresh at random.

Logs & Screenshots

Image

Additional Information

PR incoming

Originally created by @taylorwilsdon on GitHub (Dec 12, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/19901 ### Check Existing Issues - [x] I have searched for any existing and/or related issues. - [x] I have searched for any existing and/or related discussions. - [x] I have also searched in the CLOSED issues AND CLOSED discussions and found no related items (your issue might already be addressed on the development branch!). - [x] I am using the latest version of Open WebUI. ### Installation Method Git Clone ### Open WebUI Version v0.6.41 ### Ollama Version (if applicable) _No response_ ### Operating System Ubuntu ### Browser (if applicable) Chrome ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior When running in a multi-node clustered environment with active Redis config sync in place, newly created tool servers should propagate to all nodes in the cluster and work uniformly across all users connecting to all servers. ### Actual Behavior Only works on the node it was created on, never propagates out. - MCP OAuth clients are registered into in-memory oauth_client_manager at startup and during the config POST (backend/ open_webui/main.py:1934-1955, backend/open_webui/routers/configs.py:162-194). - OAuth handlers 404 when the client is missing (backend/open_webui/utils/oauth.py:560-578). - Redis/DB sync exists for TOOL_SERVER_CONNECTIONS and OpenAPI spec cache, but not for the MCP OAuth client registry. - Users randomly fail MCP OAuth flows in multi-node deployments, depending on which node the LB selects. ### Steps to Reproduce Create a new streamble HTTP OAuth 2.1 MCP server with a multi node cluster without sticky sessions enabled and try to use it. It will only work 1 out of how ever many nodes times you refresh at random. ### Logs & Screenshots <img width="621" height="178" alt="Image" src="https://github.com/user-attachments/assets/b283dca0-d35c-4f5f-b19d-9eabb8a47cad" /> ### Additional Information PR incoming
GiteaMirror added the bug label 2026-04-25 08:36:25 -05:00
Author
Owner

@owui-terminator[bot] commented on GitHub (Dec 12, 2025):

🔍 Similar Issues Found

I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions:

  1. #19778 issue: Streamable HTTP Notion MCP server doesn't stay enabled after authorizing
    by Sam-Horry • Dec 05, 2025 • bug

  2. #17866 issue: Streamable HTTP OAuth 2.1 registers correctly but throws 500 on first invocation missing SessionMiddleware
    by taylorwilsdon • Sep 28, 2025 • bug

  3. #19116 issue: MCP OAuth 2.1 client registration fails when policy_uri, client_uri, logo_uri or tos_uri are not set
    by xqqp • Nov 11, 2025 • bug

  4. #19525 issue: MCP Streamable HTTP incompatible with OpenMetadata MCP server due to missing Accept: application/json, text/event-stream header
    by aimendenche-nw • Nov 26, 2025 • bug

  5. #14762 issue: open-webui does not work with StreamableHttpTransport based MCP servers
    by alainivars • Jun 07, 2025 • bug

Show 5 more related issues
  1. #19148 issue: Verify OAuth mcp server sends incorrect authorization header
    by Oleg52 • Nov 12, 2025 • bug

  2. #17817 issue: MCP tool calls are sent to wrong server when multiple streamable-http MCP servers are enabled, causing 'MCP error -32602: Tool not found'
    by eric2788 • Sep 27, 2025 • bug

  3. #19154 issue: model streaming parameter set to True, even though the setting is set to False
    by DirkRemmers • Nov 13, 2025 • bug

  4. #16452 issue: Streaming response not iterable error - Organization Not Verified
    by jamesmalin • Aug 10, 2025 • bug

  5. #15411 issue: upstream headers are dropped for non-streaming chat completions request
    by Simon-Stone • Jul 01, 2025 • bug


💡 Tips:

  • If this is a duplicate, please consider closing this issue and adding any additional details to the existing one
  • If you found a solution in any of these issues, please share it here to help others

This comment was generated automatically by a bot. Please react with a 👍 if this comment was helpful, or a 👎 if it was not.

<!-- gh-comment-id:3644634377 --> @owui-terminator[bot] commented on GitHub (Dec 12, 2025): 🔍 **Similar Issues Found** I found some existing issues that might be related to this one. Please check if any of these are duplicates or contain helpful solutions: 1. [#19778](https://github.com/open-webui/open-webui/issues/19778) **issue: Streamable HTTP Notion MCP server doesn't stay enabled after authorizing** *by Sam-Horry • Dec 05, 2025 • `bug`* 2. [#17866](https://github.com/open-webui/open-webui/issues/17866) **issue: Streamable HTTP OAuth 2.1 registers correctly but throws 500 on first invocation missing SessionMiddleware** *by taylorwilsdon • Sep 28, 2025 • `bug`* 3. [#19116](https://github.com/open-webui/open-webui/issues/19116) **issue: MCP OAuth 2.1 client registration fails when policy_uri, client_uri, logo_uri or tos_uri are not set** *by xqqp • Nov 11, 2025 • `bug`* 4. [#19525](https://github.com/open-webui/open-webui/issues/19525) **issue: MCP Streamable HTTP incompatible with OpenMetadata MCP server due to missing Accept: application/json, text/event-stream header** *by aimendenche-nw • Nov 26, 2025 • `bug`* 5. [#14762](https://github.com/open-webui/open-webui/issues/14762) **issue: open-webui does not work with StreamableHttpTransport based MCP servers** *by alainivars • Jun 07, 2025 • `bug`* <details> <summary>Show 5 more related issues</summary> 6. [#19148](https://github.com/open-webui/open-webui/issues/19148) **issue: Verify OAuth mcp server sends incorrect authorization header** *by Oleg52 • Nov 12, 2025 • `bug`* 7. [#17817](https://github.com/open-webui/open-webui/issues/17817) **issue: MCP tool calls are sent to wrong server when multiple streamable-http MCP servers are enabled, causing 'MCP error -32602: Tool not found'** *by eric2788 • Sep 27, 2025 • `bug`* 8. [#19154](https://github.com/open-webui/open-webui/issues/19154) **issue: model streaming parameter set to True, even though the setting is set to False** *by DirkRemmers • Nov 13, 2025 • `bug`* 9. [#16452](https://github.com/open-webui/open-webui/issues/16452) **issue: Streaming response not iterable error - Organization Not Verified** *by jamesmalin • Aug 10, 2025 • `bug`* 10. [#15411](https://github.com/open-webui/open-webui/issues/15411) **issue: upstream headers are dropped for non-streaming chat completions request** *by Simon-Stone • Jul 01, 2025 • `bug`* </details> --- 💡 **Tips:** - If this is a duplicate, please consider closing this issue and adding any additional details to the existing one - If you found a solution in any of these issues, please share it here to help others *This comment was generated automatically by a bot.* Please react with a 👍 if this comment was helpful, or a 👎 if it was not.
Author
Owner

@Classic298 commented on GitHub (Dec 21, 2025):

should be fixed in dev

<!-- gh-comment-id:3678956708 --> @Classic298 commented on GitHub (Dec 21, 2025): should be fixed in dev
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#34562