Crate turbomcp_protocol

Crate turbomcp_protocol 

Source
Expand description

§MCP Protocol Implementation

This crate provides a complete implementation of the Model Context Protocol (MCP) specification version 2025-06-18. It includes all protocol types, JSON-RPC integration, and capability negotiation.

§Features

  • Complete MCP 2025-06-18 protocol implementation
  • JSON-RPC 2.0 support with batching
  • Type-safe capability negotiation
  • Protocol versioning and compatibility
  • Fast serialization
  • Comprehensive validation

Re-exports§

pub use types::CallToolRequest;
pub use types::CallToolResult;
pub use types::ClientCapabilities;
pub use types::ClientNotification;
pub use types::ClientRequest;
pub use types::Content;
pub use types::CreateMessageRequest;
pub use types::CreateMessageResult;
pub use types::EmbeddedResource;
pub use types::GetPromptRequest;
pub use types::GetPromptResult;
pub use types::ImageContent;
pub use types::Implementation;
pub use types::InitializeRequest;
pub use types::InitializeResult;
pub use types::InitializedNotification;
pub use types::ListPromptsRequest;
pub use types::ListPromptsResult;
pub use types::ListResourcesRequest;
pub use types::ListResourcesResult;
pub use types::ListRootsRequest;
pub use types::ListRootsResult;
pub use types::ListToolsRequest;
pub use types::ListToolsResult;
pub use types::LogLevel;
pub use types::LoggingNotification;
pub use types::ProgressNotification;
pub use types::ProgressToken;
pub use types::Prompt;
pub use types::PromptInput;
pub use types::ProtocolVersion;
pub use types::ReadResourceRequest;
pub use types::ReadResourceResult;
pub use types::RequestId;
pub use types::Resource;
pub use types::ResourceContents;
pub use types::ResourceUpdatedNotification;
pub use types::Root;
pub use types::RootsListChangedNotification;
pub use types::SamplingMessage;
pub use types::ServerCapabilities;
pub use types::ServerNotification;
pub use types::ServerRequest;
pub use types::SetLevelRequest;
pub use types::SetLevelResult;
pub use types::SubscribeRequest;
pub use types::TextContent;
pub use types::Tool;
pub use types::ToolInputSchema;
pub use types::ToolOutputSchema;
pub use types::UnsubscribeRequest;
pub use jsonrpc::JsonRpcBatch;
pub use jsonrpc::JsonRpcError;
pub use jsonrpc::JsonRpcErrorCode;
pub use jsonrpc::JsonRpcNotification;
pub use jsonrpc::JsonRpcRequest;
pub use jsonrpc::JsonRpcResponse;
pub use jsonrpc::JsonRpcVersion;
pub use capabilities::CapabilityMatcher;
pub use capabilities::CapabilityNegotiator;
pub use capabilities::CapabilitySet;
pub use versioning::VersionCompatibility;
pub use versioning::VersionManager;
pub use versioning::VersionRequirement;

Modules§

capabilities
Capability Negotiation
error_codes
Protocol error codes (JSON-RPC standard + MCP extensions)
features
Protocol feature flags
jsonrpc
JSON-RPC 2.0 Implementation
methods
Protocol method names
types
MCP Protocol Types
validation
Protocol Validation
versioning
Protocol Versioning and Compatibility

Structs§

Error
Comprehensive error type with rich context information

Constants§

PROTOCOL_VERSION
Current MCP protocol version
SUPPORTED_VERSIONS
Supported MCP protocol versions

Type Aliases§

Result
Result type alias for MCP operations