mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-06 19:08:59 -05:00
[GH-ISSUE #12479] issue: openapi tool payload conversion only uses summary not description #55283
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @dan-sullivan on GitHub (Apr 5, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/12479
Check Existing Issues
Installation Method
Git Clone
Open WebUI Version
v0.6.0
Ollama Version (if applicable)
No response
Operating System
Debian Bookworm
Browser (if applicable)
No response
Confirmation
README.md.Expected Behavior
OpenAPI tools often have both a summary and description field - this is also true of MCP servers proxied via mcpo. It seems that description often has more details for how the model should use the tool. I would think using at least the description is more valuable than the summary or a combination of both would make the tools more accessible to the models.
Actual Behavior
We can see in https://github.com/open-webui/open-webui/blob/main/src/lib/utils/index.ts#L1131 only the summary is used.
So when, for instance, we use the reference openapi filesystem server we have in openapi.json:
But only "Write to a file" makes it way to the tools:
Steps to Reproduce
Logs & Screenshots
See above
Additional Information
This is especially a problem for tools that have more complex descriptions such as sequential-thinking which only has a description of "sequentialThinking" rather than the full instructions for the model.
I dont know if it would be more sensible to switch to use the description or to add both in a structured way incase some tools use only summary and some use only description. e.g.
Summary: {summary}\nDescription: {description}Or fallback from description, to summary, to a placeholder.
@dan-sullivan commented on GitHub (Apr 5, 2025):
Current you can see the tool isnt picked up:
Whereas with the following small change it is:
@tjbck commented on GitHub (Apr 5, 2025):
description is the correct 1:1 mapping.
e.g. mcp puppeteer:
