fastmcp.utilities.cli

Functions

is_already_in_uv_subprocess

is_already_in_uv_subprocess() -> bool
Check if we’re already running in a FastMCP uv subprocess.

load_and_merge_config

load_and_merge_config(server_spec: str | None, **cli_overrides) -> tuple[MCPServerConfig, str]
Load config from server_spec and apply CLI overrides. This consolidates the config parsing logic that was duplicated across run, inspect, and dev commands. Args:
  • server_spec: Python file, config file, URL, or None to auto-detect
  • cli_overrides: CLI arguments that override config values
Returns:
  • Tuple of (MCPServerConfig, resolved_server_spec)

log_server_banner

log_server_banner(server: FastMCP[Any], transport: Literal['stdio', 'http', 'sse', 'streamable-http']) -> None
Creates and logs a formatted banner with server information and logo. Args:
  • transport: The transport protocol being used
  • server_name: Optional server name to display
  • host: Host address (for HTTP transports)
  • port: Port number (for HTTP transports)
  • path: Server path (for HTTP transports)