MCP-DSC-005
Results carry io.modelcontextprotocol/serverInfo in _meta
“Servers SHOULD include the following io.modelcontextprotocol/* field in every result's _meta, unless specifically configured not to do so, to identify themselves without relying on any prior connection state.” — spec anchor
How to fix this
Add `io.modelcontextprotocol/serverInfo` to the `_meta` object of every result. It identifies your server without the client having to rely on connection state, which this revision removed.
How the validator checks this
Probe P1.1, against a streamable-http server on the modern protocol. What it reports:
- pass
- Result _meta carries io.modelcontextprotocol/serverInfo
- warn
- Result _meta is missing io.modelcontextprotocol/serverInfo (SHOULD, not MUST)
Quoted from the probe that runs this check, so it cannot drift from what the validator actually reports.
This rule is checked deterministically: a fail here is a certain violation, not an inference.
Checked in the same request as MCP-DSC-001, MCP-DSC-002, MCP-DSC-003, MCP-DSC-004, MCP-STL-003, MCP-RES-001, MCP-RES-002, MCP-RES-005.
Check your own server against this rule
The validator makes real protocol requests and reports this rule as pass, warn or fail alongside the other 78. Validate a server or read how the check works.
Other Discovery and capabilities rules
- MCP-DSC-001server/discover is implemented
- MCP-DSC-002DiscoverResult advertises supported protocol versions
- MCP-DSC-003Advertised versions include a currently-supported revision
- MCP-DSC-004Extension identifiers use a valid non-reserved reverse-DNS prefix