Skip to main content

ProxyBackend

Trait ProxyBackend 

Source
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§

Source

fn list_tools(&mut self) -> Result<Vec<Tool>, McpError>

Lists available tools.

Source

fn list_resources(&mut self) -> Result<Vec<Resource>, McpError>

Lists available resources.

Source

fn list_resource_templates(&mut self) -> Result<Vec<ResourceTemplate>, McpError>

Lists available resource templates.

Source

fn list_prompts(&mut self) -> Result<Vec<Prompt>, McpError>

Lists available prompts.

Source

fn call_tool( &mut self, name: &str, arguments: Value, ) -> Result<Vec<Content>, McpError>

Calls a tool.

Source

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.

Source

fn read_resource(&mut self, uri: &str) -> Result<Vec<ResourceContent>, McpError>

Reads a resource by URI.

Source

fn get_prompt( &mut self, name: &str, arguments: HashMap<String, String>, ) -> Result<Vec<PromptMessage>, McpError>

Fetches a prompt by name.

Implementors§