ToolsSupport mixin base
A mixin for MCP servers which support the tools capability.
Servers should register tools using the registerTool method, typically inside the initialize method, but they may also be registered after initialization if needed.
- 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
shutdownis 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
- 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
-
initialize(
InitializeRequest request) → FutureOr< InitializeResult> -
Invoked by the client as a part of initialization.
override
-
listRoots(
[ListRootsRequest? request]) → Future< ListRootsResult> -
Lists all the root URIs from the client.
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), 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
nameon this server.inherited -
registerRequestHandler<
T extends Request?, R extends Result?> (String name, FutureOr< R> impl(T)) → void -
Registers a handler for the method
nameon this server.inherited -
registerTool(
Tool tool, FutureOr< CallToolResult> impl(CallToolRequest), {bool validateArguments = true}) → void -
Register
toolto callimplwhen invoked. -
sendNotification(
String method, [Notification? notification]) → void -
Sends a notification to the peer.
inherited
-
sendRequest<
T extends Result?> (String methodName, [Request? request]) → Future< T> -
Sends
requestto 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
-
unregisterTool(
String name) → void -
Un-registers a Tool by
name.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited