Skip to main content

tool_fn_mut

Function tool_fn_mut 

Source
pub fn tool_fn_mut<P, Ret, F, Counterpart>(
    name: impl ToString,
    description: impl ToString,
    func: F,
    tool_future_fn: impl for<'a> Fn(&'a mut F, P, McpConnectionTo<Counterpart>) -> BoxFuture<'a, Result<Ret, Error>> + Send + 'static,
) -> (impl McpTool<Counterpart> + 'static, impl RunWithConnectionTo<Counterpart>)
where Counterpart: Role, P: JsonSchema + DeserializeOwned + 'static + Send, Ret: JsonSchema + Serialize + 'static + Send, F: AsyncFnMut(P, McpConnectionTo<Counterpart>) -> Result<Ret, Error> + Send,
Expand description

Create a “single-threaded” function-backed MCP tool and its responder.

Only one invocation of the tool can be running at a time.