mcp_toolkit
Types
Server builder pipeline. Combine helpers such as add_tool
and build
to
produce an MCP server implementation.
pub type Builder =
server.Builder
Handle incoming MCP JSON-RPC messages once you’ve built a server.
pub type Server =
server.Server
pub type StdioTransport =
interface.StdioTransport
Transport configuration for stdio plus helpers for building runtime loops.
pub type Transport =
interface.Transport
pub type TransportEvent =
interface.TransportEvent
pub type TransportInterface =
interface.TransportInterface
pub type TransportMessage =
interface.TransportMessage
Values
pub fn add_prompt(
builder: server.Builder,
prompt: protocol.Prompt,
handler: fn(protocol.GetPromptRequest) -> Result(
protocol.GetPromptResult,
String,
),
) -> server.Builder
pub fn add_resource(
builder: server.Builder,
resource: protocol.Resource,
handler: fn(protocol.ReadResourceRequest) -> Result(
protocol.ReadResourceResult,
String,
),
) -> server.Builder
pub fn add_resource_template(
builder: server.Builder,
template: protocol.ResourceTemplate,
handler: fn(protocol.ReadResourceRequest) -> Result(
protocol.ReadResourceResult,
String,
),
) -> server.Builder
pub fn add_tool(
builder: server.Builder,
tool: protocol.Tool,
arguments_decoder: decode.Decoder(arguments),
handler: fn(protocol.CallToolRequest(arguments)) -> Result(
protocol.CallToolResult,
String,
),
) -> server.Builder
pub fn build(builder: server.Builder) -> server.Server
Finalise the builder into a server that is ready to receive messages.
pub fn create_transport(
transport_config: interface.Transport,
) -> Result(interface.TransportInterface, String)
Helper to create a transport implementation for the provided configuration.
pub fn description(
builder: server.Builder,
description: String,
) -> server.Builder
pub fn enable_logging(builder: server.Builder) -> server.Builder
pub fn handle_message(
server: server.Server,
message: String,
) -> Result(option.Option(json.Json), json.Json)
Decode and execute a JSON-RPC MCP message. Returns a response JSON payload when needed.
pub fn instructions(
builder: server.Builder,
instructions: String,
) -> server.Builder
pub fn new(
name name: String,
version version: String,
) -> server.Builder
Construct a new server builder with the given name and version.
pub fn page_limit(
builder: server.Builder,
page_limit: Int,
) -> server.Builder
pub fn prompt_capabilities(
builder: server.Builder,
list_changed: Bool,
) -> server.Builder
pub fn resource_capabilities(
builder: server.Builder,
subscribe: Bool,
list_changed: Bool,
) -> server.Builder
pub fn tool_capabilities(
builder: server.Builder,
list_changed: Bool,
) -> server.Builder