Project
cortex
Description
A sampling request whose message content is an embedded resource deserializes successfully into SamplingRequest, even though the 2024 MCP schema limits sampling messages to text or image content.
Error Message
SAMPLING_REQUEST_RESOURCE_PARSE=Ok(SamplingRequest { messages: [SamplingMessage { role: User, content: Resource { resource: ResourceContent { uri: "file:///tmp/demo.txt", mime_type: None, text: Some("hello"), blob: None } } }], model_preferences: None, system_prompt: None, include_context: None, temperature: None, max_tokens: Some(64), stop_sequences: None, metadata: None })
Debug Logs
System Information
Cortex crate: cortex-mcp-types 0.0.7
Commit: 7954d02
Date: 2026-04-10
OS: macOS
Screenshots
https://github.com/marvinayisi/issue-images/blob/main/mcp-sampling-request-resource-20260410-074112.png
Steps to Reproduce
- Create a tiny Rust crate depending on
cortex-mcp-types from this workspace.
- Deserialize a
SamplingRequest whose message content has type: "resource".
- Print the parse result.
Expected Behavior
The invalid sampling message content should be rejected.
Actual Behavior
Deserialization succeeds and produces a SamplingRequest containing resource content.
Additional Context
- Authoritative spec:
https://raw.githubusercontent.com/modelcontextprotocol/modelcontextprotocol/refs/heads/main/schema/2024-11-05/schema.ts
- Code path:
/Users/odeili/Projects/platform/cortex/src/cortex-mcp-types/src/sampling.rs
- Duplicate check on 2026-04-10:
cortex-mcp-types SamplingRequest resource content accepted
Project
cortex
Description
A sampling request whose message content is an embedded resource deserializes successfully into
SamplingRequest, even though the 2024 MCP schema limits sampling messages to text or image content.Error Message
Debug Logs
System Information
Screenshots
https://github.com/marvinayisi/issue-images/blob/main/mcp-sampling-request-resource-20260410-074112.png
Steps to Reproduce
cortex-mcp-typesfrom this workspace.SamplingRequestwhose message content hastype: "resource".Expected Behavior
The invalid sampling message content should be rejected.
Actual Behavior
Deserialization succeeds and produces a
SamplingRequestcontaining resource content.Additional Context
https://raw.githubusercontent.com/modelcontextprotocol/modelcontextprotocol/refs/heads/main/schema/2024-11-05/schema.ts/Users/odeili/Projects/platform/cortex/src/cortex-mcp-types/src/sampling.rscortex-mcp-types SamplingRequest resource content accepted