diff --git a/crates/rmcp-macros/src/task_handler.rs b/crates/rmcp-macros/src/task_handler.rs index 5c3169b2..50416e03 100644 --- a/crates/rmcp-macros/src/task_handler.rs +++ b/crates/rmcp-macros/src/task_handler.rs @@ -193,7 +193,7 @@ pub fn task_handler(attr: TokenStream, input: TokenStream) -> syn::Result() { match &tool.result { Ok(call_tool) => { - let value = ::serde_json::to_value(call_tool).unwrap_or(::serde_json::Value::Null); + let value = ::rmcp::serde_json::to_value(call_tool).unwrap_or_default(); return Ok(rmcp::model::GetTaskPayloadResult::new(value)); } Err(err) => return Err(McpError::internal_error(