Spaces:
Running
Running
| --- | |
| title: http | |
| sidebarTitle: http | |
| --- | |
| # `fastmcp.server.http` | |
| ## Functions | |
| ### `set_http_request` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/http.py#L50" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| set_http_request(request: Request) -> Generator[Request, None, None] | |
| ``` | |
| ### `setup_auth_middleware_and_routes` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/http.py#L74" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| setup_auth_middleware_and_routes(auth: AuthProvider) -> tuple[list[Middleware], list[Route], list[str]] | |
| ``` | |
| Set up authentication middleware and routes if auth is enabled. | |
| **Args:** | |
| - `auth`: An AuthProvider for authentication (TokenVerifier or OAuthProvider) | |
| **Returns:** | |
| - Tuple of (middleware, auth_routes, required_scopes) | |
| ### `create_base_app` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/http.py#L119" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| 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 app | |
| - `middleware`: List of middleware to include in the app | |
| - `debug`: Whether to enable debug mode | |
| - `lifespan`: Optional lifespan manager for the app | |
| **Returns:** | |
| - A Starlette application | |
| ### `create_sse_app` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/http.py#L147" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| 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 instance | |
| - `message_path`: Path for SSE messages | |
| - `sse_path`: Path for SSE connections | |
| - `auth`: Optional authentication provider (AuthProvider) | |
| - `debug`: Whether to enable debug mode | |
| - `routes`: Optional list of custom routes | |
| - `middleware`: Optional list of middleware | |
| Returns: | |
| A Starlette application with RequestContextMiddleware | |
| ### `create_streamable_http_app` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/http.py#L263" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| create_streamable_http_app(server: FastMCP[LifespanResultT], streamable_http_path: str, event_store: EventStore | 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 instance | |
| - `streamable_http_path`: Path for StreamableHTTP connections | |
| - `event_store`: Optional event store for session management | |
| - `auth`: Optional authentication provider (AuthProvider) | |
| - `json_response`: Whether to use JSON response format | |
| - `stateless_http`: Whether to use stateless mode (new transport per request) | |
| - `debug`: Whether to enable debug mode | |
| - `routes`: Optional list of custom routes | |
| - `middleware`: Optional list of middleware | |
| **Returns:** | |
| - A Starlette application with StreamableHTTP support | |
| ## Classes | |
| ### `StarletteWithLifespan` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/http.py#L43" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| **Methods:** | |
| #### `lifespan` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/http.py#L45" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| ```python | |
| lifespan(self) -> Lifespan | |
| ``` | |
| ### `RequestContextMiddleware` <sup><a href="https://github.com/jlowin/fastmcp/blob/main/src/fastmcp/server/http.py#L58" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup> | |
| Middleware that stores each request in a ContextVar | |