Available on non-WebAssembly only.
Expand description
Server-side HTTP middleware for request/response interception.
This module provides HTTP-level middleware for MCP servers, enabling:
- Request/response logging with sensitive data redaction
- Authentication and authorization
- Rate limiting and throttling
- Custom request/response transformation
§Architecture
Server HTTP middleware operates at the HTTP transport layer (before JSON-RPC processing), providing symmetry with client-side HTTP middleware.
Two-layer model:
- HTTP Layer:
ServerHttpMiddlewarefor transport-level concerns - Protocol Layer:
EnhancedMiddlewarefor JSON-RPC message processing
§Examples
use pmcp::server::http_middleware::{ServerHttpMiddleware, ServerHttpLoggingMiddleware};
use pmcp::server::http_middleware::ServerHttpMiddlewareChain;
use std::sync::Arc;
// Create logging middleware with redaction
let logging = ServerHttpLoggingMiddleware::new()
.with_redact_query(true)
.with_max_body_bytes(1024);
// Build middleware chain
let mut chain = ServerHttpMiddlewareChain::new();
chain.add(Arc::new(logging));Modules§
- adapters
streamable-http - Framework adapters for converting between middleware types and framework types.
Structs§
- Server
Http Context - Context for server HTTP middleware processing.
- Server
Http Logging Middleware - Server HTTP logging middleware with sensitive data redaction.
- Server
Http Middleware Chain - Chain of server HTTP middleware handlers.
- Server
Http Request - HTTP request for server middleware processing.
- Server
Http Response - HTTP response for server middleware processing.
Traits§
- Server
Http Middleware - Server-side HTTP middleware trait.