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§
Sourcefn server_info(&self) -> Implementation
fn server_info(&self) -> Implementation
Returns server_info
used in the initialize
request response
Sourcefn instructions(&self) -> Option<String>
fn instructions(&self) -> Option<String>
Returns instructions
used in the initialize
request response
Sourcefn capabilities(&self) -> ServerCapabilities
fn capabilities(&self) -> ServerCapabilities
Returns capabilities
used in the initialize
request response
Sourcefn prompts_list(
&self,
p: ListPromptsRequestParams,
cx: &mut RequestContext,
) -> impl Future<Output = Result<ListPromptsResult>> + Send
fn prompts_list( &self, p: ListPromptsRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ListPromptsResult>> + Send
Handles prompts/list
Sourcefn prompts_get(
&self,
p: GetPromptRequestParams,
cx: &mut RequestContext,
) -> impl Future<Output = Result<GetPromptResult>> + Send
fn prompts_get( &self, p: GetPromptRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<GetPromptResult>> + Send
Handles prompts/get
Sourcefn resources_list(
&self,
p: ListResourcesRequestParams,
cx: &mut RequestContext,
) -> impl Future<Output = Result<ListResourcesResult>> + Send
fn resources_list( &self, p: ListResourcesRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ListResourcesResult>> + Send
Handles resources/list
Sourcefn resources_templates_list(
&self,
p: ListResourceTemplatesRequestParams,
cx: &mut RequestContext,
) -> impl Future<Output = Result<ListResourceTemplatesResult>> + Send
fn resources_templates_list( &self, p: ListResourceTemplatesRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ListResourceTemplatesResult>> + Send
Handles resources/templates/list
Sourcefn resources_read(
&self,
p: ReadResourceRequestParams,
cx: &mut RequestContext,
) -> impl Future<Output = Result<ReadResourceResult>> + Send
fn resources_read( &self, p: ReadResourceRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ReadResourceResult>> + Send
Handles resources/read
Sourcefn tools_list(
&self,
p: ListToolsRequestParams,
cx: &mut RequestContext,
) -> impl Future<Output = Result<ListToolsResult>> + Send
fn tools_list( &self, p: ListToolsRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<ListToolsResult>> + Send
Handles tools/list
Sourcefn tools_call(
&self,
p: CallToolRequestParams,
cx: &mut RequestContext,
) -> impl Future<Output = Result<CallToolResult>> + Send
fn tools_call( &self, p: CallToolRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<CallToolResult>> + Send
Handles tools/call
Sourcefn completion_complete(
&self,
p: CompleteRequestParams,
cx: &mut RequestContext,
) -> impl Future<Output = Result<CompleteResult>> + Send
fn completion_complete( &self, p: CompleteRequestParams, cx: &mut RequestContext, ) -> impl Future<Output = Result<CompleteResult>> + Send
Handles completion/complete
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.