RootsTrackingSupport mixin base
Mix this in to any MCPServer to add support tracking the Roots as given by the client in an opinionated way.
Listens to change events and updates the set of roots.
- Superclass constraints
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 pairinherited
- 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
-
roots
→ FutureOr<
List< Root> > -
All known workspace Roots from the last call to listRoots.
no setter
-
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
- supportsRoots → bool
-
Whether or not the connected client supports listRoots.
no setter
- supportsRootsChanged → bool
-
Whether or not the connected client supports reporting changes to the
list of roots.
no setter
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.
inherited
-
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
.inherited -
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
-
updateRoots(
) → Future< void> - Updates the list of roots by calling listRoots.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited