LoggingSupport mixin base

A mixin for MCP servers which support the logging capability.

See https://spec.modelcontextprotocol.io/specification/2025-11-05/server/utilities/logging/.

Superclass constraints
Mixin applications

Properties

clientCapabilities ↔ ClientCapabilities
The capabilities of the client.
getter/setter pairinherited
clientInfo ↔ Implementation
The client implementation information provided during initialization.
getter/setter pairinherited
done → Future<void>
Completes after shutdown is called.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
implementation → Implementation
The name, current version, and other info to give to the client.
finalinherited
initialized → Future<InitializedNotification?>
Completes when this server has finished initialization and gotten the final ack from the client.
no setterinherited
instructions → String?
Instructions for how to use this server, which are given to the client.
finalinherited
isActive → bool
Whether the connection with the peer is active.
no setterinherited
loggingLevel ↔ LoggingLevel
The current logging level, defaults to LoggingLevel.warning.
getter/setter pair
name → String
The name of the associated server.
no setterinherited
protocolVersion ↔ ProtocolVersion
The negotiated protocol version.
getter/setter pairinherited
ready → bool
Whether this server is still active and has completed initialization.
no setterinherited
rootsListChanged → Stream<RootsListChangedNotification?>?
Emits an event any time the client notifies us of a change to the list of roots it supports.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

createMessage(CreateMessageRequest request) → Future<CreateMessageResult>
A request to prompt the LLM owned by the client with a message.
inherited
handleInitialized([InitializedNotification? notification]) → void
Called by the client after accepting our InitializeResult.
inherited
handleSetLevel(SetLevelRequest request) → FutureOr<EmptyResult>
Handle a client request to change the logging level.
initialize(InitializeRequest request) → FutureOr<InitializeResult>
Mixins should register their methods in this method, as well as editing the InitializeResult.capabilities as needed.
override
listRoots([ListRootsRequest? request]) → Future<ListRootsResult>
Lists all the root URIs from the client.
inherited
log(LoggingLevel level, Object data, {String? logger, Meta? meta}) → void
Sends a LoggingMessageNotification to the client, if the loggingLevel is <= level.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyProgress(ProgressNotification notification) → void
Notifies the peer of progress towards completing some request.
inherited
onProgress(Request request) → Stream<ProgressNotification>
A stream of progress notifications for a given request.
inherited
ping({Duration timeout = const Duration(seconds: 1), PingRequest? request}) → Future<bool>
Pings the peer, and returns whether or not it responded within timeout.
inherited
registerNotificationHandler<T extends Notification?>(String name, void impl(T)) → void
Registers a notification handler named name on this server.
inherited
registerRequestHandler<T extends Request?, R extends Result?>(String name, FutureOr<R> impl(T)) → void
Registers a handler for the method name on this server.
inherited
sendNotification(String method, [Notification? notification]) → void
Sends a notification to the peer.
inherited
sendRequest<T extends Result?>(String methodName, [Request? request]) → Future<T>
Sends request to the peer, and handles coercing the response to the type T.
inherited
shutdown() → Future<void>
Handles cleanup of all streams and other resources on shutdown.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited