[GH-ISSUE #18140] issue: tools does not appear on chat Window when configure with TOOL_SERVER_CONNECTIONS env #57174

Closed
opened 2026-05-05 20:42:50 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @takipipo on GitHub (Oct 8, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/18140

Check Existing Issues

  • I have searched for any existing and/or related issues.
  • I have searched for any existing and/or related discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Git Clone

Open WebUI Version

v0.6.33

Ollama Version (if applicable)

No response

Operating System

macOS Sonoma

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

Tools exist on the Chat Window when configure with TOOL_SERVER_CONNECTIONS env

Actual Behavior

Tools does not exist on the Chat Window when configure with TOOL_SERVER_CONNECTIONS env. I have to go to Admin Panel > Settings > External Tools > verify > Save
And come back to Chat Window for it to be appeared

Steps to Reproduce

Setup MCPO Server

  1. Build and start the container mcpo image with Dockerfile
docker build -t mcp-proxy .
docker run -it --rm -p 8000:8000 mcp-proxy

Dockerfile

FROM python:3.11-slim

# Set working directory
WORKDIR /app

# Install system dependencies and Node.js (with npm/npx)
RUN apt-get update && apt-get install -y curl gnupg \
    && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
    && apt-get install -y nodejs \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

# Install Python dependencies
RUN pip install --no-cache-dir mcpo uv

# Copy application files
COPY . .

# Command to start your MCP server
CMD ["uvx", "mcpo", "--host", "0.0.0.0", "--port", "8000", "--config", "config.json"]

config.json

{
    "mcpServers": {
      "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "time": {
      "command": "uvx",
      "args": ["mcp-server-time", "--local-timezone=Asia/Bangkok"]
    },
  "fetch": {
    "command": "uvx",
    "args": ["mcp-server-fetch"]
  }
    }
  }

Setup Open WebUI Server

  1. Clone open-webui repo
  2. Clean all openweb-ui images and volumes
  3. Add TOOL_SERVER_CONNECTIONS=[{"type":"openapi","url":"http://host.docker.internal:8000/time","spec_type":"url","spec":"","path":"openapi.json","auth_type":"bearer","key":"","config":{},"info":{"id":"","name":"Time","description":"Time"}}] to openweb-ui env in docker-compose.otel.yaml
docker compose -f docker-compose.otel.yaml up

Then follow the video. The tools do not appear on the Chat Window at first, but when I go to the Admin Panel > Settings > External Tools. It appear there. I have to hit verify and save the tool for it to appear on the Chat Window.

https://github.com/user-attachments/assets/37227d5e-bc72-4267-a5e2-789464610213

Logs & Screenshots

Open Web UI Container Log

The tool will appear when we hit save button which produce the log
open-webui | 2025-10-08 05:14:20.795 | INFO | open_webui.config:save:212 - Saving 'TOOL_SERVER_CONNECTIONS' to the database

open-webui  | 2025-10-08 05:14:15.587 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 172.20.0.1:64984 - "POST /api/v1/configs/tool_servers/verify HTTP/1.1" 200
open-webui  | 2025-10-08 05:14:19.156 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 172.20.0.1:64984 - "GET /_app/version.json HTTP/1.1" 200
open-webui  | 2025-10-08 05:14:20.795 | INFO     | open_webui.config:save:212 - Saving 'TOOL_SERVER_CONNECTIONS' to the database
open-webui  | 2025-10-08 05:14:20.804 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 172.20.0.1:64984 - "POST /api/v1/configs/tool_servers HTTP/1.1" 200
open-webui  | 2025-10-08 05:14:29.727 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 172.20.0.1:63164 - "GET /_app/version.json HTTP/1.1" 200

MCPO Container Log

--- Server Startup Summary ---
2025-10-08 05:01:41,888 - INFO - Successfully connected to:
2025-10-08 05:01:41,888 - INFO -   - google-calendar
2025-10-08 05:01:41,888 - INFO -   - memory
2025-10-08 05:01:41,888 - INFO -   - time
2025-10-08 05:01:41,888 - INFO -   - fetch
2025-10-08 05:01:41,888 - INFO - --------------------------

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO:     172.17.0.1:65118 - "GET /time/openapi.json HTTP/1.1" 200 OK
INFO:     172.17.0.1:60736 - "GET /time/openapi.json HTTP/1.1" 200 OK
INFO:     172.17.0.1:60750 - "GET /time/openapi.json HTTP/1.1" 200 OK
INFO:     172.17.0.1:60636 - "GET /time/openapi.json HTTP/1.1" 200 OK
INFO:     172.17.0.1:60640 - "GET /time/openapi.json HTTP/1.1" 200 OK

Additional Information

No response

Originally created by @takipipo on GitHub (Oct 8, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/18140 ### 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 am using the latest version of Open WebUI. ### Installation Method Git Clone ### Open WebUI Version v0.6.33 ### Ollama Version (if applicable) _No response_ ### Operating System macOS Sonoma ### 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 Tools exist on the Chat Window when configure with TOOL_SERVER_CONNECTIONS env ### Actual Behavior Tools does not exist on the Chat Window when configure with TOOL_SERVER_CONNECTIONS env. I have to go to Admin Panel > Settings > External Tools > verify > Save And come back to Chat Window for it to be appeared ### Steps to Reproduce ## Setup MCPO Server 1. Build and start the container mcpo image with `Dockerfile` ```sh docker build -t mcp-proxy . docker run -it --rm -p 8000:8000 mcp-proxy ``` **`Dockerfile`** ```Dockerfile FROM python:3.11-slim # Set working directory WORKDIR /app # Install system dependencies and Node.js (with npm/npx) RUN apt-get update && apt-get install -y curl gnupg \ && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && apt-get install -y nodejs \ && apt-get clean && rm -rf /var/lib/apt/lists/* # Install Python dependencies RUN pip install --no-cache-dir mcpo uv # Copy application files COPY . . # Command to start your MCP server CMD ["uvx", "mcpo", "--host", "0.0.0.0", "--port", "8000", "--config", "config.json"] ``` **`config.json`** ```json { "mcpServers": { "memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] }, "time": { "command": "uvx", "args": ["mcp-server-time", "--local-timezone=Asia/Bangkok"] }, "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } } ``` ## Setup Open WebUI Server 1. Clone open-webui repo 2. Clean all openweb-ui images and volumes 3. Add `TOOL_SERVER_CONNECTIONS=[{"type":"openapi","url":"http://host.docker.internal:8000/time","spec_type":"url","spec":"","path":"openapi.json","auth_type":"bearer","key":"","config":{},"info":{"id":"","name":"Time","description":"Time"}}]` to `openweb-ui` env in `docker-compose.otel.yaml` ```sh docker compose -f docker-compose.otel.yaml up ``` Then follow the video. The tools do not appear on the Chat Window at first, but when I go to the Admin Panel > Settings > External Tools. It appear there. I have to hit verify and save the tool for it to appear on the Chat Window. https://github.com/user-attachments/assets/37227d5e-bc72-4267-a5e2-789464610213 ### Logs & Screenshots ## Open Web UI Container Log The tool will appear when we hit save button which produce the log `open-webui | 2025-10-08 05:14:20.795 | INFO | open_webui.config:save:212 - Saving 'TOOL_SERVER_CONNECTIONS' to the database` ``` open-webui | 2025-10-08 05:14:15.587 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 172.20.0.1:64984 - "POST /api/v1/configs/tool_servers/verify HTTP/1.1" 200 open-webui | 2025-10-08 05:14:19.156 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 172.20.0.1:64984 - "GET /_app/version.json HTTP/1.1" 200 open-webui | 2025-10-08 05:14:20.795 | INFO | open_webui.config:save:212 - Saving 'TOOL_SERVER_CONNECTIONS' to the database open-webui | 2025-10-08 05:14:20.804 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 172.20.0.1:64984 - "POST /api/v1/configs/tool_servers HTTP/1.1" 200 open-webui | 2025-10-08 05:14:29.727 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 172.20.0.1:63164 - "GET /_app/version.json HTTP/1.1" 200 ``` ## MCPO Container Log ``` --- Server Startup Summary --- 2025-10-08 05:01:41,888 - INFO - Successfully connected to: 2025-10-08 05:01:41,888 - INFO - - google-calendar 2025-10-08 05:01:41,888 - INFO - - memory 2025-10-08 05:01:41,888 - INFO - - time 2025-10-08 05:01:41,888 - INFO - - fetch 2025-10-08 05:01:41,888 - INFO - -------------------------- INFO: Application startup complete. INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) INFO: 172.17.0.1:65118 - "GET /time/openapi.json HTTP/1.1" 200 OK INFO: 172.17.0.1:60736 - "GET /time/openapi.json HTTP/1.1" 200 OK INFO: 172.17.0.1:60750 - "GET /time/openapi.json HTTP/1.1" 200 OK INFO: 172.17.0.1:60636 - "GET /time/openapi.json HTTP/1.1" 200 OK INFO: 172.17.0.1:60640 - "GET /time/openapi.json HTTP/1.1" 200 OK ``` ### Additional Information _No response_
GiteaMirror added the bug label 2026-05-05 20:42:51 -05:00
Author
Owner

@tjbck commented on GitHub (Oct 8, 2025):

TOOL_SERVER_CONNECTIONS is a PersistentConfig, and editing directly is not a supported method.

<!-- gh-comment-id:3383376127 --> @tjbck commented on GitHub (Oct 8, 2025): `TOOL_SERVER_CONNECTIONS` is a PersistentConfig, and editing directly is not a supported method.
Author
Owner

@takipipo commented on GitHub (Oct 9, 2025):

@tjbck I didnt edit the TOOL_SERVER_CONNECTIONS I configured on the first launch

<!-- gh-comment-id:3383855196 --> @takipipo commented on GitHub (Oct 9, 2025): @tjbck I didnt edit the `TOOL_SERVER_CONNECTIONS` I configured on the first launch
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#57174