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