1pub mod content;
58pub mod logging;
59pub mod managers;
60pub mod protocol;
61pub mod registry;
62pub mod server;
63pub mod transport;
64pub mod utils;
65
66pub mod prelude {
68 pub use crate::protocol::capabilities::{ClientCapabilities, ServerCapabilities};
70 pub use crate::protocol::types::{JsonRpcError, JsonRpcRequest, JsonRpcResponse};
71
72 pub use crate::content::annotations::Annotations;
74 pub use crate::content::builder::{audio, image, resource, text};
75 pub use crate::content::resource::ResourceContent;
76 pub use crate::content::types::{
77 AudioContent, Content, ImageContent, ResourceLink, TextContent,
78 };
79
80 pub use crate::server::builder::{ServerBuilder, server};
82 pub use crate::server::core::Server;
83 pub use crate::server::multiplexer::{
84 ClientRequester, CreateMessageParams, CreateMessageResult, JsonRpcClientRequest,
85 ListRootsResult, ModelHint, ModelPreferences, MultiplexerError, RequestMultiplexer, Root,
86 SamplingContent, SamplingMessage,
87 };
88 pub use crate::server::profile::SessionProfile;
89 pub use crate::server::session::Session;
90 pub use crate::server::visibility::{
91 Environment, ExecutionContext, SimpleEnvironment, VisibilityContext,
92 };
93
94 pub use crate::registry::prompts::{
96 GetPromptResult, Prompt, PromptArgument, PromptError, PromptInfo, PromptManager,
97 };
98 pub use crate::registry::resources::{
99 Resource, ResourceError, ResourceInfo, ResourceManager, ResourceRetryConfig,
100 ResourceTemplate, ResourceTemplateInfo,
101 };
102 pub use crate::registry::tools::{
103 Tool, ToolBreakerConfig, ToolError, ToolHelpers, ToolInfo, ToolRegistry,
104 };
105
106 pub use crate::content::prompt::{PromptContent, PromptMessage, PromptRole};
108
109 pub use crate::server::middleware::{RateLimiter, RateLimiterConfig};
111
112 pub use crate::logging::{LogLevel, LoggerConfig, McpLogger, send_log_notification};
114
115 pub use crate::managers::progress::{ProgressToken, ProgressTracker};
117
118 pub use crate::utils::{
120 base64_decode, base64_encode, byte_to_line_col, collect_files, is_safe_path,
121 };
122
123 pub use crate::transport::traits::{
125 IncomingMessage, JsonRpcNotification, Transport, TransportError,
126 };
127
128 #[cfg(feature = "stdio")]
129 pub use crate::transport::stdio::StdioTransport;
130
131 #[cfg(feature = "http")]
132 pub use crate::transport::http::{HttpTransport, HttpTransportConfig, HttpTransportError};
133
134 #[cfg(feature = "macros")]
136 pub use mcp_host_macros::{McpPrompt, McpResource, McpTool};
137}