Skip to content

Conversation

mbleigh
Copy link
Contributor

@mbleigh mbleigh commented Jun 11, 2025

This adds _meta on additional resource types throughout the specification, specifically those that appear as arrays in list results or multi-part content.

Motivation and Context

See discussion for motivation.

How Has This Been Tested?

Since this change merely adds additional optional inert metadata, it should be a safe non-breaking change for all existing clients and servers.

Breaking Changes

NONE

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

@@ -30,6 +30,7 @@ export interface Request {
* If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
*/
progressToken?: ProgressToken;
[key: string]: unknown;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like this was likely a mistake/omission -- presumably request metadata is intended to allow additional keys and not just progressToken, right?

@mbleigh mbleigh changed the title spec: Adds _meta to additional interface types. feat: Adds _meta to additional interface types. Jun 11, 2025
@dsp-ant dsp-ant moved this to In Review in Standards Track Jun 12, 2025
@dsp-ant dsp-ant added this to the DRAFT 2025-06-XX milestone Jun 12, 2025
Copy link
Member

@dsp-ant dsp-ant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. I'll accept as is but will add a PR to change the wording of the description to ensure people understand _meta is always reserved by the protocol.

@@ -472,6 +473,11 @@ export interface Resource {
* This can be used by Hosts to display file sizes and estimate context window usage.
*/
size?: number;

/**
* Reserved field for additional metadata.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notable that this is "reserved by MCP for additional metadata", as the other fields.

@dsp-ant dsp-ant merged commit 248e4bc into modelcontextprotocol:main Jun 13, 2025
1 check passed
@github-project-automation github-project-automation bot moved this from In Review to Approved in Standards Track Jun 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Approved
Development

Successfully merging this pull request may close these issues.

2 participants