mcp_toolkit/core/server

Types

pub type Builder {
  Builder(
    name: String,
    version: String,
    description: option.Option(String),
    instructions: option.Option(String),
    resources: dict.Dict(String, ServerResource),
    resource_templates: dict.Dict(String, ServerResourceTemplate),
    tools: dict.Dict(String, ServerTool),
    prompts: dict.Dict(String, ServerPrompt),
    capabilities: protocol.ServerCapabilities,
    page_limit: option.Option(Int),
  )
}

Constructors

pub opaque type Server
pub opaque type ServerPrompt
pub opaque type ServerResource
pub opaque type ServerResourceTemplate
pub opaque type ServerTool

Values

pub fn add_prompt(
  builder: Builder,
  prompt: protocol.Prompt,
  handler: fn(protocol.GetPromptRequest) -> Result(
    protocol.GetPromptResult,
    String,
  ),
) -> Builder
pub fn add_resource(
  builder: Builder,
  resource: protocol.Resource,
  handler: fn(protocol.ReadResourceRequest) -> Result(
    protocol.ReadResourceResult,
    String,
  ),
) -> Builder
pub fn add_resource_template(
  builder: Builder,
  template: protocol.ResourceTemplate,
  handler: fn(protocol.ReadResourceRequest) -> Result(
    protocol.ReadResourceResult,
    String,
  ),
) -> Builder
pub fn add_tool(
  builder: Builder,
  tool: protocol.Tool,
  arguments_decoder: decode.Decoder(arguments),
  handler: fn(protocol.CallToolRequest(arguments)) -> Result(
    protocol.CallToolResult,
    String,
  ),
) -> Builder
pub fn build(builder: Builder) -> Server
pub fn description(
  builder: Builder,
  description: String,
) -> Builder
pub fn enable_logging(builder: Builder) -> Builder
pub fn get_prompt(
  server: Server,
  request: protocol.GetPromptRequest,
) -> Result(protocol.GetPromptResult, String)
pub fn handle_message(
  server: Server,
  message: String,
) -> Result(option.Option(json.Json), json.Json)
pub fn instructions(
  builder: Builder,
  instructions: String,
) -> Builder
pub fn list_prompts(
  server: Server,
  request: protocol.ListRequest,
) -> Result(protocol.ListPromptsResult, json.Json)
pub fn list_resource_templates(
  server: Server,
  request: protocol.ListRequest,
) -> Result(protocol.ListResourceTemplatesResult, json.Json)
pub fn list_resources(
  server: Server,
  request: protocol.ListRequest,
) -> Result(protocol.ListResourcesResult, json.Json)
pub fn list_tools(
  server: Server,
  request: protocol.ListRequest,
) -> Result(protocol.ListToolsResult, json.Json)
pub fn new(name name: String, version version: String) -> Builder
pub fn page_limit(builder: Builder, page_limit: Int) -> Builder
pub fn ping(
  server: Server,
  request: protocol.PingRequest,
) -> Result(protocol.PingResult, json.Json)
pub fn prompt_capabilities(
  builder: Builder,
  list_changed: Bool,
) -> Builder
pub fn read_resource(
  server: Server,
  request: protocol.ReadResourceRequest,
) -> Result(protocol.ReadResourceResult, String)
pub fn resource_capabilities(
  builder: Builder,
  subscribe: Bool,
  list_changed: Bool,
) -> Builder
pub fn tool_capabilities(
  builder: Builder,
  list_changed: Bool,
) -> Builder
Search Document