ultrafast_mcp_core/
lib.rs

1//! # UltraFast MCP Core
2//!
3//! Core protocol implementation for the Model Context Protocol (MCP).
4//!
5//! This crate provides the foundational types, protocol implementations, and utilities
6//! for building high-performance MCP-compliant servers and clients.
7
8pub mod config;
9pub mod error;
10pub mod protocol;
11pub mod schema;
12pub mod traits;
13pub mod types;
14pub mod utils;
15pub mod validation;
16
17pub use error::{MCPError, MCPResult};
18
19// Re-export protocol items
20pub use protocol::{
21    ImplementationMetadata, InitializeRequest, InitializeResponse, InitializedNotification,
22    JsonRpcError, JsonRpcMessage, JsonRpcRequest, JsonRpcResponse, LifecyclePhase, LogLevel,
23    LogMessage, Message, Notification, RequestId, RequestMetadata, ResponseMetadata,
24    ShutdownRequest,
25};
26
27// Re-export types items
28pub use types::{
29    CancelledNotification,
30    ClientCapabilityNotification,
31    ClientInfo,
32    ConnectionStatus,
33    ConnectionStatusNotification,
34    GetPromptRequest,
35    GetPromptResponse,
36    ListPromptsRequest,
37    ListPromptsResponse,
38    ListResourceTemplatesRequest,
39    ListResourceTemplatesResponse,
40    ListResourcesRequest,
41    ListResourcesResponse,
42    ListToolsRequest,
43    ListToolsResponse,
44    LogLevelSetRequest,
45    LogLevelSetResponse,
46    LoggingMessageNotification,
47    ModelHint,
48    ModelPreferences,
49    PingRequest,
50    PingResponse,
51    ProgressNotification,
52    Prompt,
53    PromptArgument,
54    PromptContent,
55    PromptMessage,
56    PromptMessages,
57    PromptRole,
58    PromptsListChangedNotification,
59    RateLimitNotification,
60    RateLimitType,
61    ReadResourceRequest,
62    ReadResourceResponse,
63    RequestTimeoutNotification,
64    Resource,
65    ResourceContent,
66    ResourceReference,
67    ResourceTemplate,
68    ResourcesListChangedNotification,
69    RootsListChangedNotification,
70    SamplingContent,
71    SamplingMessage,
72    SamplingRequest,
73    SamplingResponse,
74    SamplingRole,
75    ServerCapabilityNotification,
76    ServerInfo,
77    SubscribeRequest,
78    Tool,
79    ToolCallRequest,
80    ToolCallResponse,
81    ToolContent,
82    // Notification types
83    ToolsListChangedNotification,
84    UnsubscribeRequest,
85};
86
87// Re-export schema items
88pub use schema::{
89    array_schema, basic_schema, enum_schema, generate_schema_for, object_schema,
90    validate_against_schema, validate_tool_input, validate_tool_output,
91};
92
93// Re-export utils items
94pub use utils::{
95    Cursor, PaginationInfo, PaginationParams, Progress, ProgressStatus, ProgressTracker, Uri,
96};