pub struct McpProxyTool { /* private fields */ }Expand description
A tool backed by an MCP server. Proxies call() to the server
via tools/call JSON-RPC and converts the response.
Implementations§
Trait Implementations§
Source§impl Tool for McpProxyTool
impl Tool for McpProxyTool
Source§fn description(&self) -> &'static str
fn description(&self) -> &'static str
Human-readable description sent to the LLM.
Source§fn input_schema(&self) -> Value
fn input_schema(&self) -> Value
JSON Schema for the tool’s input parameters.
Source§fn is_read_only(&self) -> bool
fn is_read_only(&self) -> bool
Whether this tool only reads state (no mutations).
Source§fn is_concurrency_safe(&self) -> bool
fn is_concurrency_safe(&self) -> bool
Whether this tool can safely run concurrently with other tools.
Read-only tools are typically concurrency-safe.
Source§fn call<'life0, 'life1, 'async_trait>(
&'life0 self,
input: Value,
_ctx: &'life1 ToolContext,
) -> Pin<Box<dyn Future<Output = Result<ToolResult, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn call<'life0, 'life1, 'async_trait>(
&'life0 self,
input: Value,
_ctx: &'life1 ToolContext,
) -> Pin<Box<dyn Future<Output = Result<ToolResult, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute the tool with validated input.
Source§fn is_destructive(&self) -> bool
fn is_destructive(&self) -> bool
Whether this tool is destructive (deletes data, force-pushes, etc.).
Source§fn is_enabled(&self) -> bool
fn is_enabled(&self) -> bool
Whether this tool is currently enabled in the environment.
Source§fn max_result_size_chars(&self) -> usize
fn max_result_size_chars(&self) -> usize
Maximum result size in characters before truncation.
Source§fn check_permissions<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
input: &'life1 Value,
checker: &'life2 PermissionChecker,
) -> Pin<Box<dyn Future<Output = PermissionDecision> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn check_permissions<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
input: &'life1 Value,
checker: &'life2 PermissionChecker,
) -> Pin<Box<dyn Future<Output = PermissionDecision> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Check permissions for executing this tool with the given input.
Auto Trait Implementations§
impl Freeze for McpProxyTool
impl !RefUnwindSafe for McpProxyTool
impl Send for McpProxyTool
impl Sync for McpProxyTool
impl Unpin for McpProxyTool
impl UnsafeUnpin for McpProxyTool
impl !UnwindSafe for McpProxyTool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more