issue: #73

Closed
opened 2026-02-15 20:17:50 -05:00 by yindo · 1 comment
Owner

Originally created by @allesbestens on GitHub (May 29, 2025).

Check Existing Issues

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

mcpo Version

1.0

Open WebUI Version (if applicable)

No response

Operating System

Manjaro latest

Browser (if applicable)

No response

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both MCPO and Open WebUI.
  • 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

given the config file

{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}

when running in a docker container , the two alternatives
CMD ["uvx", "mcpo", "--host", "0.0.0.0", "--port", "8000", "--config", "/config/config.json"]
and
CMD ["uvx", "mcpo", "--host", "0.0.0.0", "--port", "8000", "--", "uvx", "mcp-server-fetch"]
should give identical results in
curl http://localhost:8000/openapi.json

I excepted sth like

{"openapi":"3.1.0","info":{"title":"mcp-fetch","description":"mcp-fetch MCP Server","version":"1.9.2"},"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":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"fetch_form_model":{"properties":{"url":{"type":"string","title":"Url","description":"URL to fetch"},"max_length":{"type":"integer","title":"Max Length","description":"Maximum number of characters to return.","default":5000},"start_index":{"type":"integer","title":"Start Index","description":"On return output starting at this character index, useful if a previous fetch was truncated and more context is required.","default":0},"raw":{"type":"boolean","title":"Raw","description":"Get the actual HTML content of the requested page, without simplification.","default":false}},"type":"object","required":["url"],"title":"fetch_form_model"}}}}

but only got

{"openapi":"3.1.0","info":{"title":"MCP OpenAPI Proxy","description":"Automatically generated API from MCP Tool Schemas\n\n- **available tools**:\n - [fetch](/fetch/docs)","version":"1.0"},"paths":{}}

"paths" are empty when configuring via file.
This causes Open WebUI not to find the MCP services.

Actual Behavior

"paths" is empty

Steps to Reproduce

1 run mcpo --port 8000 --config /config.json
2. run curl http://localhost:8000/openapi.json
3. run mcpo --port 8000 -- uvx mcp-server-fetch
4. run curl http://localhost:8000/openapi.json again
5. compare the output from 2 and 4. "paths" are missing in 2.

Logs & Screenshots

expected:
{"openapi":"3.1.0","info":{"title":"mcp-fetch","description":"mcp-fetch MCP Server","version":"1.9.2"},"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":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"fetch_form_model":{"properties":{"url":{"type":"string","title":"Url","description":"URL to fetch"},"max_length":{"type":"integer","title":"Max Length","description":"Maximum number of characters to return.","default":5000},"start_index":{"type":"integer","title":"Start Index","description":"On return output starting at this character index, useful if a previous fetch was truncated and more context is required.","default":0},"raw":{"type":"boolean","title":"Raw","description":"Get the actual HTML content of the requested page, without simplification.","default":false}},"type":"object","required":["url"],"title":"fetch_form_model"}}}}

got:
{"openapi":"3.1.0","info":{"title":"MCP OpenAPI Proxy","description":"Automatically generated API from MCP Tool Schemas\n\n- **available tools**:\n - [fetch](/fetch/docs)","version":"1.0"},"paths":{}}

Additional Information

No response

Originally created by @allesbestens on GitHub (May 29, 2025). ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of mcpo. ### mcpo Version 1.0 ### Open WebUI Version (if applicable) _No response_ ### Operating System Manjaro latest ### Browser (if applicable) _No response_ ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** MCPO and Open WebUI. - [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 given the config file ``` { "mcpServers": { "fetch": { "command": "uvx", "args": ["mcp-server-fetch"] } } } ``` when running in a docker container , the two alternatives `CMD ["uvx", "mcpo", "--host", "0.0.0.0", "--port", "8000", "--config", "/config/config.json"]` and `CMD ["uvx", "mcpo", "--host", "0.0.0.0", "--port", "8000", "--", "uvx", "mcp-server-fetch"]` should give identical results in `curl http://localhost:8000/openapi.json` I excepted sth like `{"openapi":"3.1.0","info":{"title":"mcp-fetch","description":"mcp-fetch MCP Server","version":"1.9.2"},"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":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"fetch_form_model":{"properties":{"url":{"type":"string","title":"Url","description":"URL to fetch"},"max_length":{"type":"integer","title":"Max Length","description":"Maximum number of characters to return.","default":5000},"start_index":{"type":"integer","title":"Start Index","description":"On return output starting at this character index, useful if a previous fetch was truncated and more context is required.","default":0},"raw":{"type":"boolean","title":"Raw","description":"Get the actual HTML content of the requested page, without simplification.","default":false}},"type":"object","required":["url"],"title":"fetch_form_model"}}}}` but only got `{"openapi":"3.1.0","info":{"title":"MCP OpenAPI Proxy","description":"Automatically generated API from MCP Tool Schemas\n\n- **available tools**:\n - [fetch](/fetch/docs)","version":"1.0"},"paths":{}}` "paths" are empty when configuring via file. This causes Open WebUI not to find the MCP services. ### Actual Behavior "paths" is empty ### Steps to Reproduce 1 run `mcpo --port 8000 --config /config.json` 2. run `curl http://localhost:8000/openapi.json` 3. run `mcpo --port 8000 -- uvx mcp-server-fetch` 4. run `curl http://localhost:8000/openapi.json` again 5. compare the output from 2 and 4. "paths" are missing in 2. ### Logs & Screenshots expected: `{"openapi":"3.1.0","info":{"title":"mcp-fetch","description":"mcp-fetch MCP Server","version":"1.9.2"},"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":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"fetch_form_model":{"properties":{"url":{"type":"string","title":"Url","description":"URL to fetch"},"max_length":{"type":"integer","title":"Max Length","description":"Maximum number of characters to return.","default":5000},"start_index":{"type":"integer","title":"Start Index","description":"On return output starting at this character index, useful if a previous fetch was truncated and more context is required.","default":0},"raw":{"type":"boolean","title":"Raw","description":"Get the actual HTML content of the requested page, without simplification.","default":false}},"type":"object","required":["url"],"title":"fetch_form_model"}}}}` got: `{"openapi":"3.1.0","info":{"title":"MCP OpenAPI Proxy","description":"Automatically generated API from MCP Tool Schemas\n\n- **available tools**:\n - [fetch](/fetch/docs)","version":"1.0"},"paths":{}}` ### Additional Information _No response_
yindo added the bug label 2026-02-15 20:17:50 -05:00
yindo closed this issue 2026-02-15 20:17:50 -05:00
Author
Owner

@tjbck commented on GitHub (Jun 6, 2025):

User error, please read the docs.

@tjbck commented on GitHub (Jun 6, 2025): User error, please read the docs.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: open-webui/mcpo#73