Interaction steps carry MCP values: elicitation requests and results, sampling requests, messages, and results, and roots lists. Each has the members its MCP type requires and defines.
Requirement
Section titled “Requirement”Elicitation, sampling, and roots requests and responses in interaction steps have the members and member types of their MCP types.
Details
Section titled “Details”Rule ID: mcp.interaction-message.members
Owner: mcp
Surface: ElicitRequest, ElicitResult, CreateMessageRequest, CreateMessageResult, ListRootsResult, Root
Kind: structural
Requirement level: must
Protocol versions: independent of the MCP protocol version
Document schema locations: #/$defs/elicitationInteractionRequest, #/$defs/elicitationInteractionFormRequest, #/$defs/elicitationInteractionUrlRequest, #/$defs/elicitationInteractionResponse, #/$defs/elicitationInteractionAcceptedResponse, #/$defs/elicitationInteractionDeclinedResponse, #/$defs/samplingCreateMessageRequest, #/$defs/samplingCreateMessageResult, #/$defs/samplingMessage, #/$defs/samplingMessageContent, #/$defs/samplingContentBlock, #/$defs/samplingModelHint, #/$defs/samplingModelPreferences, #/$defs/samplingRequestTool, #/$defs/samplingToolChoice, #/$defs/samplingToolResultContent, #/$defs/samplingToolUseContent, #/$defs/rootsListRequest, #/$defs/rootsListResult, #/$defs/rootDeclaration
Status: internal · Enforcement: internal
Required by
Section titled “Required by”- MCP Description 0.9.0, Sections 3.6 and 9.4
- 3. Document Structure: req-carried-defined-fields
Based on
Section titled “Based on”- Tier 1 — MCP schema.ts and normative specification text: MCP 2025-11-25 and 2026-07-28 schema.ts, CreateMessageRequestParams, SamplingMessage, CreateMessageResult, ElicitRequestFormParams, ElicitResult, ListRootsResult, and Root
- validation/mcp-schemas/2025-11-25/schema.ts#L1578-L1622
- validation/mcp-schemas/2025-11-25/schema.ts#L1681-L1688
- validation/mcp-schemas/2025-11-25/schema.ts#L1656-L1674
- validation/mcp-schemas/2025-11-25/schema.ts#L2155-L2178
- validation/mcp-schemas/2025-11-25/schema.ts#L2471-L2486
- validation/mcp-schemas/2025-11-25/schema.ts#L2107-L2109
- validation/mcp-schemas/2025-11-25/schema.ts#L2116-L2136
- validation/mcp-schemas/2026-07-28/schema.ts#L2104-L2152
- validation/mcp-schemas/2026-07-28/schema.ts#L2245-L2249
- validation/mcp-schemas/2026-07-28/schema.ts#L2210-L2228
- validation/mcp-schemas/2026-07-28/schema.ts#L2788-L2811
- validation/mcp-schemas/2026-07-28/schema.ts#L3134-L3149
- validation/mcp-schemas/2026-07-28/schema.ts#L2742-L2744
- validation/mcp-schemas/2026-07-28/schema.ts#L2758-L2775
Examples
Section titled “Examples”Invalid example
Section titled “Invalid example”Source: expected-invalid/malformed-sampling-step.json · Selected: /tools/0/interactionExamples/summary/steps/0/request
{ "messages": [ { "role": "user", "content": { "type": "text", "text": "Summarize the release plan." } } ]}Invalid example
Section titled “Invalid example”Source: expected-invalid/elicitation-response-unknown-member.json · Selected: /tools/0/interactionExamples/approval/steps/0/response
{ "action": "accept", "content": { "approved": true }, "unexpected": true}Invalid example
Section titled “Invalid example”Source: expected-invalid/discriminated-union-members.json · Selected: /tools/0/interactionExamples/invalid/steps/0
{ "type": "elicitation", "request": { "mode": "url", "message": "Authorize", "ur": "https://example.test/auth" }, "response": { "action": "accepted" }}Rule Source Code
Section titled “Rule Source Code”interaction.yaml at immutable tag v0.9.0-rc.3.