fastmcp.utilities.tests

Functions

temporary_settings

temporary_settings(**kwargs: Any)
Temporarily override FastMCP setting values. Args:
  • **kwargs: The settings to override, including nested settings.

run_server_in_process

run_server_in_process(server_fn: Callable[..., None], *args, **kwargs) -> Generator[str, None, None]
Context manager that runs a FastMCP server in a separate process and returns the server URL. When the context manager is exited, the server process is killed. Args:
  • server_fn: The function that runs a FastMCP server. FastMCP servers are not pickleable, so we need a function that creates and runs one.
  • *args: Arguments to pass to the server function.
  • provide_host_and_port: Whether to provide the host and port to the server function as kwargs.
  • **kwargs: Keyword arguments to pass to the server function.
Returns:
  • The server URL.

caplog_for_fastmcp

caplog_for_fastmcp(caplog)
Context manager to capture logs from FastMCP loggers even when propagation is disabled.

Classes

HeadlessOAuth

OAuth provider that bypasses browser interaction for testing. This simulates the complete OAuth flow programmatically by making HTTP requests instead of opening a browser and running a callback server. Useful for automated testing. Methods:

redirect_handler

redirect_handler(self, authorization_url: str) -> None
Make HTTP request to authorization URL and store response for callback handler.

callback_handler

callback_handler(self) -> tuple[str, str | None]
Parse stored response and return (auth_code, state).