INNER CODE UNIT · Rust

build_tool_arguments

modelcontextprotocol/rust-sdk · conformance/src/bin/client.rs:881

fn build_tool_arguments(tool: &Tool) -> Option<serde_json::Map<String, Value>> {
    let schema = &tool.input_schema;
    let properties = schema.get("properties").and_then(|p| p.as_object());
    let required = schema
        .get("required")
        .and_then(|r| r.as_array())
        .map(|arr| {
            arr.iter()
                .filter_map(|v| v.as_str().map(String::from))
                .collect::<Vec<_>>()
        })
        .unwrap_or_default();

    let properties = properties?;
    if properties.is_empty() && required.is_empty() {
        return None;
    }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…