[GH-ISSUE #15504] issue: Different behavior between User Tool Servers and Global Tool Servers #120893

Closed
opened 2026-05-20 22:38:58 -05:00 by GiteaMirror · 6 comments
Owner

Originally created by @Gwenn-LR on GitHub (Jul 3, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/15504

Originally assigned to: @jackthgu on GitHub.

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

v0.6.15

Ollama Version (if applicable)

0.9.5

Operating System

Ubutu 24.04

Browser (if applicable)

Firefox 140.0.2

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

As specified in the documentation, "Once toggled on, [Global Tool Servers] function the same way as user tools.

Actual Behavior

Adding the same MCP server in User Tool Servers and in Global Tool Servers, does not lead to the same behavior : the former show a bubble with information from the tool while the latter does not produce any information about it.

EDIT: This bubble seems to correspond to the Open-WebUI backend JSON response key sources which seems to be absent when using a Global Tool Server.

Steps to Reproduce

I've created a minimal code example to setup and demonstrate the difference in this repository : https://github.com/Gwenn-LR/open-webui_user_vs_global_tool_server

It is divided between setting up a docker compose stack and configuring Ollama model, then reproducing the configuration of Open WebUI and highlighting the issue.

This is a minimal example of the behaviour noticed in another project, hence this configuration.

EDIT: It might be overkill, but could be used for other issues.

Logs & Screenshots

While trying to debug it, I've noticed that with Global Tool Server, the response from the Open-WebUI backend does not contain the sources field, while it is present with a User Tool Server.

Open-WebUI Global Tool Server response content :
Image

Open-WebUI User Tool Server response content :
Image

Additional Information

Thanks to all your team for your amazing work, it really is a pleasure to experiment with it ! <3

Originally created by @Gwenn-LR on GitHub (Jul 3, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/15504 Originally assigned to: @jackthgu on GitHub. ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version v0.6.15 ### Ollama Version (if applicable) 0.9.5 ### Operating System Ubutu 24.04 ### Browser (if applicable) Firefox 140.0.2 ### 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 As specified in the [documentation](https://docs.openwebui.com/openapi-servers/open-webui/#%EF%B8%8F-global-tool-servers-look-different--and-are-hidden-by-default), "Once toggled on, [Global Tool Servers] function the same way as user tools. ### Actual Behavior Adding the same MCP server in User Tool Servers and in Global Tool Servers, does not lead to the same behavior : the former show a bubble with information from the tool while the latter does not produce any information about it. EDIT: This bubble seems to correspond to the `Open-WebUI` backend JSON response key `sources` which seems to be absent when using a Global Tool Server. ### Steps to Reproduce I've created a minimal code example to setup and demonstrate the difference in this repository : https://github.com/Gwenn-LR/open-webui_user_vs_global_tool_server It is divided between setting up a `docker compose` stack and configuring `Ollama` model, then reproducing the configuration of `Open WebUI` and highlighting the issue. This is a minimal example of the behaviour noticed in another project, hence this configuration. EDIT: It might be overkill, but could be used for other issues. ### Logs & Screenshots While trying to debug it, I've noticed that with Global Tool Server, the response from the `Open-WebUI` backend does not contain the `sources` field, while it is present with a User Tool Server. `Open-WebUI` Global Tool Server response content : ![Image](https://github.com/user-attachments/assets/8d86edbe-6985-49b3-affa-c98439225903) `Open-WebUI` User Tool Server response content : ![Image](https://github.com/user-attachments/assets/2f3ef3b4-d643-4fb4-b390-63b67b65f752) ### Additional Information Thanks to all your team for your amazing work, it really is a pleasure to experiment with it ! <3
GiteaMirror added the bug label 2026-05-20 22:38:58 -05:00
Author
Owner

@rgaricano commented on GitHub (Jul 3, 2025):

For use it in User Side, the IP of the mcp server have to be accesible by browser (public), I do that with reverse proxy.

<!-- gh-comment-id:3032624230 --> @rgaricano commented on GitHub (Jul 3, 2025): For use it in User Side, the IP of the mcp server have to be accesible by browser (public), I do that with reverse proxy.
Author
Owner

@Gwenn-LR commented on GitHub (Jul 4, 2025):

Thanks for your answer @rgaricano but I don't have any problem to use my mcp server as a User Tool Server nor as a Global Tool Server.

I think that my issue is that the answer of the tool is not processed the same way, so the response object don't have the same structure. That can be an issue when you have filters to postprocess the answers because they won't work the same when used as a User Tool Server or as a Global Tool Server.

<!-- gh-comment-id:3034880236 --> @Gwenn-LR commented on GitHub (Jul 4, 2025): Thanks for your answer @rgaricano but I don't have any problem to use my mcp server as a User Tool Server nor as a Global Tool Server. I think that my issue is that the answer of the tool is not processed the same way, so the response object don't have the same structure. That can be an issue when you have filters to postprocess the answers because they won't work the same when used as a User Tool Server or as a Global Tool Server.
Author
Owner
<!-- gh-comment-id:3035086014 --> @rgaricano commented on GitHub (Jul 4, 2025): ok, I saw it, maybe the issue is due to differences in `tool_dict` User side: https://github.com/open-webui/open-webui/blob/59ba21bdf8eb791a412db869a13ff76c6135b651/backend/open_webui/utils/middleware.py#L894-L898 Server side: https://github.com/open-webui/open-webui/blob/59ba21bdf8eb791a412db869a13ff76c6135b651/backend/open_webui/utils/tools.py#L126-L130
Author
Owner

@jackthgu commented on GitHub (Jul 7, 2025):

This issue was resolved in cfcfefb20c.

Thank you for thoughtfully raising it!!

<!-- gh-comment-id:3044019076 --> @jackthgu commented on GitHub (Jul 7, 2025): This issue was resolved in cfcfefb20c655de465c498f5ef22654386f58c91. Thank you for thoughtfully raising it!!
Author
Owner

@Gwenn-LR commented on GitHub (Jul 7, 2025):

Damn, your fix has been done sooo quickly ! Thanks for your time and thanks again to all your team ! <3

<!-- gh-comment-id:3044032521 --> @Gwenn-LR commented on GitHub (Jul 7, 2025): Damn, your fix has been done sooo quickly ! Thanks for your time and thanks again to all your team ! <3
Author
Owner

@jackthgu commented on GitHub (Jul 7, 2025):

Citations are now generated regardless of user/global settings, and you can enable or disable them in the model settings. :)

Image
<!-- gh-comment-id:3044055578 --> @jackthgu commented on GitHub (Jul 7, 2025): Citations are now generated regardless of user/global settings, and you can enable or disable them in the model settings. :) <img width="1140" height="101" alt="Image" src="https://github.com/user-attachments/assets/2db9f354-3440-4268-aae9-c05da74a126a" />
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#120893