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