Trait McpServer

Source
pub trait McpServer:
    Send
    + Sync
    + 'static {
    // Provided methods
    fn server_info(&self) -> Implementation { ... }
    fn instructions(&self) -> Option<String> { ... }
    fn capabilities(&self) -> ServerCapabilities { ... }
    fn prompts_list(
        &self,
        p: ListPromptsRequestParams,
        cx: &mut RequestContext,
    ) -> impl Future<Output = Result<ListPromptsResult>> + Send { ... }
    fn prompts_get(
        &self,
        p: GetPromptRequestParams,
        cx: &mut RequestContext,
    ) -> impl Future<Output = Result<GetPromptResult>> + Send { ... }
    fn resources_list(
        &self,
        p: ListResourcesRequestParams,
        cx: &mut RequestContext,
    ) -> impl Future<Output = Result<ListResourcesResult>> + Send { ... }
    fn resources_templates_list(
        &self,
        p: ListResourceTemplatesRequestParams,
        cx: &mut RequestContext,
    ) -> impl Future<Output = Result<ListResourceTemplatesResult>> + Send { ... }
    fn resources_read(
        &self,
        p: ReadResourceRequestParams,
        cx: &mut RequestContext,
    ) -> impl Future<Output = Result<ReadResourceResult>> + Send { ... }
    fn tools_list(
        &self,
        p: ListToolsRequestParams,
        cx: &mut RequestContext,
    ) -> impl Future<Output = Result<ListToolsResult>> + Send { ... }
    fn tools_call(
        &self,
        p: CallToolRequestParams,
        cx: &mut RequestContext,
    ) -> impl Future<Output = Result<CallToolResult>> + Send { ... }
    fn completion_complete(
        &self,
        p: CompleteRequestParams,
        cx: &mut RequestContext,
    ) -> impl Future<Output = Result<CompleteResult>> + Send { ... }
    fn into_handler(self) -> impl Handler + Send + Sync + 'static
       where Self: Sized + Send + Sync + 'static { ... }
}
Expand description

Trait for implementing MCP server

Provided Methods§

Source

fn server_info(&self) -> Implementation

Returns server_info used in the initialize request response

Source

fn instructions(&self) -> Option<String>

Returns instructions used in the initialize request response

Source

fn capabilities(&self) -> ServerCapabilities

Returns capabilities used in the initialize request response

Source

fn prompts_list( &self, p: ListPromptsRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ListPromptsResult>> + Send

Handles prompts/list

Source

fn prompts_get( &self, p: GetPromptRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<GetPromptResult>> + Send

Handles prompts/get

Source

fn resources_list( &self, p: ListResourcesRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ListResourcesResult>> + Send

Source

fn resources_templates_list( &self, p: ListResourceTemplatesRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ListResourceTemplatesResult>> + Send

Source

fn resources_read( &self, p: ReadResourceRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ReadResourceResult>> + Send

Source

fn tools_list( &self, p: ListToolsRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ListToolsResult>> + Send

Handles tools/list

Source

fn tools_call( &self, p: CallToolRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<CallToolResult>> + Send

Handles tools/call

Source

fn completion_complete( &self, p: CompleteRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<CompleteResult>> + Send

Source

fn into_handler(self) -> impl Handler + Send + Sync + 'static
where Self: Sized + Send + Sync + 'static,

Gets the JSON RPC Handler

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§