LoggingSupport mixin base
A mixin for MCP servers which support the logging
capability.
See https://spec.modelcontextprotocol.io/specification/2025-03-26/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<
void> -
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)}) → 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 typeT
.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