Skip to main content

fastmcp.server.low_level

Classes

MiddlewareServerSession

ServerSession that routes initialization requests through FastMCP middleware. Methods:

fastmcp

fastmcp(self) -> FastMCP
Get the FastMCP instance.

LowLevelServer

Methods:

fastmcp

fastmcp(self) -> FastMCP
Get the FastMCP instance.

create_initialization_options

create_initialization_options(self, notification_options: NotificationOptions | None = None, experimental_capabilities: dict[str, dict[str, Any]] | None = None, **kwargs: Any) -> InitializationOptions

get_capabilities

get_capabilities(self, notification_options: NotificationOptions, experimental_capabilities: dict[str, dict[str, Any]]) -> mcp.types.ServerCapabilities
Override to set capabilities.tasks as a first-class field per SEP-1686. This ensures task capabilities appear in capabilities.tasks instead of capabilities.experimental.tasks, which is required by the MCP spec and enables proper task detection by clients like VS Code Copilot 1.107+.

run

run(self, read_stream: MemoryObjectReceiveStream[SessionMessage | Exception], write_stream: MemoryObjectSendStream[SessionMessage], initialization_options: InitializationOptions, raise_exceptions: bool = False, stateless: bool = False)
Overrides the run method to use the MiddlewareServerSession.

read_resource

read_resource(self) -> Callable[[Callable[[AnyUrl], Awaitable[mcp.types.ReadResourceResult | mcp.types.CreateTaskResult]]], Callable[[AnyUrl], Awaitable[mcp.types.ReadResourceResult | mcp.types.CreateTaskResult]]]
Decorator for registering a read_resource handler with CreateTaskResult support. The MCP SDK’s read_resource decorator does not support returning CreateTaskResult for background task execution. This decorator wraps the result in ServerResult. This decorator can be removed once the MCP SDK adds native CreateTaskResult support for resources.

get_prompt

get_prompt(self) -> Callable[[Callable[[str, dict[str, Any] | None], Awaitable[mcp.types.GetPromptResult | mcp.types.CreateTaskResult]]], Callable[[str, dict[str, Any] | None], Awaitable[mcp.types.GetPromptResult | mcp.types.CreateTaskResult]]]
Decorator for registering a get_prompt handler with CreateTaskResult support. The MCP SDK’s get_prompt decorator does not support returning CreateTaskResult for background task execution. This decorator wraps the result in ServerResult. This decorator can be removed once the MCP SDK adds native CreateTaskResult support for prompts.