docs/python-sdk/fastmcp-server-http.mdx
fastmcp.server.httpset_http_request <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/http.py#L81" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>set_http_request(request: Request) -> Generator[Request, None, None]
create_base_app <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/http.py#L114" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>create_base_app(routes: list[BaseRoute], middleware: list[Middleware], debug: bool = False, lifespan: Callable | None = None) -> StarletteWithLifespan
Create a base Starlette app with common middleware and routes.
Args:
routes: List of routes to include in the appmiddleware: List of middleware to include in the appdebug: Whether to enable debug modelifespan: Optional lifespan manager for the appReturns:
create_sse_app <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/http.py#L142" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>create_sse_app(server: FastMCP[LifespanResultT], message_path: str, sse_path: str, auth: AuthProvider | None = None, debug: bool = False, routes: list[BaseRoute] | None = None, middleware: list[Middleware] | None = None) -> StarletteWithLifespan
Return an instance of the SSE server app.
Args:
server: The FastMCP server instancemessage_path: Path for SSE messagessse_path: Path for SSE connectionsauth: Optional authentication provider (AuthProvider)debug: Whether to enable debug moderoutes: Optional list of custom routesmiddleware: Optional list of middlewareReturns: A Starlette application with RequestContextMiddleware
create_streamable_http_app <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/http.py#L269" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>create_streamable_http_app(server: FastMCP[LifespanResultT], streamable_http_path: str, event_store: EventStore | None = None, retry_interval: int | None = None, auth: AuthProvider | None = None, json_response: bool = False, stateless_http: bool = False, debug: bool = False, routes: list[BaseRoute] | None = None, middleware: list[Middleware] | None = None) -> StarletteWithLifespan
Return an instance of the StreamableHTTP server app.
Args:
server: The FastMCP server instancestreamable_http_path: Path for StreamableHTTP connectionsevent_store: Optional event store for SSE polling/resumabilityretry_interval: Optional retry interval in milliseconds for SSE polling.
Controls how quickly clients should reconnect after server-initiated
disconnections. Requires event_store to be set. Defaults to SDK default.auth: Optional authentication provider (AuthProvider)json_response: Whether to use JSON response formatstateless_http: Whether to use stateless mode (new transport per request)debug: Whether to enable debug moderoutes: Optional list of custom routesmiddleware: Optional list of middlewareReturns:
StreamableHTTPASGIApp <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/http.py#L32" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>ASGI application wrapper for Streamable HTTP server transport.
StarletteWithLifespan <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/http.py#L74" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Methods:
lifespan <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/http.py#L76" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>lifespan(self) -> Lifespan[Starlette]
RequestContextMiddleware <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/http.py#L89" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Middleware that stores each request in a ContextVar and sets transport type.