Skip to main content

Module http

Module http 

Source
Expand description

HTTP transport for FastMCP.

This module provides HTTP-based transport for MCP servers, enabling web-based deployments without relying on stdio or WebSockets.

§Modes

The HTTP transport supports two modes:

  • Stateless: Each HTTP request contains a single JSON-RPC message and receives a single response. No session state is maintained between requests.

  • Streamable: Long-lived connections using HTTP streaming (chunked transfer) for bidirectional communication. Supports Server-Sent Events (SSE) for server-to-client notifications.

§Integration

This transport is designed to integrate with any HTTP server framework. It provides:

§Example

use fastmcp_transport::http::{HttpRequestHandler, HttpRequest, HttpResponse};

let handler = HttpRequestHandler::new();

// In your HTTP server's request handler:
fn handle_mcp_request(http_req: YourHttpRequest) -> YourHttpResponse {
    let request = HttpRequest {
        method: http_req.method(),
        path: http_req.path(),
        headers: http_req.headers(),
        body: http_req.body(),
    };

    let mcp_response = handler.handle(&cx, request)?;

    YourHttpResponse::new()
        .status(mcp_response.status)
        .header("Content-Type", &mcp_response.content_type)
        .body(mcp_response.body)
}

Structs§

HttpHandlerConfig
Configuration for the HTTP request handler.
HttpRequest
Incoming HTTP request.
HttpRequestHandler
Handles HTTP requests containing MCP JSON-RPC messages.
HttpResponse
Outgoing HTTP response.
HttpSession
HTTP session for maintaining state across requests.
HttpStatus
HTTP status code.
HttpTransport
HTTP transport for stateless MCP communication.
SessionStore
Session store for HTTP sessions.
StreamableHttpTransport
Streaming HTTP transport for long-lived MCP connections.

Enums§

HttpError
HTTP transport error.
HttpMethod
HTTP method.