[GH-ISSUE #17764] issue: External Tool servers (OpenAPI) stopped working with 0.6.31 update #18390

Closed
opened 2026-04-20 00:36:32 -05:00 by GiteaMirror · 26 comments
Owner

Originally created by @dmizin on GitHub (Sep 26, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/17764

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

Docker

Open WebUI Version

0.6.31

Ollama Version (if applicable)

n/a

Operating System

K8S

Browser (if applicable)

n/a

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

I have updated our staging OWUI from 0.6.30 to 0.6.31 using ghcr.io/open-webui/open-webui:0.6.31-slim image deployed on OpenShift. External Tool OpenAPI servers running alongside were expected to continue to function.

Actual Behavior

Following upgrade from 0.6.30 to 0.60.31 External Tool OpenAPI servers are no longer usable

Steps to Reproduce

I have used https://github.com/open-webui/mcpo proxy with reference time and fetch and custom weather MCP tools built as a single container, deployed on the same OpenShift cluster in the same namespace. I expect any OpenAPI style MCP server deployed in similar manner to fail.

Tool Server is deployed Admin style, not as user Tool server

Logs & Screenshots

How OWUI sees Tool Servers in both versions:

2025-09-26 00:31:04.141 | INFO | open_webui.utils.tools:get_tool_server_data:572 - Fetched data: {'openapi': {'openapi': '3.1.0', 'info': {'title': 'weather-server', 'description': 'weather-server MCP Server', 'version': '1.0.0'}, 'servers': [{'url': '/weather'}], 'paths': {'/get_current_weather': {'post': {'summary': 'Get Current Weather', 'description': 'Get current weather information for a location using Open-Meteo', 'operationId': 'tool_get_current_weather_post', 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/get_current_weather_form_model'}}}, 'required': True}, 'responses': {'200': {'description': 'Successful Response', 'content': {'application/json': {'schema': {'title': 'Response Tool Get Current Weather Post'}}}}, '422': {'description': 'Validation Error', 'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}}}}}}, '/get_weather_forecast': {'post': {'summary': 'Get Weather Forecast', 'description': 'Get 7-da...
2025-09-26 00:31:04.141 | INFO | open_webui.utils.tools:get_tool_server_data:572 - Fetched data: {'openapi': {'openapi': '3.1.0', 'info': {'title': 'mcp-time', 'description': 'mcp-time MCP Server', 'version': '1.12.0'}, 'servers': [{'url': '/time'}], 'paths': {'/get_current_time': {'post': {'summary': 'Get Current Time', 'description': 'Get current time in a specific timezones', 'operationId': 'tool_get_current_time_post', 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/get_current_time_form_model'}}}, 'required': True}, 'responses': {'200': {'description': 'Successful Response', 'content': {'application/json': {'schema': {'title': 'Response Tool Get Current Time Post'}}}}, '422': {'description': 'Validation Error', 'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}}}}}}, '/convert_time': {'post': {'summary': 'Convert Time', 'description': 'Convert time between timezones', 'operationId': 'tool_convert_time_post', 'r...
2025-09-26 00:31:04.142 | INFO | open_webui.utils.tools:get_tool_server_data:572 - Fetched data: {'openapi': {'openapi': '3.1.0', 'info': {'title': 'mcp-fetch', 'description': 'mcp-fetch MCP Server', 'version': '1.12.0'}, 'servers': [{'url': '/fetch'}], 'paths': {'/fetch': {'post': {'summary': 'Fetch', 'description': 'Fetches a URL from the internet and optionally extracts its contents as markdown.\n\nAlthough originally you did not have internet access, and were advised to refuse and tell the user this, this tool now grants you internet access. Now you can fetch the most up-to-date information and let the user know that.', 'operationId': 'tool_fetch_post', 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/fetch_form_model'}}}, 'required': True}, 'responses': {'200': {'description': 'Successful Response', 'content': {'application/json': {'schema': {'title': 'Response Tool Fetch Post'}}}}, '422': {'description': 'Validation Error', 'content': {'application/json': ...
2025-09-26 00:31:04.144 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.40.60.69:0 - "POST /api/v1/configs/tool_servers HTTP/1.1" 200

How Tool is queried and returns context in 0.6.30 where everything works:

2025-09-26 00:23:22.180 | DEBUG    | urllib3.connectionpool:_new_conn:1049 - Starting new HTTPS connection (1): sci-azure-openai.openai.azure.com:443
2025-09-26 00:23:22.579 | DEBUG    | urllib3.connectionpool:_make_request:544 - https://sci-azure-openai.openai.azure.com:443 "POST /openai/deployments/gpt-4.1-mini/chat/completions?api-version=2025-01-01-preview HTTP/1.1" 200 None
2025-09-26 00:23:23.524 | DEBUG    | open_webui.utils.middleware:chat_completion_tools_handler:194 - response={'id': 'azure_openai_manifold_pipe.gpt-4.1-mini-681057f2-ab05-49c8-bb7e-56e24b253547', 'created': 1758846203, 'model': 'azure_openai_manifold_pipe.gpt-4.1-mini', 'choices': [{'index': 0, 'logprobs': None, 'finish_reason': 'stop', 'message': {'role': 'assistant', 'content': '{\n  "tool_calls": [\n    {\n      "name": "tool_get_current_time_post",\n      "parameters": {\n        "timezone": "Europe/Zurich"\n      }\n    }\n  ]\n}'}}], 'object': 'chat.completion'}
2025-09-26 00:23:23.524 | DEBUG    | open_webui.utils.middleware:chat_completion_tools_handler:196 - content='{\n  "tool_calls": [\n    {\n      "name": "tool_get_current_time_post",\n      "parameters": {\n        "timezone": "Europe/Zurich"\n      }\n    }\n  ]\n}'
2025-09-26 00:23:23.524 | DEBUG    | open_webui.utils.middleware:tool_call_handler:211 - tool_call={'name': 'tool_get_current_time_post', 'parameters': {'timezone': 'Europe/Zurich'}}
2025-09-26 00:23:23.531 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 10.40.60.69:0 - "GET /_app/version.json HTTP/1.1" 200
2025-09-26 00:23:23.541 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 10.40.60.69:0 - "GET /api/v1/folders/ HTTP/1.1" 200
2025-09-26 00:23:23.560 | DEBUG    | open_webui.utils.middleware:chat_completion_tools_handler:316 - tool_contexts: [{'source': {'name': 'TOOL:server:0/tool_get_current_time_post'}, 'document': ['{\n  "timezone": "Europe/Zurich",\n  "datetime": "2025-09-26T02:23:23+02:00",\n  "is_dst": true\n}'], 'metadata': [{'source': 'TOOL:server:0/tool_get_current_time_post', 'parameters': {'timezone': 'Europe/Zurich'}}], 'tool_result': True}]

How Tool is queried and returns sees no context in 0.6.31 - does not work:

2025-09-25 23:25:37.919 | DEBUG    | urllib3.connectionpool:_new_conn:1049 - Starting new HTTPS connection (1): sci-azure-openai.openai.azure.com:443
2025-09-25 23:25:38.181 | DEBUG    | urllib3.connectionpool:_make_request:544 - https://sci-azure-openai.openai.azure.com:443 "POST /openai/deployments/gpt-4.1-mini/chat/completions?api-version=2025-01-01-preview HTTP/1.1" 200 None
2025-09-25 23:25:39.156 | DEBUG    | open_webui.utils.middleware:chat_completion_tools_handler:204 - response={'id': 'azure_openai_manifold_pipe.gpt-4.1-mini-d365e495-a160-4b14-9ae5-4700737b3490', 'created': 1758842739, 'model': 'azure_openai_manifold_pipe.gpt-4.1-mini', 'choices': [{'index': 0, 'logprobs': None, 'finish_reason': 'stop', 'message': {'role': 'assistant', 'content': '{\n  "tool_calls": [\n    {\n      "name": "tool_get_current_time_post",\n      "parameters": {\n        "timezone": "Europe/Zurich"\n      }\n    }\n  ]\n}'}}], 'object': 'chat.completion'}
2025-09-25 23:25:39.157 | DEBUG    | open_webui.utils.middleware:chat_completion_tools_handler:206 - content='{\n  "tool_calls": [\n    {\n      "name": "tool_get_current_time_post",\n      "parameters": {\n        "timezone": "Europe/Zurich"\n      }\n    }\n  ]\n}'
2025-09-25 23:25:39.157 | DEBUG    | open_webui.utils.middleware:tool_call_handler:221 - tool_call={'name': 'tool_get_current_time_post', 'parameters': {'timezone': 'Europe/Zurich'}}
2025-09-25 23:25:39.167 | INFO     | uvicorn.protocols.http.httptools_impl:send:476 - 10.40.60.69:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200
2025-09-25 23:25:39.178 | DEBUG    | open_webui.utils.middleware:chat_completion_tools_handler:326 - tool_contexts: []

Additional Information

I went several times between OWUI versions and this is a repeatable behavior

Originally created by @dmizin on GitHub (Sep 26, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/17764 ### 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 Docker ### Open WebUI Version 0.6.31 ### Ollama Version (if applicable) n/a ### Operating System K8S ### Browser (if applicable) n/a ### 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 I have updated our staging OWUI from 0.6.30 to 0.6.31 using `ghcr.io/open-webui/open-webui:0.6.31-slim` image deployed on OpenShift. External Tool OpenAPI servers running alongside were expected to continue to function. ### Actual Behavior Following upgrade from 0.6.30 to 0.60.31 External Tool OpenAPI servers are no longer usable ### Steps to Reproduce I have used https://github.com/open-webui/mcpo proxy with reference time and fetch and custom weather MCP tools built as a single container, deployed on the same OpenShift cluster in the same namespace. I expect any OpenAPI style MCP server deployed in similar manner to fail. Tool Server is deployed Admin style, not as user Tool server ### Logs & Screenshots How OWUI sees Tool Servers in both versions: ``` 2025-09-26 00:31:04.141 | INFO | open_webui.utils.tools:get_tool_server_data:572 - Fetched data: {'openapi': {'openapi': '3.1.0', 'info': {'title': 'weather-server', 'description': 'weather-server MCP Server', 'version': '1.0.0'}, 'servers': [{'url': '/weather'}], 'paths': {'/get_current_weather': {'post': {'summary': 'Get Current Weather', 'description': 'Get current weather information for a location using Open-Meteo', 'operationId': 'tool_get_current_weather_post', 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/get_current_weather_form_model'}}}, 'required': True}, 'responses': {'200': {'description': 'Successful Response', 'content': {'application/json': {'schema': {'title': 'Response Tool Get Current Weather Post'}}}}, '422': {'description': 'Validation Error', 'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}}}}}}, '/get_weather_forecast': {'post': {'summary': 'Get Weather Forecast', 'description': 'Get 7-da... 2025-09-26 00:31:04.141 | INFO | open_webui.utils.tools:get_tool_server_data:572 - Fetched data: {'openapi': {'openapi': '3.1.0', 'info': {'title': 'mcp-time', 'description': 'mcp-time MCP Server', 'version': '1.12.0'}, 'servers': [{'url': '/time'}], 'paths': {'/get_current_time': {'post': {'summary': 'Get Current Time', 'description': 'Get current time in a specific timezones', 'operationId': 'tool_get_current_time_post', 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/get_current_time_form_model'}}}, 'required': True}, 'responses': {'200': {'description': 'Successful Response', 'content': {'application/json': {'schema': {'title': 'Response Tool Get Current Time Post'}}}}, '422': {'description': 'Validation Error', 'content': {'application/json': {'schema': {'$ref': '#/components/schemas/HTTPValidationError'}}}}}}}, '/convert_time': {'post': {'summary': 'Convert Time', 'description': 'Convert time between timezones', 'operationId': 'tool_convert_time_post', 'r... 2025-09-26 00:31:04.142 | INFO | open_webui.utils.tools:get_tool_server_data:572 - Fetched data: {'openapi': {'openapi': '3.1.0', 'info': {'title': 'mcp-fetch', 'description': 'mcp-fetch MCP Server', 'version': '1.12.0'}, 'servers': [{'url': '/fetch'}], 'paths': {'/fetch': {'post': {'summary': 'Fetch', 'description': 'Fetches a URL from the internet and optionally extracts its contents as markdown.\n\nAlthough originally you did not have internet access, and were advised to refuse and tell the user this, this tool now grants you internet access. Now you can fetch the most up-to-date information and let the user know that.', 'operationId': 'tool_fetch_post', 'requestBody': {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/fetch_form_model'}}}, 'required': True}, 'responses': {'200': {'description': 'Successful Response', 'content': {'application/json': {'schema': {'title': 'Response Tool Fetch Post'}}}}, '422': {'description': 'Validation Error', 'content': {'application/json': ... 2025-09-26 00:31:04.144 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.40.60.69:0 - "POST /api/v1/configs/tool_servers HTTP/1.1" 200 ``` How Tool is queried and returns context in `0.6.30` where everything works: ``` 2025-09-26 00:23:22.180 | DEBUG | urllib3.connectionpool:_new_conn:1049 - Starting new HTTPS connection (1): sci-azure-openai.openai.azure.com:443 2025-09-26 00:23:22.579 | DEBUG | urllib3.connectionpool:_make_request:544 - https://sci-azure-openai.openai.azure.com:443 "POST /openai/deployments/gpt-4.1-mini/chat/completions?api-version=2025-01-01-preview HTTP/1.1" 200 None 2025-09-26 00:23:23.524 | DEBUG | open_webui.utils.middleware:chat_completion_tools_handler:194 - response={'id': 'azure_openai_manifold_pipe.gpt-4.1-mini-681057f2-ab05-49c8-bb7e-56e24b253547', 'created': 1758846203, 'model': 'azure_openai_manifold_pipe.gpt-4.1-mini', 'choices': [{'index': 0, 'logprobs': None, 'finish_reason': 'stop', 'message': {'role': 'assistant', 'content': '{\n "tool_calls": [\n {\n "name": "tool_get_current_time_post",\n "parameters": {\n "timezone": "Europe/Zurich"\n }\n }\n ]\n}'}}], 'object': 'chat.completion'} 2025-09-26 00:23:23.524 | DEBUG | open_webui.utils.middleware:chat_completion_tools_handler:196 - content='{\n "tool_calls": [\n {\n "name": "tool_get_current_time_post",\n "parameters": {\n "timezone": "Europe/Zurich"\n }\n }\n ]\n}' 2025-09-26 00:23:23.524 | DEBUG | open_webui.utils.middleware:tool_call_handler:211 - tool_call={'name': 'tool_get_current_time_post', 'parameters': {'timezone': 'Europe/Zurich'}} 2025-09-26 00:23:23.531 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.40.60.69:0 - "GET /_app/version.json HTTP/1.1" 200 2025-09-26 00:23:23.541 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.40.60.69:0 - "GET /api/v1/folders/ HTTP/1.1" 200 2025-09-26 00:23:23.560 | DEBUG | open_webui.utils.middleware:chat_completion_tools_handler:316 - tool_contexts: [{'source': {'name': 'TOOL:server:0/tool_get_current_time_post'}, 'document': ['{\n "timezone": "Europe/Zurich",\n "datetime": "2025-09-26T02:23:23+02:00",\n "is_dst": true\n}'], 'metadata': [{'source': 'TOOL:server:0/tool_get_current_time_post', 'parameters': {'timezone': 'Europe/Zurich'}}], 'tool_result': True}] ``` How Tool is queried and returns sees no context in `0.6.31` - does not work: ``` 2025-09-25 23:25:37.919 | DEBUG | urllib3.connectionpool:_new_conn:1049 - Starting new HTTPS connection (1): sci-azure-openai.openai.azure.com:443 2025-09-25 23:25:38.181 | DEBUG | urllib3.connectionpool:_make_request:544 - https://sci-azure-openai.openai.azure.com:443 "POST /openai/deployments/gpt-4.1-mini/chat/completions?api-version=2025-01-01-preview HTTP/1.1" 200 None 2025-09-25 23:25:39.156 | DEBUG | open_webui.utils.middleware:chat_completion_tools_handler:204 - response={'id': 'azure_openai_manifold_pipe.gpt-4.1-mini-d365e495-a160-4b14-9ae5-4700737b3490', 'created': 1758842739, 'model': 'azure_openai_manifold_pipe.gpt-4.1-mini', 'choices': [{'index': 0, 'logprobs': None, 'finish_reason': 'stop', 'message': {'role': 'assistant', 'content': '{\n "tool_calls": [\n {\n "name": "tool_get_current_time_post",\n "parameters": {\n "timezone": "Europe/Zurich"\n }\n }\n ]\n}'}}], 'object': 'chat.completion'} 2025-09-25 23:25:39.157 | DEBUG | open_webui.utils.middleware:chat_completion_tools_handler:206 - content='{\n "tool_calls": [\n {\n "name": "tool_get_current_time_post",\n "parameters": {\n "timezone": "Europe/Zurich"\n }\n }\n ]\n}' 2025-09-25 23:25:39.157 | DEBUG | open_webui.utils.middleware:tool_call_handler:221 - tool_call={'name': 'tool_get_current_time_post', 'parameters': {'timezone': 'Europe/Zurich'}} 2025-09-25 23:25:39.167 | INFO | uvicorn.protocols.http.httptools_impl:send:476 - 10.40.60.69:0 - "GET /api/v1/chats/?page=1 HTTP/1.1" 200 2025-09-25 23:25:39.178 | DEBUG | open_webui.utils.middleware:chat_completion_tools_handler:326 - tool_contexts: [] ``` ### Additional Information I went several times between OWUI versions and this is a repeatable behavior
GiteaMirror added the bug label 2026-04-20 00:36:32 -05:00
Author
Owner

@tjbck commented on GitHub (Sep 26, 2025):

Hmm, we're unable to reproduce with uvx mcpo --port 8000 --api-key "top-secret" -- uvx mcp-server-time --local-timezone=America/New_York, could you double check it works with 0.6.30?

<!-- gh-comment-id:3336435725 --> @tjbck commented on GitHub (Sep 26, 2025): Hmm, we're unable to reproduce with `uvx mcpo --port 8000 --api-key "top-secret" -- uvx mcp-server-time --local-timezone=America/New_York`, could you double check it works with 0.6.30?
Author
Owner

@vincentzhangz commented on GitHub (Sep 26, 2025):

Mine too, when on version 0.6.30 my tool calling is working.
Now on the version 0.6.31, it's calling the tool, but not being return to the LLM or the user.

<!-- gh-comment-id:3336549315 --> @vincentzhangz commented on GitHub (Sep 26, 2025): Mine too, when on version 0.6.30 my tool calling is working. Now on the version 0.6.31, it's calling the tool, but not being return to the LLM or the user.
Author
Owner

@rollingstone87 commented on GitHub (Sep 26, 2025):

same here, 0.6.31 mcp tools are not working here. worked well with 0.6.30

<!-- gh-comment-id:3336626505 --> @rollingstone87 commented on GitHub (Sep 26, 2025): same here, 0.6.31 mcp tools are not working here. worked well with 0.6.30
Author
Owner

@RocketRider commented on GitHub (Sep 26, 2025):

Same here, after updating to 0.6.31 the openAI tools stoped working.
What I figured out so far:

  • I am using a Model with tool and knowledge.
  • It always calls the tool, but does not use it in the respose
  • When I disable the knowledge base, so only the tool is available it works with 0.6.31, but as soon as I add the knowledge again, it does not seem to use the tools resposes.
<!-- gh-comment-id:3336818557 --> @RocketRider commented on GitHub (Sep 26, 2025): Same here, after updating to 0.6.31 the openAI tools stoped working. What I figured out so far: - I am using a Model with tool and knowledge. - It always calls the tool, but does not use it in the respose - When I disable the knowledge base, so only the tool is available it works with 0.6.31, but as soon as I add the knowledge again, it does not seem to use the tools resposes.
Author
Owner

@tomkho123 commented on GitHub (Sep 26, 2025):

The model will use the tool when you switch from the default tool calling to native. But I haven't figured out any way to use task models for tools calling

<!-- gh-comment-id:3338187484 --> @tomkho123 commented on GitHub (Sep 26, 2025): The model will use the tool when you switch from the default tool calling to native. But I haven't figured out any way to use task models for tools calling
Author
Owner

@pbrennanwhite commented on GitHub (Sep 26, 2025):

After the update, we immediately noticed that suggested chats which previously triggered tool calls now just return the tool query in the response, without actually executing the tool. Interestingly, when we switch to "native" mode, tool calling seems to work correctly again. Because of this issue, we had plans to roll back this morning.

<!-- gh-comment-id:3338646761 --> @pbrennanwhite commented on GitHub (Sep 26, 2025): After the update, we immediately noticed that suggested chats which previously triggered tool calls now just return the tool query in the response, without actually executing the tool. Interestingly, when we switch to "native" mode, tool calling seems to work correctly again. Because of this issue, we had plans to roll back this morning.
Author
Owner

@jenskock commented on GitHub (Sep 26, 2025):

The model will use the tool when you switch from the default tool calling to native. But I haven't figured out any way to use task models for tools calling

What do you mean by switching from default to native? I've setup External Tools, which are called in 0.6.31 but it looks like the result is not used.

<!-- gh-comment-id:3338966089 --> @jenskock commented on GitHub (Sep 26, 2025): > The model will use the tool when you switch from the default tool calling to native. But I haven't figured out any way to use task models for tools calling What do you mean by switching from default to native? I've setup External Tools, which are called in 0.6.31 but it looks like the result is not used.
Author
Owner

@tomkho123 commented on GitHub (Sep 26, 2025):

The model will use the tool when you switch from the default tool calling to native. But I haven't figured out any way to use task models for tools calling

What do you mean by switching from default to native? I've setup External Tools, which are called in 0.6.31 but it looks like the result is not used.

Some models will call tools correctly in native function calling mode... But many won't. Anyway, no model can call tools in the "default" function calling mode... Also task model cannot call tools now

<!-- gh-comment-id:3339006280 --> @tomkho123 commented on GitHub (Sep 26, 2025): > > The model will use the tool when you switch from the default tool calling to native. But I haven't figured out any way to use task models for tools calling > > What do you mean by switching from default to native? I've setup External Tools, which are called in 0.6.31 but it looks like the result is not used. Some models will call tools correctly in native function calling mode... But many won't. Anyway, no model can call tools in the "default" function calling mode... Also task model cannot call tools now
Author
Owner

@tjbck commented on GitHub (Sep 26, 2025):

Any specific configuration you guys are using for the external tool server?

<!-- gh-comment-id:3340240071 --> @tjbck commented on GitHub (Sep 26, 2025): Any specific configuration you guys are using for the external tool server?
Author
Owner

@tjbck commented on GitHub (Sep 26, 2025):

May have been addressed in our dev branch, testing wanted here!

<!-- gh-comment-id:3340490978 --> @tjbck commented on GitHub (Sep 26, 2025): May have been addressed in our dev branch, testing wanted here!
Author
Owner

@dlamoris commented on GitHub (Sep 26, 2025):

Right, but I would assume the direct mcp support would basically bake in what mcpo was already doing? (unwrapping to get to the text value?)

<!-- gh-comment-id:3340767285 --> @dlamoris commented on GitHub (Sep 26, 2025): Right, but I would assume the direct mcp support would basically bake in what mcpo was already doing? (unwrapping to get to the text value?)
Author
Owner

@tjbck commented on GitHub (Sep 26, 2025):

@dlamoris deleted comments are they're not related to the issue discussed here but we'll take a look!

<!-- gh-comment-id:3340791385 --> @tjbck commented on GitHub (Sep 26, 2025): @dlamoris deleted comments are they're not related to the issue discussed here but we'll take a look!
Author
Owner

@Riseiron commented on GitHub (Sep 27, 2025):

Any specific configuration you guys are using for the external tool server?

mcpo:
image: ghcr.io/open-webui/mcpo:main
container_name: mcpo
restart: unless-stopped
ports:
- "8001:8001"
volumes:
- ./mcp_config.json:/home/open-webui/mcp_config.json
command: ["--port", "8001", "--config", "/home/open-webui/mcp_config.json", "--hot-reload"]

{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
},
"time": {
"command": "uvx",
"args": ["mcp-server-time", "--local-timezone=America/New_York"]
},
"searxng": {
"command": "npx",
"args": ["-y", "mcp-searxng"],
"env": {
"SEARXNG_URL": "http://searxng:8080/search?q="
}
},
"mcp_sse": {
"type": "sse",
"url": "http://127.0.0.1:8002/sse",
"headers": {
"Authorization": "Bearer token",
"X-Custom-Header": "value"
}
},
"mcp_streamable_http": {
"type": "streamable-http",
"url": "http://127.0.0.1:8003/mcp"
}
}
}

http://ip:8001/memory
openapi.json
memory
memory

<!-- gh-comment-id:3341344541 --> @Riseiron commented on GitHub (Sep 27, 2025): > Any specific configuration you guys are using for the external tool server? mcpo: image: ghcr.io/open-webui/mcpo:main container_name: mcpo restart: unless-stopped ports: - "8001:8001" volumes: - ./mcp_config.json:/home/open-webui/mcp_config.json command: ["--port", "8001", "--config", "/home/open-webui/mcp_config.json", "--hot-reload"] { "mcpServers": { "memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] }, "time": { "command": "uvx", "args": ["mcp-server-time", "--local-timezone=America/New_York"] }, "searxng": { "command": "npx", "args": ["-y", "mcp-searxng"], "env": { "SEARXNG_URL": "http://searxng:8080/search?q=<query>" } }, "mcp_sse": { "type": "sse", "url": "http://127.0.0.1:8002/sse", "headers": { "Authorization": "Bearer token", "X-Custom-Header": "value" } }, "mcp_streamable_http": { "type": "streamable-http", "url": "http://127.0.0.1:8003/mcp" } } } http://ip:8001/memory openapi.json memory memory
Author
Owner

@Pounii25 commented on GitHub (Sep 28, 2025):

Same issue here, external tools was working well with 0.6.30. Now under settings, the external tools are well connected, but any chatbot cannot use it, like they're not enabled in the chat.

<!-- gh-comment-id:3343019906 --> @Pounii25 commented on GitHub (Sep 28, 2025): Same issue here, external tools was working well with 0.6.30. Now under settings, the external tools are well connected, but any chatbot cannot use it, like they're not enabled in the chat.
Author
Owner

@tjbck commented on GitHub (Sep 28, 2025):

@Pounii25 Are you able to test out our dev branch?

<!-- gh-comment-id:3343877639 --> @tjbck commented on GitHub (Sep 28, 2025): @Pounii25 Are you able to test out our dev branch?
Author
Owner

@tjbck commented on GitHub (Sep 28, 2025):

@Riseiron We'll need the config details from Open WebUI

<!-- gh-comment-id:3343877900 --> @tjbck commented on GitHub (Sep 28, 2025): @Riseiron We'll need the config details from Open WebUI
Author
Owner

@Pounii25 commented on GitHub (Sep 28, 2025):

@Pounii25 Are you able to test out our dev branch?

I'll try in minutes and let you know.

Edit: ok @tjbck I tested the latest dev docker image released like 10 mins ago, same beaviour. I tested both admin and user tools, they are ignored by the chatbot.

<!-- gh-comment-id:3344013337 --> @Pounii25 commented on GitHub (Sep 28, 2025): > [@Pounii25](https://github.com/Pounii25) Are you able to test out our dev branch? I'll try in minutes and let you know. Edit: ok @tjbck I tested the latest dev docker image released like 10 mins ago, same beaviour. I tested both admin and user tools, they are ignored by the chatbot.
Author
Owner

@tjbck commented on GitHub (Sep 28, 2025):

@Pounii25 admin settings or user settings?

<!-- gh-comment-id:3344274010 --> @tjbck commented on GitHub (Sep 28, 2025): @Pounii25 admin settings or user settings?
Author
Owner

@Pounii25 commented on GitHub (Sep 28, 2025):

@Pounii25 admin settings or user settings?

both, that's what I meant by "admin and user tools", sorry

<!-- gh-comment-id:3344278026 --> @Pounii25 commented on GitHub (Sep 28, 2025): > [@Pounii25](https://github.com/Pounii25) admin settings or user settings? both, that's what I meant by "admin and user tools", sorry
Author
Owner

@tjbck commented on GitHub (Sep 28, 2025):

@Pounii25 Is the tool server added in the admin settings section or added as direct tool server via user settings?

Please let me know if the issue persists in the latest dev as well, we cannot seem to reproduce this issue at all.

<!-- gh-comment-id:3344278618 --> @tjbck commented on GitHub (Sep 28, 2025): @Pounii25 Is the tool server added in the admin settings section or added as direct tool server via user settings? Please let me know if the issue persists in the latest dev as well, we cannot seem to reproduce this issue at all.
Author
Owner

@Pounii25 commented on GitHub (Sep 28, 2025):

@Pounii25 Is the tool server added in the admin settings section or added as direct tool server via user settings?

Please let me know if the issue persists in the latest dev as well, we cannot seem to reproduce this issue at all.

@tjbck ok with the latest DEV tools works again, tested both admin section tools and user settings tools.

<!-- gh-comment-id:3344303015 --> @Pounii25 commented on GitHub (Sep 28, 2025): > [@Pounii25](https://github.com/Pounii25) Is the tool server added in the admin settings section or added as direct tool server via user settings? > > Please let me know if the issue persists in the latest dev as well, we cannot seem to reproduce this issue at all. @tjbck ok with the latest DEV tools works again, tested both admin section tools and user settings tools.
Author
Owner

@RocketRider commented on GitHub (Sep 29, 2025):

I tested 0.6.32 and for me it is working now. The tool is added in the admin panel.

<!-- gh-comment-id:3346237738 --> @RocketRider commented on GitHub (Sep 29, 2025): I tested 0.6.32 and for me it is working now. The tool is added in the admin panel.
Author
Owner

@jenskock commented on GitHub (Sep 29, 2025):

can confirm it works again with 0.6.32

<!-- gh-comment-id:3346634684 --> @jenskock commented on GitHub (Sep 29, 2025): can confirm it works again with 0.6.32
Author
Owner

@dmizin commented on GitHub (Sep 29, 2025):

Works as expected. All good now with 0.6.32. Thank you to all involved!!

<!-- gh-comment-id:3348414333 --> @dmizin commented on GitHub (Sep 29, 2025): Works as expected. All good now with 0.6.32. Thank you to all involved!!
Author
Owner

@tomkho123 commented on GitHub (Sep 30, 2025):

my 0.6.32 instance still cannot call external tool servers

<!-- gh-comment-id:3349646583 --> @tomkho123 commented on GitHub (Sep 30, 2025): my 0.6.32 instance still cannot call external tool servers
Author
Owner

@dmizin commented on GitHub (Sep 30, 2025):

my 0.6.32 instance still cannot call external tool servers

Above you mentioned that you are using them in Native mode. I for one could never make it reliably work in Native and mine always work (when they work ;)) in Default. Did you try this in the latest? Also, I noticed now there is an option for None in authentication (plus new OAuth), Could it be that it screw up your authentication settings?

<!-- gh-comment-id:3349655564 --> @dmizin commented on GitHub (Sep 30, 2025): > my 0.6.32 instance still cannot call external tool servers Above you mentioned that you are using them in Native mode. I for one could never make it reliably work in Native and mine always work (when they work ;)) in Default. Did you try this in the latest? Also, I noticed now there is an option for None in authentication (plus new OAuth), Could it be that it screw up your authentication settings?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#18390