pub trait ProxyBackend: Send {
// Required methods
fn list_tools(&mut self) -> McpResult<Vec<Tool>>;
fn list_resources(&mut self) -> McpResult<Vec<Resource>>;
fn list_resource_templates(&mut self) -> McpResult<Vec<ResourceTemplate>>;
fn list_prompts(&mut self) -> McpResult<Vec<Prompt>>;
fn call_tool(
&mut self,
name: &str,
arguments: Value,
) -> McpResult<Vec<Content>>;
fn call_tool_with_progress(
&mut self,
name: &str,
arguments: Value,
on_progress: &'_ mut dyn FnMut(f64, Option<f64>, Option<String>),
) -> McpResult<Vec<Content>>;
fn read_resource(&mut self, uri: &str) -> McpResult<Vec<ResourceContent>>;
fn get_prompt(
&mut self,
name: &str,
arguments: HashMap<String, String>,
) -> McpResult<Vec<PromptMessage>>;
}Expand description
Backend interface used by proxy handlers.
Required Methods§
Sourcefn list_tools(&mut self) -> McpResult<Vec<Tool>>
fn list_tools(&mut self) -> McpResult<Vec<Tool>>
Lists available tools.
Sourcefn list_resources(&mut self) -> McpResult<Vec<Resource>>
fn list_resources(&mut self) -> McpResult<Vec<Resource>>
Lists available resources.
Sourcefn list_resource_templates(&mut self) -> McpResult<Vec<ResourceTemplate>>
fn list_resource_templates(&mut self) -> McpResult<Vec<ResourceTemplate>>
Lists available resource templates.
Sourcefn list_prompts(&mut self) -> McpResult<Vec<Prompt>>
fn list_prompts(&mut self) -> McpResult<Vec<Prompt>>
Lists available prompts.
Sourcefn call_tool_with_progress(
&mut self,
name: &str,
arguments: Value,
on_progress: &'_ mut dyn FnMut(f64, Option<f64>, Option<String>),
) -> McpResult<Vec<Content>>
fn call_tool_with_progress( &mut self, name: &str, arguments: Value, on_progress: &'_ mut dyn FnMut(f64, Option<f64>, Option<String>), ) -> McpResult<Vec<Content>>
Calls a tool with progress callback support.
Sourcefn read_resource(&mut self, uri: &str) -> McpResult<Vec<ResourceContent>>
fn read_resource(&mut self, uri: &str) -> McpResult<Vec<ResourceContent>>
Reads a resource by URI.
Sourcefn get_prompt(
&mut self,
name: &str,
arguments: HashMap<String, String>,
) -> McpResult<Vec<PromptMessage>>
fn get_prompt( &mut self, name: &str, arguments: HashMap<String, String>, ) -> McpResult<Vec<PromptMessage>>
Fetches a prompt by name.