Michael Bolin
e0faf1ed51
feat: add support for custom requests ( #590 )
...
#580 and #556 introduced support for custom notifications,
so this PR takes the next logical step and adds support for custom requests:
- Introduces `CustomRequest` and `CustomResult` model types, wires them into the client/server
request and result unions, and allows `ClientRequest::method()` to return the dynamic method
name.
- Implements serde and meta handling for `CustomRequest` so `_meta` is carried through
extensions; adds default `on_custom_request` handlers that return `METHOD_NOT_FOUND` unless
overridden.
- Updates JSON schema fixtures to include the new request/result shapes and `EmptyObject`
strictness.
- Adds tests for custom request roundtrips and end-to-end client↔server handling.
- Focused integration test in `crates/rmcp/tests/test_custom_request.rs`.
For additional testing, I used this locally to update Codex to use a custom
request instead of a custom notification so that it gets an "ack" from the MCP
server to ensure it has processed the update before sending more messages:
https://github.com/openai/codex/pull/8142 .
2025-12-18 12:41:06 -05:00
..
common
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08:00
test_deserialization
fix(test): fix tool deserialization error ( #68 )
2025-03-31 13:05:35 +08:00
test_message_schema
feat: add support for custom requests ( #590 )
2025-12-18 12:41:06 -05: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_completion.rs
feat: implement context-aware completion (MCP 2025-06-18) ( #396 )
2025-09-08 14:44:49 +08:00
test_complex_schema.rs
fix(shemars): use JSON Schema 2020-12 as Default Dialect ( #549 )
2025-11-19 09:55:39 +08:00
test_custom_request.rs
feat: add support for custom requests ( #590 )
2025-12-18 12:41:06 -05:00
test_deserialization.rs
fix(test): fix tool deserialization error ( #68 )
2025-03-31 13:05:35 +08:00
test_elicitation.rs
feat: add type-safe elicitation schema support ( #465 ) ( #466 )
2025-10-15 17:55:10 +08:00
test_embedded_resource_meta.rs
Spec conformance: meta support and spec updates ( #415 )
2025-09-04 14:23:36 -04:00
test_json_schema_detection.rs
refactor: merge cached_schema_for_type into schema_for_type ( #581 )
2025-12-09 20:04:52 -05:00
test_logging.rs
test(context): test context request handling and refactor for reusable client-server tests ( #97 )
2025-04-07 10:13:05 +08:00
test_message_protocol.rs
feat: extensions to context ( #102 )
2025-04-08 10:01:17 +08: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 support for custom server notifications ( #580 )
2025-12-16 12:48:03 -05:00
test_progress_subscriber.rs
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08:00
test_prompt_handler.rs
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08:00
test_prompt_macro_annotations.rs
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08:00
test_prompt_macros.rs
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08:00
test_prompt_routers.rs
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08: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
feat: add resource_link support to tools and prompts ( #381 )
2025-08-29 18:13:38 +08:00
test_sampling.rs
example: add simpling example and test ( #289 )
2025-06-30 18:18:23 +08:00
test_structured_output.rs
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08:00
test_tool_builder_methods.rs
feat: Add support for Tool.outputSchema and CallToolResult.structuredContent ( #316 )
2025-07-31 16:32:24 +08: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
refactor: refactor tool macros and router implementation ( #261 )
2025-06-24 04:01:22 +08:00
test_tool_macros.rs
fix: generate default schema for tools with no params ( #446 )
2025-09-26 18:16:08 +08:00
test_tool_result_meta.rs
feat(rmcp): add optional _meta to CallToolResult, EmbeddedResource, and ResourceContents ( #386 )
2025-09-02 13:47:09 -04:00
test_tool_routers.rs
feat: Add prompt support ( #351 )
2025-08-21 11:22:19 +08:00
test_with_js.rs
feat!: remove SSE transport support ( #562 )
2025-12-01 20:40:13 -05:00
test_with_python.rs
feat!: remove SSE transport support ( #562 )
2025-12-01 20:40:13 -05:00