open-webui/backend/open_webui/utils
Classic298 217766ed0f
fix: MCP list results from FastMCP servers reach the model twice (#32726)
When a tool on a server built with the standalone FastMCP package returned a list, the model got the list twice, once as plain text and once as structured data, so every list result cost two to three times the tokens. That package sends the whole list as a single piece of text, a format Open WebUI did not recognise as a duplicate. The list now reaches the model once, and structured data that the text does not already contain is still passed along.

Fixes #32719
2026-10-21 04:46:02 +09:00
..
access_control refac 2026-10-15 17:56:56 +04:00
images fix: show ComfyUI images saved by the Save Image (Advanced) node (#30420) 2026-09-23 23:54:58 -04:00
mcp fix: MCP list results from FastMCP servers reach the model twice (#32726) 2026-10-21 04:46:02 +09:00
telemetry fix: every log line is exported twice to the OpenTelemetry collector when traces and logs are both on (#31528) 2026-09-30 19:36:43 +04:00
actions.py refac 2026-10-01 03:31:20 +04:00
anthropic.py fix: Anthropic API streams report a failed response as a finished one (#31405) 2026-09-27 23:20:50 +04:00
apps.py refac 2026-10-14 17:10:08 +04:00
asgi_middleware.py refac 2026-08-24 18:29:36 -04:00
ask_user.py fix: misleading ask_user error when questions are not sent as a list (#32727) 2026-10-21 03:33:10 +09:00
audit.py fix: requests authenticated with the x-api-key header are missing from the audit log (#32443) 2026-10-15 13:59:03 +04:00
auth.py refac 2026-10-05 12:17:25 +04:00
automations.py refac 2026-10-14 23:58:58 +04:00
calendar.py fix: Scheduled Tasks calendar shows extra runs for automations with a run count (#31604) 2026-09-30 19:43:41 +04:00
channels.py refac 2026-10-12 17:29:04 +04:00
chat.py fix: keep the model system prompt on Ollama tool-call follow-ups (#30375) 2026-09-22 16:47:20 -04:00
chat_fork.py refac 2026-07-23 02:54:56 -04:00
chat_id.py refac 2026-07-26 21:12:14 -04:00
chat_variables.py refac: chat variable property value parsing (#30389) 2026-10-08 15:48:33 -05:00
code_interpreter.py refac 2026-07-31 17:41:14 -04:00
context_compaction.py refac 2026-10-14 18:35:56 +04:00
embeddings.py refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
files.py refac(images): request an unencoded body when fetching remote chat images (#29623) 2026-09-21 08:53:06 -04:00
filter.py refac 2026-10-01 03:31:20 +04:00
groups.py refac: modernize type annotations (PEP 604 / PEP 585) 2026-05-12 17:10:15 +09:00
headers.py feat: add {{MODEL_ID}} placeholder for custom connection headers (#32426) 2026-10-15 00:00:41 +04:00
json_codec.py perf: write task payloads to Redis as bytes (#28833) 2026-08-20 12:58:52 -07:00
json_response.py perf: optional orjson JSON codec behind ENABLE_ORJSON (#27583) 2026-07-27 03:45:37 -04:00
logger.py feat: record the requested model as its own field in the audit log (#32429) 2026-10-15 00:00:19 +04:00
memory.py fix: stop the background memory review when memory is switched off (#30309) 2026-09-21 11:22:21 -04:00
mfa.py fix: name the secret key when stored MFA secrets cannot be decrypted at startup (#32189) 2026-10-10 20:10:39 +04:00
middleware.py refac 2026-10-16 18:58:58 +04:00
misc.py refac 2026-10-14 23:21:22 +04:00
model_ids.py refac 2026-07-26 23:09:22 -04:00
models.py chore: format 2026-10-10 23:18:09 +04:00
notifications.py fix: chat links in finished and failed webhook notifications open a 404 (#31572) 2026-09-30 19:05:45 +04:00
oauth.py fix: OAuth token refresh ignores the client_secret_basic auth method (#32507) 2026-10-16 03:01:35 +04:00
payload.py fix: messages to a model fail after the admin removes a model control the user had set (#32197) 2026-10-10 20:11:47 +04:00
plugin.py refac 2026-10-09 18:37:55 +04:00
rate_limit.py fix: stop the sign-in rate limiter blocking the loop and leaking memory (#29977) 2026-09-13 20:28:41 -05:00
recurrence.py fix: daily, weekly and monthly automations can run twice or skip their first run (#32264) 2026-10-12 18:51:03 +04:00
redis.py fix: cannot connect through Redis Sentinels that require a password (#32241) 2026-10-12 11:42:26 +04:00
response.py refac 2026-10-16 04:20:53 +04:00
sanitize.py refac 2026-03-17 17:58:01 -05:00
security_headers.py refac 2026-08-24 18:29:36 -04:00
session_pool.py fix: long streamed lines no longer abort the response (#28114) 2026-08-25 12:16:37 -04:00
skill_files.py refac 2026-10-16 14:31:39 +04:00
skills.py fix: chat title shows raw skill syntax when it is named after the first message (#32176) 2026-10-10 19:47:46 +04:00
subagents.py refac 2026-10-11 00:55:58 +04:00
task.py fix: show follow-up suggestions when the task model adds text around its JSON (#32323) 2026-10-13 16:46:17 +04:00
terminals.py refac 2026-10-16 14:31:39 +04:00
timers.py feat: Dynamic Tool Loading / Lazy Loading 2026-10-10 22:43:52 +04:00
tool_approval.py chore: format 2026-10-10 23:18:09 +04:00
tool_search.py refac 2026-10-14 23:21:22 +04:00
tools.py fix: when two tools have a function with the same name, the model can call both (#32670) 2026-10-21 02:25:31 +09:00
validate.py refac 2026-09-15 22:47:03 -04:00
valves.py fix: functions and tools with a required Valves field cannot be saved (#32165) 2026-10-10 19:59:52 +04:00
voice_avatar.py refac 2026-10-11 15:55:57 +04:00
webhook.py perf: build debug log messages lazily so disabled debug logs cost nothing (#27834) 2026-07-31 19:09:01 -05:00