a2ui-project / a2ui-project/a2ui

Where does a reported client data model ride in MCP _meta?

Open
#2,322 3 comments 0 reactions 0 assignees View on GitHub
status: first-line-handled status: needs-team-input status: needs-triage
Dominant language
TypeScript
Stars
16.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
134

Description

**Documents:** `docs/public/guides/a2ui_over_mcp.md`,
`specification/v0_9_1/json/server_to_client.json` (v1.0:
`specification/v1_0/json/agent_to_renderer.json`)

A server asks for the client's data model with `sendDataModel` on `createSurface` or
`updateDataModel`. Over A2A the client answers with `a2uiClientDataModel` in transport metadata,
and the A2A extension names that placement.

We could not find the equivalent for MCP. The guide defines
`capabilities.a2ui.clientCapabilities` at initialize and `_meta.a2ui.clientCapabilities` per call,
and says nothing further about the reported data model. Did we miss it somewhere?

If it is not defined yet, which placement do you intend?

- `_meta["a2ui"]["clientDataModel"]`, gathering A2UI metadata under `a2ui` and dropping the prefix
from the inner names, the way the guide already does with `clientCapabilities`.
- `_meta["a2uiClientDataModel"]`, keeping the spec name at the root of `_meta`.

We had one implementation of each, and nothing surfaced. MCP `_meta` is a free form object, so the
reader that looked in the wrong place saw no key and no error.

Either choice works for us. Could the guide name one?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.