diff --git a/src/fastmcp/server/server.py b/src/fastmcp/server/server.py index 0d77d26a5..e4af96c37 100644 --- a/src/fastmcp/server/server.py +++ b/src/fastmcp/server/server.py @@ -345,7 +345,7 @@ async def run_async( transport: Transport protocol to use ("stdio", "sse", or "streamable-http") """ if transport is None: - transport = "stdio" + transport = self._deprecated_settings.transport if transport not in {"stdio", "http", "sse", "streamable-http"}: raise ValueError(f"Unknown transport: {transport}") diff --git a/src/fastmcp/settings.py b/src/fastmcp/settings.py index 5cbc8dfad..d9184d3f0 100644 --- a/src/fastmcp/settings.py +++ b/src/fastmcp/settings.py @@ -22,6 +22,7 @@ LOG_LEVEL = Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"] DuplicateBehavior = Literal["warn", "error", "replace", "ignore"] +Transport = Literal["stdio", "http", "sse", "streamable-http"] class ExtendedEnvSettingsSource(EnvSettingsSource): @@ -220,6 +221,14 @@ def normalize_log_level(cls, v): ), ] = None + transport: Annotated[ + Transport, + Field( + default="stdio", + description="The transport protocol to use for the server. Defaults to 'stdio'.", + ), + ] = "stdio" + # HTTP settings host: str = "127.0.0.1" port: int = 8000