From 35e3e7e3a610dc946fbff55b3ceae378f64d715e Mon Sep 17 00:00:00 2001 From: "marvin-context-protocol[bot]" <225465937+marvin-context-protocol[bot]@users.noreply.github.com> Date: Tue, 16 Sep 2025 00:07:40 +0000 Subject: [PATCH] Fix log_level from fastmcp.json treated as transport parameter Pass log_level from fastmcp.json deployment config as a transport kwarg to server.run_async(), similar to how host/port are handled. This allows the HTTP transport to properly configure logging without modifying global settings. Co-authored-by: Jeremiah Lowin --- src/fastmcp/cli/run.py | 4 ++-- .../utilities/mcp_server_config/v1/mcp_server_config.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/fastmcp/cli/run.py b/src/fastmcp/cli/run.py index f2712ca1c..5c4f386db 100644 --- a/src/fastmcp/cli/run.py +++ b/src/fastmcp/cli/run.py @@ -184,8 +184,8 @@ async def run_command( kwargs["port"] = port if path: kwargs["path"] = path - # Note: log_level is not currently supported by run_async - # TODO: Add log_level support to server.run_async + if log_level: + kwargs["log_level"] = log_level if not show_banner: kwargs["show_banner"] = False diff --git a/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py b/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py index 0f402e084..c269d0eda 100644 --- a/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py +++ b/src/fastmcp/utilities/mcp_server_config/v1/mcp_server_config.py @@ -403,7 +403,8 @@ class MCPServerConfig(BaseModel): run_args["port"] = self.deployment.port if self.deployment.path: run_args["path"] = self.deployment.path - # Note: log_level not currently supported by run_async + if self.deployment.log_level: + run_args["log_level"] = self.deployment.log_level # Override with any provided kwargs run_args.update(kwargs)