Skip to main content

ProxyBackend

Trait ProxyBackend 

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

Source

fn list_tools(&mut self) -> McpResult<Vec<Tool>>

Lists available tools.

Source

fn list_resources(&mut self) -> McpResult<Vec<Resource>>

Lists available resources.

Source

fn list_resource_templates(&mut self) -> McpResult<Vec<ResourceTemplate>>

Lists available resource templates.

Source

fn list_prompts(&mut self) -> McpResult<Vec<Prompt>>

Lists available prompts.

Source

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

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>), ) -> McpResult<Vec<Content>>

Calls a tool with progress callback support.

Source

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

Reads a resource by URI.

Source

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

Fetches a prompt by name.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ProxyBackend for Client

Source§

fn list_tools(&mut self) -> McpResult<Vec<Tool>>

Source§

fn list_resources(&mut self) -> McpResult<Vec<Resource>>

Source§

fn list_resource_templates(&mut self) -> McpResult<Vec<ResourceTemplate>>

Source§

fn list_prompts(&mut self) -> McpResult<Vec<Prompt>>

Source§

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

Source§

fn call_tool_with_progress( &mut self, name: &str, arguments: Value, on_progress: &'_ mut dyn FnMut(f64, Option<f64>, Option<String>), ) -> McpResult<Vec<Content>>

Source§

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

Source§

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

Implementors§