Module handler

Module handler 

Source
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

§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
Log levels for MCP logging.

Traits§

CompletionHandler
Handler for completion suggestions.
ElicitationHandler
Handler for elicitation requests (structured user input).
LoggingHandler
Handler for logging operations.
PromptHandler
Handler for prompt-related operations.
ResourceHandler
Handler for resource-related operations.
SamplingHandler
Handler for sampling requests (server-initiated LLM calls).
ServerHandler
Core server handler trait - required for all MCP servers.
TaskHandler
Handler for task-related operations.
ToolHandler
Handler for tool-related operations.