Skip to main content

systemprompt_models/mcp/
call_tool_result_ext.rs

1use super::McpToolResultMetadata;
2use anyhow::Result;
3use rmcp::model::CallToolResult;
4
5/// Extension trait for `CallToolResult` to get strongly-typed metadata
6pub trait CallToolResultExt {
7    /// Extract strongly-typed MCP execution metadata from _meta field
8    /// Returns error if metadata is missing or invalid
9    fn get_mcp_metadata(&self) -> Result<McpToolResultMetadata>;
10}
11
12impl CallToolResultExt for CallToolResult {
13    fn get_mcp_metadata(&self) -> Result<McpToolResultMetadata> {
14        McpToolResultMetadata::from_call_tool_result(self)
15    }
16}