I've just noticed FunctionDefinition seems to only accept the raw struct types implementing JsonSchema when setting the parameter and response schemas. This makes the FunctionDefinition object fundamentally incompatible with the official Model Context Protocol Rust SDK, which exposes its tools with only a serde_json::Value schema object. Since you're converting the struct to a Value object, I've created a PR with two functions to allow setting of the parameter and response schemas directly to allow RMCP interop.
I've just noticed FunctionDefinition seems to only accept the raw struct types implementing JsonSchema when setting the parameter and response schemas. This makes the FunctionDefinition object fundamentally incompatible with the official Model Context Protocol Rust SDK, which exposes its tools with only a serde_json::Value schema object. Since you're converting the struct to a Value object, I've created a PR with two functions to allow setting of the parameter and response schemas directly to allow RMCP interop.