Yutaka Nishimura
d83b1566d0
fix(rmcp): flatten Resource variant of PromptMessageContent ( #843 )
...
The Resource variant of PromptMessageContent was missing #[serde(flatten)],
causing the embedded resource content block to serialize as a double-nested
shape `{ "type": "resource", "resource": { "resource": {...} } }` instead of
the spec-compliant flat shape `{ "type": "resource", "resource": {uri, mimeType, text} }`.
This caused Zod-based MCP clients (e.g. Claude Code) to reject prompts/get
responses containing embedded resource messages with InvalidUnion errors.
The Image and ResourceLink variants already use #[serde(flatten)] correctly;
only Resource was missing it.
Fix: add #[serde(flatten)] so EmbeddedResource (=Annotated<RawEmbeddedResource>)
fields _meta / annotations / resource are flattened to the content-block level,
matching the MCP spec for prompts embedded resources.
Regression test: test_prompt_message_resource_serialization_is_flat verifies
content.resource.uri is reachable and content.resource.resource is absent.
Schema snapshots regenerated via UPDATE_SCHEMA=1.
2026-05-12 14:46:12 -04:00
..
common
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_deserialization
fix(tasks): expose execution.taskSupport on tools ( #635 )
2026-02-03 19:17:36 -05:00
test_message_schema
fix(rmcp): flatten Resource variant of PromptMessageContent ( #843 )
2026-05-12 14:46:12 -04:00
test_with_js
refactor: provide http server as tower service ( #228 )
2025-05-28 19:21:40 +08:00
test_with_python
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08:00
test_client_credentials.rs
feat: implement OAuth 2.0 Client Credentials flow ( #707 )
2026-03-03 20:53:51 -05:00
test_client_initialization.rs
fix: reply -32700 on stdio parse errors instead of closing ( #833 )
2026-05-07 12:27:15 -04:00
test_close_connection.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_completion.rs
chore: add #[non_exhaustive] and mutation methods to improve compatibility ( #715 )
2026-03-03 10:38:01 -05:00
test_complex_schema.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_custom_headers.rs
fix(http): fall back to :authority for HTTP/2 ( #827 )
2026-05-01 09:17:06 -04:00
test_custom_request.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_deserialization.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_elicitation.rs
feat: add meta to elicitation results ( #792 )
2026-04-08 15:07:04 -04:00
test_embedded_resource_meta.rs
Spec conformance: meta support and spec updates ( #415 )
2025-09-04 14:23:36 -04:00
test_handler_wrappers.rs
chore: add #[non_exhaustive] and mutation methods to improve compatibility ( #715 )
2026-03-03 10:38:01 -05:00
test_inflight_response_drain.rs
feat: add Default and constructors to ServerSseMessage ( #794 )
2026-04-08 16:39:16 -04:00
test_json_schema_detection.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_logging.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_message_protocol.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_message_schema.rs
chore(deps): update schemars requirement from 0.8 to 1.0 ( #258 )
2025-07-11 11:15:45 +08:00
test_notification.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_progress_subscriber.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_prompt_handler.rs
feat(macros): auto-generate get_info and default router ( #785 )
2026-04-08 15:06:26 -04:00
test_prompt_macro_annotations.rs
chore: add #[non_exhaustive] and mutation methods to improve compatibility ( #715 )
2026-03-03 10:38:01 -05:00
test_prompt_macros.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_prompt_routers.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_resource_link.rs
feat: add resource_link support to tools and prompts ( #381 )
2025-08-29 18:13:38 +08:00
test_resource_link_integration.rs
chore: add #[non_exhaustive] and mutation methods to improve compatibility ( #715 )
2026-03-03 10:38:01 -05:00
test_sampling.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_server_initialization.rs
fix(server): remove initialized notification gate to support Streamable HTTP ( #788 )
2026-04-09 19:23:59 -04:00
test_sse_concurrent_streams.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_streamable_http_4xx_error_body.rs
fix(rmcp): surface JSON-RPC error bodies on HTTP 4xx responses ( #748 )
2026-03-17 09:27:45 -04:00
test_streamable_http_connection_reuse.rs
fix(http): drain SSE stream for connection reuse ( #790 )
2026-04-13 16:33:30 -04:00
test_streamable_http_idle_timeout_log.rs
Fix/issue 817 idle timeout log level ( #824 )
2026-05-04 20:14:06 -04:00
test_streamable_http_init_timeout.rs
fix: add init_timeout for streamable-http sessions ( #811 )
2026-05-01 09:20:50 -04:00
test_streamable_http_json_response.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_streamable_http_priming.rs
fix: include http_request_id in request-wise priming event IDs ( #799 )
2026-04-16 12:02:35 -04:00
test_streamable_http_session_store.rs
feat: optional session store (resumabillity support) ( #775 )
2026-04-21 17:06:18 -04:00
test_streamable_http_stale_session.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_structured_output.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_task.rs
fix(tasks): avoid dropping completed task results during collection ( #639 )
2026-02-05 09:00:09 +01:00
test_task_support_validation.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00
test_tool_builder_methods.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_tool_disable_notification.rs
feat(router): support runtime disabling of tools ( #809 )
2026-04-22 08:10:29 -04:00
test_tool_handler.rs
Move whole rmcp crate to offcial rust sdk ( #44 )
2025-03-27 17:33:41 -04:00
test_tool_macro_annotations.rs
feat(macros): auto-generate get_info and default router ( #785 )
2026-04-08 15:06:26 -04:00
test_tool_macros.rs
feat(macros): auto-generate get_info and default router ( #785 )
2026-04-08 15:06:26 -04:00
test_tool_result_meta.rs
chore: add #[non_exhaustive] and mutation methods to improve compatibility ( #715 )
2026-03-03 10:38:01 -05:00
test_tool_routers.rs
feat(router): support runtime disabling of tools ( #809 )
2026-04-22 08:10:29 -04:00
test_unix_socket_transport.rs
feat(transport): add Unix domain socket client for streamable HTTP ( #749 )
2026-03-24 09:50:32 -04:00
test_with_js.rs
chore: add #[non_exhaustive] to remaining public structs ( #768 )
2026-03-26 10:23:58 -04:00
test_with_python.rs
feat: add local feature for !Send tool handler support ( #740 )
2026-03-11 17:22:56 -04:00