[GH-ISSUE #12601] issue: MCPO tool servers correctly connected but not invoked by models #71258

Closed
opened 2026-05-13 03:13:58 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @danielbjornadal on GitHub (Apr 8, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/12601

Check Existing Issues

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

Installation Method

Git Clone

Open WebUI Version

v0.6.1

Ollama Version (if applicable)

v0.6.4

Operating System

Kubernetes

Browser (if applicable)

Chrome 134.0.6998.165

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 listed steps to reproduce the bug in detail.

Expected Behavior

The model should call the external MCPO tool and return its output.

Actual Behavior

The tool is never called. The model responds as if no tool is available.

Steps to Reproduce

  1. Deploy an MCPO-compatible tool server (like mcp-time) accessible via HTTP.
  2. Register the tool server globally in OpenWebUI via Admin Settings -> Tools.
  3. Confirm tool availability and correct OpenAPI response via manual HTTP requests (curl).
  4. Enable the tool explicitly in the model's settings in OpenWebUI.
  5. Attempt to invoke the tool via a chat prompt (e.g., "What is the local time?")

Logs & Screenshots

Image

Image

Image

Additional Information

I have set up MCPO-based external tool servers (e.g., mcp-time, mcp-atlassian) for integration with OpenWebUI. The servers are correctly deployed in Kubernetes, and the OpenWebUI admin settings correctly recognize and connect to these servers. The tools appear active in the UI, and fetching the OpenAPI specification via curl works as expected, confirming that connectivity and OpenAPI availability is functioning correctly.

However, when interacting with the models (e.g., LLama), these tools are never invoked. Models respond as if the tools don't exist (e.g., stating no access to external resources). No logs appear in the MCPO server indicating any attempted usage, despite the logs confirming OpenWebUI successfully fetching the OpenAPI spec initially.

Edit: Added Kubernetes deployment and service for more context.

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mcpo-time
  namespace: open-webui
spec:
  serviceName: mcpo-time
  replicas: 1
  selector:
    matchLabels:
      app: mcpo-time
  template:
    metadata:
      labels:
        app: mcpo-time
    spec:
      containers:
        - name: mcpo-time
          image: ghcr.io/open-webui/mcpo:main
          args:
            - --api-key
            - "top-secret"
            - --
            - uvx
            - mcp-server-time
---
apiVersion: v1
kind: Service
metadata:
  name: mcpo-time
  namespace: open-webui
spec:
  type: ClusterIP
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 8000
  selector:
    app: mcpo-time
Originally created by @danielbjornadal on GitHub (Apr 8, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/12601 ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Git Clone ### Open WebUI Version v0.6.1 ### Ollama Version (if applicable) v0.6.4 ### Operating System Kubernetes ### Browser (if applicable) Chrome 134.0.6998.165 ### 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 listed steps to reproduce the bug in detail. ### Expected Behavior The model should call the external MCPO tool and return its output. ### Actual Behavior The tool is never called. The model responds as if no tool is available. ### Steps to Reproduce 1. Deploy an MCPO-compatible tool server (like mcp-time) accessible via HTTP. 2. Register the tool server globally in OpenWebUI via Admin Settings -> Tools. 3. Confirm tool availability and correct OpenAPI response via manual HTTP requests (curl). 4. Enable the tool explicitly in the model's settings in OpenWebUI. 5. Attempt to invoke the tool via a chat prompt (e.g., "What is the local time?") ### Logs & Screenshots ![Image](https://github.com/user-attachments/assets/72504053-3b25-4343-8d26-67670282d219) ![Image](https://github.com/user-attachments/assets/c7e57847-6041-406f-b3c6-90a931742a3a) ![Image](https://github.com/user-attachments/assets/2449640b-f0ef-4920-829a-d4e4bee31518) ### Additional Information I have set up MCPO-based external tool servers (e.g., mcp-time, mcp-atlassian) for integration with OpenWebUI. The servers are correctly deployed in Kubernetes, and the OpenWebUI admin settings correctly recognize and connect to these servers. The tools appear active in the UI, and fetching the OpenAPI specification via curl works as expected, confirming that connectivity and OpenAPI availability is functioning correctly. However, when interacting with the models (e.g., LLama), these tools are never invoked. Models respond as if the tools don't exist (e.g., stating no access to external resources). No logs appear in the MCPO server indicating any attempted usage, despite the logs confirming OpenWebUI successfully fetching the OpenAPI spec initially. Edit: Added Kubernetes deployment and service for more context. ``` apiVersion: apps/v1 kind: StatefulSet metadata: name: mcpo-time namespace: open-webui spec: serviceName: mcpo-time replicas: 1 selector: matchLabels: app: mcpo-time template: metadata: labels: app: mcpo-time spec: containers: - name: mcpo-time image: ghcr.io/open-webui/mcpo:main args: - --api-key - "top-secret" - -- - uvx - mcp-server-time --- apiVersion: v1 kind: Service metadata: name: mcpo-time namespace: open-webui spec: type: ClusterIP ports: - name: http port: 80 protocol: TCP targetPort: 8000 selector: app: mcpo-time ```
GiteaMirror added the bug label 2026-05-13 03:13:58 -05:00
Author
Owner

@lowlyocean commented on GitHub (Apr 8, 2025):

Anecdotally, I've found tool servers work very consistently on a local machine using Q2_K quant of Mistral Small 3.1. I also found it was helpful in the Workspace -> Model settings to set Advanced Parameters -> Function Calling to "native"

<!-- gh-comment-id:2786822741 --> @lowlyocean commented on GitHub (Apr 8, 2025): Anecdotally, I've found tool servers work very consistently on a local machine using Q2_K quant of [Mistral Small 3.1](https://ollama.com/library/mistral-small3.1:24b-instruct-2503-fp16). I also found it was helpful in the Workspace -> Model settings to set Advanced Parameters -> Function Calling to "native"
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#71258