Repository navigation
Pass client-only tool display metadata in MCP results - #306
Conversation
|
Closing as requested: MCP tool display titles belong to tools/list descriptors. The compressed surface advertises wrapper tools, not upstream tools, so adding a separate schema-response title contract is not appropriate. This PR is withdrawn; no release is intended. |
|
Alta companion consumer: https://bitbucket.org/atlassian/alta/pull-requests/5314 — strips namespaced response metadata before after-hooks/model history and forwards validated UI titles over ACP, including durable approval resumes. No model-visible title additions. |
|
Fixed SDK v2 protocol CI in b9cbeb0. Reproduced all four failures: exact envelope expectations omitted the newly added client-only metadata. Updated the full expected envelope (without relaxing checks), added distinct UI-only title sentinels and assertions for schema/invoke content isolation under modern/legacy protocol modes and TOON on/off. Exact CI command now passes all 27 tests locally; make check, docs-test and commit hooks also pass. Replacement CI is running. |
Summary
Pass configured backend tool display titles to clients without adding them to model-facing content.
_meta["atlassian.com/mcp-compressor/tool"]on both get_tool_schema and invoke_tool results, containing Tool-shaped metadata (name, resolvedtitle,inputSchema, optional description/annotations)._metais the standard MCP envelope; the namespaced key is a compressor-specific extension. Hosts must consume this for UI only, not serialize protocol metadata into model history. Alta's companion implementation strips it before after-hooks/history and forwards validated titles as ACP tool_call_update events. Passthrough descriptors retain upstream metadata; no protocol can prevent an arbitrary host from serializing metadata it should not expose.This supersedes the original text/structuredContent approach; PR was closed briefly and reopened at the requester's direction.
Validation