Notify the client of logs.
Under MCP 2026-07-28, clients opt into these notifications per request
with the io.modelcontextprotocol/logLevel metadata key. Legacy clients
configure the session-wide threshold with logging/setLevel.
Summary
Functions
Notify the client with a log at level "alert" with default domain "server".
Note: this requires the session variable to be within scope
Notify the client with a log at level "alert"
Notify the client with a log at level "critical" with default domain "server".
Note: this requires the session variable to be within scope
Notify the client with a log at level "critical"
Notify the client with a log at level "debug" with default domain "server".
Note: this requires the session variable to be within scope
Notify the client with a log at level "debug"
Notify the client with a log at level "emergency" with default domain "server".
Note: this requires the session variable to be within scope
Notify the client with a log at level "emergency"
Notify the client with a log at level "error" with default domain "server".
Note: this requires the session variable to be within scope
Notify the client with a log at level "error"
Notify the client with a log at level "info" with default domain "server".
Note: this requires the session variable to be within scope
Notify the client with a log at level "info"
Notify the client with a log at the provided level with the provided domain.
Notify the client at the provided level for domain with the payload.
Notify the client for the provided session and domain at level with a payload
Notify the client with a log at level "notice" with default domain "server".
Note: this requires the session variable to be within scope
Notify the client with a log at level "notice"
Notify the client with a log at level "warning" with default domain "server".
Note: this requires the session variable to be within scope
Notify the client with a log at level "warning"
Types
Functions
Notify the client with a log at level "alert" with default domain "server".
Note: this requires the session variable to be within scope
@spec alert( Phantom.Session.t(), structured_log :: map() | String.t(), domain :: String.t() ) :: :ok
Notify the client with a log at level "alert"
Notify the client with a log at level "critical" with default domain "server".
Note: this requires the session variable to be within scope
@spec critical( Phantom.Session.t(), structured_log :: map() | String.t(), domain :: String.t() ) :: :ok
Notify the client with a log at level "critical"
Notify the client with a log at level "debug" with default domain "server".
Note: this requires the session variable to be within scope
@spec debug( Phantom.Session.t(), structured_log :: map() | String.t(), domain :: String.t() ) :: :ok
Notify the client with a log at level "debug"
Notify the client with a log at level "emergency" with default domain "server".
Note: this requires the session variable to be within scope
@spec emergency( Phantom.Session.t(), structured_log :: map() | String.t(), domain :: String.t() ) :: :ok
Notify the client with a log at level "emergency"
Notify the client with a log at level "error" with default domain "server".
Note: this requires the session variable to be within scope
@spec error( Phantom.Session.t(), structured_log :: map() | String.t(), domain :: String.t() ) :: :ok
Notify the client with a log at level "error"
Notify the client with a log at level "info" with default domain "server".
Note: this requires the session variable to be within scope
@spec info( Phantom.Session.t(), structured_log :: map() | String.t(), domain :: String.t() ) :: :ok
Notify the client with a log at level "info"
Notify the client with a log at the provided level with the provided domain.
The log contents may be structured (eg, a map) or not. If not, it will be
wrapped into one: %{message: your_string}.
Note: this requires the session variable to be within scope
Notify the client at the provided level for domain with the payload.
Note: this requires the session to be within scope.
Notify the client for the provided session and domain at level with a payload
Notify the client with a log at level "notice" with default domain "server".
Note: this requires the session variable to be within scope
@spec notice( Phantom.Session.t(), structured_log :: map() | String.t(), domain :: String.t() ) :: :ok
Notify the client with a log at level "notice"
Notify the client with a log at level "warning" with default domain "server".
Note: this requires the session variable to be within scope
@spec warning( Phantom.Session.t(), structured_log :: map() | String.t(), domain :: String.t() ) :: :ok
Notify the client with a log at level "warning"