Crate mcp_daemon

Source
Expand description

§mcp_daemon

mcp_daemon is a comprehensive implementation of the Model Context Protocol (MCP) in Rust. It provides a robust, async-first approach to building MCP-compatible servers and clients.

§Features

  • Full implementation of the MCP specification
  • Async support using Tokio
  • Multiple transport layers: Stdio, In-Memory, SSE, WebSockets
  • Comprehensive error handling and recovery mechanisms
  • Support for tools, prompts, resources, completion, sampling, and roots
  • Integration with various LLM providers through bridges

§Main Components

  • client: MCP client implementation
  • server: MCP server implementation
  • transport: Various transport layer implementations
  • protocol: Core MCP protocol definitions
  • types: Common types used throughout the crate
  • completable: Implementations for completable items
  • registry: Registry for MCP components
  • sse: Server-Sent Events implementation

For more detailed information on each component, please refer to their respective module documentation.

Re-exports§

pub use sse::http_server::run_http_server;
pub use client::Client;
pub use server::Server;

Modules§

client
Client implementation for interacting with MCP servers
completable
Trait and implementations for completable items in MCP
protocol
Core protocol definitions and message types for MCP
registry
Registry for managing MCP components and their relationships
server
Server implementation for handling MCP requests and responses
sse
Server-Sent Events (SSE) implementation for real-time communication
transport
Transport layer implementations for different communication protocols Transport layer for the MCP protocol handles the serialization and deserialization of message handles send and receive of messages defines transport layer types
types
Common types and structures used throughout the crate