Expand description
Composable handler traits for MCP servers.
This module defines the traits that MCP servers can implement to handle different protocol capabilities. Unlike monolithic handler approaches, these traits are composable - implement only what you need.
§Overview
ServerHandler: Minimal required trait for all serversToolHandler: Handle tool discovery and executionResourceHandler: Handle resource discovery and readingPromptHandler: Handle prompt discovery and renderingTaskHandler: Handle long-running task operations
§Example
use mcpkit_server::{ServerHandler, ServerBuilder};
use mcpkit_core::capability::{ServerInfo, ServerCapabilities};
struct MyServer;
impl ServerHandler for MyServer {
fn server_info(&self) -> ServerInfo {
ServerInfo::new("my-server", "1.0.0")
}
fn capabilities(&self) -> ServerCapabilities {
ServerCapabilities::new().with_tools()
}
}
let server = ServerBuilder::new(MyServer).build();
assert_eq!(server.server_info().name, "my-server");Enums§
- LogLevel
- The MCP logging severity, re-exported from core.
Traits§
- Completion
Handler - Handler for completion suggestions (
completion/complete). - Prompt
Handler - Handler for prompt-related operations.
- Resource
Handler - Handler for resource-related operations.
- Server
Handler - Core server handler trait - required for all MCP servers.
- Task
Handler - Handler for task-related operations.
- Tool
Handler - Handler for tool-related operations.