LibreChat/packages
Dustin Healy b24eee648e refactor(mcp): advertise UI capability at host level and fix tool-visibility scoping
Advertise io.modelcontextprotocol/ui unconditionally on every MCP connection instead of gating it on
a per-connection appsEnabled value, and remove the now-unused enableApps plumbing from the
connection factory, inspector, and connection-building call sites. Per SEP-1865 the capability is a
per-session statement of host rendering ability, not a per-user setting; gating it per request on a
shared connection pool was both spec-incorrect and unable to support tenant opt-in. Per-tenant apps
enablement stays enforced downstream (callTool UI-resource attachment plus the app endpoints), which
now works for both opt-in and opt-out.

Replace the exact-match visibility helpers with includes-based semantics: a tool is hidden from the
model when an explicit visibility array omits "model", and denied to app callers when it omits
"app". An empty or future-scoped array such as [] or ["model","internal"] is now handled correctly,
and the both-scopes default applies only when visibility is absent. Rename the cache to reflect that
it holds app-hidden tools.
2026-06-30 17:16:58 -07:00
..
api refactor(mcp): advertise UI capability at host level and fix tool-visibility scoping 2026-06-30 17:16:58 -07:00
client 👐 a11y: Bump @ariakit/react, Improve a11y of Token Usage, Archived Chats, Reduce Table Layout Shifts (#13874) 2026-06-21 12:53:24 -04:00
data-provider fix(mcp): harden MCP Apps host security and CJS compatibility 2026-06-28 21:56:28 -07:00
data-schemas fix(mcp): advertise UI capability at host level and align app-resource handling 2026-06-29 14:43:52 -07:00