mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-07-02 04:12:36 +00:00
Per the MCP Apps spec (SEP-1865) the io.modelcontextprotocol/ui capability is negotiated once per client-server session and declares the host's rendering ability, not a per-user preference; per-tenant apps policy belongs in the host's downstream layer. Advertise the capability from the global apps setting at every connection-building path instead of the per-request resolved value, so a shared serverName-keyed connection no longer has its capability fixed by whichever scope opened it first. Per-tenant apps-enabled stays enforced downstream in callTool resource attachment and the app endpoints. Classify only text/html;profile=mcp-app resources as app-backed so the bridge metadata matches the client isMcpAppResource check; a plain text/html ui:// resource renders as a static srcDoc on both sides instead of carrying dead tool-result metadata. Redact the tool-result _meta (resultMeta) from ui_resources during share serialization so model-hidden metadata cannot ride into a public shared transcript. Resolve app follow-up requests through the originating tool call's connection path rather than forcing a user-scoped connection, which the app-level guard rejects for shared servers. |
||
|---|---|---|
| .. | ||
| src | ||
| types | ||
| .gitignore | ||
| babel.config.cjs | ||
| jest.config.mjs | ||
| jest.setup.cjs | ||
| package.json | ||
| tsconfig-paths-bootstrap.mjs | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
| tsconfig.spec.json | ||
| tsdown.config.mjs | ||