Skip to content

schema(draft): align subscriptions/listen with envelope and _meta naming conventions#3006

Open
JaynouOliver wants to merge 1 commit into
modelcontextprotocol:mainfrom
JaynouOliver:subscriptions-listen-schema-consistency
Open

schema(draft): align subscriptions/listen with envelope and _meta naming conventions#3006
JaynouOliver wants to merge 1 commit into
modelcontextprotocol:mainfrom
JaynouOliver:subscriptions-listen-schema-consistency

Conversation

@JaynouOliver

Copy link
Copy Markdown

Fixes #2989

Summary

Two consistency fixes in the draft schema for the subscriptions/listen types added in #2953, aligning them with the conventions established by the surrounding code:

  1. Rename SubscriptionsListenResultMetaSubscriptionsListenResultMetaObject. The other _meta-contents types (MetaObject, RequestMetaObject, NotificationMetaObject from Align draft schema with spec docs (subscriptionId, HeaderMismatch, notification directions) #2889) all use the MetaObject suffix; this was the one divergence.
  2. Add the missing SubscriptionsListenResultResponse envelope. Every other request method has a dedicated *ResultResponse envelope (CallToolResultResponse, DiscoverResultResponse, ReadResourceResultResponse, etc.); subscriptions/listen was the only one without. Also adds a listen-closed-response.json example, which validates against the new envelope.

Since these are draft-only (unreleased) editorial changes with no wire-format impact, no SEP should be needed. If either half turns out to be intentional as-is (per the questions in #2989), happy to drop that half — the two changes are independent.

schema.json and docs/specification/draft/schema.mdx are regenerated via npm run generate:schema.

Verification

npm run check   # passes: schema TS/JSON/examples/MDX, docs, SEPs

…ing conventions

Fixes modelcontextprotocol#2989

Rename SubscriptionsListenResultMeta to SubscriptionsListenResultMetaObject
to match the MetaObject-suffix convention used by MetaObject,
RequestMetaObject, and NotificationMetaObject, and add the
SubscriptionsListenResultResponse envelope so subscriptions/listen matches
the per-method *ResultResponse pattern used by the other nine request
methods. Adds a listen-closed-response.json example validated against the
new envelope. schema.json and schema.mdx are regenerated.
@JaynouOliver JaynouOliver requested a review from a team as a code owner July 3, 2026 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

subscriptions/listen response: no dedicated *ResultResponse envelope, and SubscriptionsListenResultMeta suffix

1 participant