pub fn tool_fn<P, Ret, F, Counterpart>(
name: impl ToString,
description: impl ToString,
func: F,
tool_future_fn: impl for<'a> Fn(&'a F, P, McpConnectionTo<Counterpart>) -> BoxFuture<'a, Result<Ret, Error>> + Send + Sync + 'static,
) -> (impl McpTool<Counterpart> + 'static, impl RunWithConnectionTo<Counterpart>)where
Counterpart: Role,
P: JsonSchema + DeserializeOwned + 'static + Send,
Ret: JsonSchema + Serialize + 'static + Send,
F: AsyncFn(P, McpConnectionTo<Counterpart>) -> Result<Ret, Error> + Send + Sync + 'static,Expand description
Create a stateless function-backed MCP tool and its concurrent responder.