aether-mcp-utils 0.5.34

MCP client and server utilities for the Aether AI agent framework
Documentation
1
2
3
4
5
6
7
8
9
use rmcp::model::{CallToolRequestParams, ErrorData};
use serde::de::DeserializeOwned;

/// Deserialize a tool call's arguments into a typed input
pub fn parse_arguments<T: DeserializeOwned>(request: &CallToolRequestParams) -> Result<T, ErrorData> {
    let arguments = request.arguments.clone().unwrap_or_default();
    serde_json::from_value(serde_json::Value::Object(arguments))
        .map_err(|e| ErrorData::invalid_params(format!("invalid arguments: {e}"), None))
}