Module prelude

Module prelude 

Source
Expand description

§HTTP MCP Server Prelude

This module provides convenient re-exports of the most commonly used types from the HTTP MCP server library.

use turul_http_mcp_server::prelude::*;

Re-exports§

pub use crate::cors::CorsLayer;
pub use crate::server::HttpMcpServer;
pub use crate::server::HttpMcpServerBuilder;
pub use crate::server::ServerConfig;
pub use crate::server::ServerStats;
pub use crate::session_handler::SessionMcpHandler;
pub use crate::session_handler::SessionSseStream;
pub use crate::stream_manager::StreamConfig;
pub use crate::stream_manager::StreamError;
pub use crate::stream_manager::StreamManager;
pub use crate::stream_manager::StreamStats;
pub use crate::notification_bridge::BroadcastError;
pub use crate::notification_bridge::NotificationBroadcaster;
pub use crate::notification_bridge::SharedNotificationBroadcaster;
pub use crate::notification_bridge::StreamManagerNotificationBroadcaster;
pub use crate::protocol::McpProtocolVersion;
pub use crate::protocol::extract_last_event_id;
pub use crate::protocol::extract_protocol_version;
pub use crate::protocol::extract_session_id;
pub use crate::middleware::DispatcherResult;
pub use crate::middleware::McpMiddleware;
pub use crate::middleware::MiddlewareError;
pub use crate::middleware::MiddlewareStack;
pub use crate::middleware::RequestContext;
pub use crate::middleware::SessionInjection;
pub use crate::middleware::StorageBackedSessionView;
pub use crate::middleware::error_codes;
pub use crate::HttpMcpError;
pub use crate::Result;

Macros§

json
Construct a serde_json::Value from a JSON literal.

Structs§

Annotations
Generic annotations structure (matches TypeScript Annotations) Used across all MCP types that support client annotations
CallToolParams
Parameters for tools/call request (matches TypeScript CallToolRequest.params)
CallToolRequest
Complete tools/call request (matches TypeScript CallToolRequest interface)
CallToolResult
Result for tools/call (per MCP spec)
ClientCapabilities
Capabilities that a client may support
CompleteParams
Completion request parameters (per MCP spec)
CompleteResult
Complete completion/complete response (per MCP spec)
CreateMessageResult
Result for sampling/createMessage (per MCP spec)
Cursor
Cursor for pagination support
GetPromptParams
Parameters for prompts/get request (matches MCP GetPromptRequest.params exactly)
HashMap
A hash map implemented with quadratic probing and SIMD lookup.
Implementation
Describes the name and version of an MCP implementation
InitializeRequest
Parameters for initialize request
JsonRpcDispatcher
JSON-RPC 2.0 dispatcher and handler trait for protocol operations JSON-RPC method dispatcher with specific error type
JsonRpcNotification
A JSON-RPC 2.0 notification (no response expected)
JsonRpcRequest
A standard JSON-RPC 2.0 request
JsonRpcResponse
A standard JSON-RPC 2.0 response
ListResourcesParams
Parameters for resources/list request
ListRootsParams
Parameters for roots/list request (per MCP spec - no params required but can have _meta)
LoggingMessageNotification
Method: “notifications/message”
LoggingMessageNotificationParams
Notification
Base notification structure following MCP TypeScript specification
NotificationParams
Base notification parameters that can include _meta
ProgressNotification
Method: “notifications/progress”
ProgressNotificationParams
Prompt
A prompt descriptor (matches TypeScript Prompt interface exactly)
PromptArgument
Argument definition for prompts (extends BaseMetadata per MCP spec)
PromptMessage
Message content for prompts (matches MCP PromptMessage interface exactly)
ReadResourceParams
Parameters for resources/read request
Resource
A resource descriptor (matches TypeScript Resource interface) Resource extends BaseMetadata, so it includes name and title fields
ResourceTemplate
A template description for resources available on the server ResourceTemplate extends BaseMetadata
ResourceUpdatedNotification
Method: “notifications/resources/updated”
ResourceUpdatedNotificationParams
Root
Root directory entry (per MCP spec)
SamplingMessage
Sampling message (per MCP spec)
Tool
Tool definition
ToolSchema
JSON Schema definition for tool input/output (matches TypeScript spec exactly) Must be an object with type: “object”, properties, and required fields

Enums§

CompletionReference
Union type for completion references (per MCP spec)
ContentBlock
Content block union type matching MCP 2025-06-18 specification exactly
McpError
MCP-specific errors
McpVersion
Supported MCP protocol versions
ResourceContent
Union type for resource contents (matches TypeScript union)
Value
Represents any valid JSON value.

Traits§

JsonRpcHandler
JSON-RPC 2.0 dispatcher and handler trait for protocol operations Trait for handling JSON-RPC method calls

Type Aliases§

McpResult
Common result type for MCP operations
ToolResult
Tool result type - an alias for ContentBlock to maintain backward compatibility while ensuring MCP 2025-06-18 specification compliance