Replies: 1 comment
-
Implemented |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Pre-submission Checklist
Your Idea
The
_meta
attribute is very useful because it provides the ability for clients and servers each to pass side-channel information to each other in a protocol-conforming way. However, the single_meta
at the request level makes it difficult to model certain types of metadata especially inlist
RPC types.Let's say that an application that integrates MCP wants to allow MCP servers to signal how certain tools should be integrated in its UI, e.g. by assigning a "priority". Ideally the server might be able to handle this in the
ListToolsResult
. Today that would be awkward:Now the client and server both have to understand how to provide this extra sidechannel data and how to "zip it together" with the normal result data.
What would be better is if all listable interface types (
Tool
,Resource
,ResourceTemplate
,Root
, and each of the*Content
types) also allowed a_meta: {[key: string]: unknown}
field. This would allow these to be annotated with metadata in a non-disruptive and intuitive manner:It's a relatively simple change but would pay huge dividends in terms of making MCP more open for experimentation and extensibility while keeping the core protocol quite simple.
Scope
Beta Was this translation helpful? Give feedback.
All reactions