Releases: rust-mcp-stack/rust-mcp-schema
Releases · rust-mcp-stack/rust-mcp-schema
v0.4.0
v0.3.0
v0.2.2
v0.2.1
v0.2.0
0.2.0 (2025-03-22)
This update is classified as a breaking change due to the removal of certain deprecated methods and the standardization of method parameter order of generated constructors ( new(...) methods ) , ensuring that required arguments are placed before optional ones.
⚠ BREAKING CHANGES
- Method parameter order of generated constructors ( new(...) methods ) has been standardized, with required arguments now consistently positioned before optional ones.
- Deprecated get_method() methods have been eliminated.
- improve generated schema, eliminate deprecated methods (#53)
Features
v0.1.11
v0.1.10
v0.1.9
0.1.9 (2025-03-02)
Features
-
new cunstructor and conversion utilities for call tool operations (#41) (0b8f622)
Details
Usage example:- Return a Unknown Tool Error
async fn handle_call_tool_request( &self, request: CallToolRequest, ) -> Result<CallToolResult, CallToolError> { ////............ return Err(CallToolError::unknown_tool(tool_name)), }
- Return a
CallToolResult
withTextContent
:
async fn handle_call_tool_request( &self, request: CallToolRequest, ) -> Result<CallToolResult, CallToolError> { ////............ return Ok(CallToolResult::text_content( format!( "Successfully created directory {}", path), None, )); }
Bug Fixes
v0.1.8
0.1.8 (2025-02-23)
Features
- add SdkError codes and types (#37) (034ee8f)
- add utility function for easy detection of initialized notifications (#38) (39400b6)
- add utility functions for simplified type conversions (#33) (7447800)
- more type conversion utilities (#36) (9a0abb9)
- new TryFrom implementation for all standard mcp message variants (#35) (08854f0)
v0.1.7
0.1.7 (2025-02-21)
Features
-
implement ToMessage trait (#31) (435f18b)
Details
ToMessage
Trait simplifies the construction of MCP messages, reducing the amount of code required:Example:
Before Introducing the
ToMessage
traitasync fn send_ping_request(ping_request: rust_mcp_schema::PingRequest) { let request_id = get_next_id(); // construct a ServerMessage from the ping_request , with request_id let message = ServerMessage::Request(ServerJsonrpcRequest::new( request_id, RequestFromServer::ServerRequest(ServerRequest::PingRequest(ping_request)), )); // serialize message into a valid rpcJsonrpcMessage string let rpc_message_json_str = message.to_string(); // send the ping request to the client tranport.send(rpc_message_json_str).await }
After Introducing the
ToMessage
traitasync fn send_ping_request(ping_request: rust_mcp_schema::PingRequest) { let request_id = get_next_id(); // construct a ServerMessage from the ping_request , with request_id let message: ServerMessage = ping_request .to_message(request_id) .unwrap(); // serialize message into a valid rpcJsonrpcMessage string let rpc_message_json_str = message.to_string(); // send the ping request to the client tranport.send(rpc_message_json_str).await }