NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #577 most downloaded on pub.dev
A package for making MCP servers and clients.
Last release 3 months ago
29 Jun 2026
Release timing varies
gaps range from 2 weeks to 4 months
Nearly every release is documented
notes for 13 of 13 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
14 releases · first in 2025
One column per month.
Update listRoots to normalize URIs to file: scheme variants when given raw file paths. This fixes non-spec compliant clients.
listRoots to normalize URIs to file: scheme variants when given rawAlways send a properties object for tool input schemas, see https://github.com/dart-lang/ai/issues/170.
The original ElicitationSupport mixin is now deprecated (and is an alias for ElicitationFormSupport).
Icons in Implementation, Tool, Resource, ResourceTemplate, and Prompt.ToolChoice in sampling CreateMessageRequest.ElicitRequest.
ElicitationSupport into ElicitationFormSupport and
ElicitationUrlSupport mixins, which will affect which capabilities
your server advertises. The original ElicitationSupport mixin is now
deprecated (and is an alias for ElicitationFormSupport).onElicitationComplete extension getter to ElicitRequest, which
will listen for notifications/elicitation/complete notifications.urlElicitationRequired error code, and
the client supports URL based elicitations, the client will automatically
handle the elicitation and retry the tool call if the elicitation
succeeds.McpErrorCodes namespace for MCP error codes. For now only
contains the urlElicitationRequired error code.urlElicitationRequired errors.description field to Implementation.EnumSchema subtypes, matching the spec. This includes
multi select enums and enums with titles. Validation is also supported.Meta? meta param to ElicitRequest.ConstSchema type for constant values, with validation.ResourceLink to be nullable, and their associated
parameters to be optional. This brings us in line with the specification.WithElicitationHandler interface is now private and implemented by
the ElicitationFormSupport and ElicitationUrlSupport mixins.ServerConnection server parameter to the
ElicitationSupport.handleElicitation method.ElicitRequest.requestedSchema is now nullable (for url mode).EnumSchema is now a union type with 4 subtypes, matching the spec changes.Expose various private methods on MCP server mixins as public methods, with @mustCallSuper annotations. This allows intercepting calls for logging, me
@mustCallSuper annotations. This allows intercepting calls for logging,
metrics, or other purposes.resource parameter type on EmbeddedResource to be
ResourceContents instead of Contents.
type getter on EmbeddedResource to read the actual type field.toJson method to the CreateMessageResult of a sampling request.Update the tool calling example to include progress notifications.
Deprecate ElicitationAction.reject and replace it with ElicitationAction.decline.
PingRequest handling when it is sent from a non-Dart client.ElicitationAction.reject and replace it with
ElicitationAction.decline.
reject.reject and treats it as an alias fordecline.reject enum value was replaced with a static constant equal
exactly to decline, so switches are not affected.title parameter to Prompt constructor..bat files.Deprecate the EnumSchema type in favor of the StringSchema with an enumValues parameter. The EnumSchema type was not MCP spec compatible.
EnumSchema type in favor of the StringSchema with an
enumValues parameter. The EnumSchema type was not MCP spec compatible.
Deprecated the WithElicitationHandler interface - the method this required is now defined directly on the ElicitationSupport mixin which matches the p…
MCPServer is instantiated without
instructions.content argument to PromptMessage to be a single Content object.package:dart_mcp/stdio.dart library with a stdioChannel utility
for creating a stream channel that separates messages by newlines.WithElicitationHandler interface - the method this required
is now defined directly on the ElicitationSupport mixin which matches the
pattern used by other mixins in this package.schema parameter for elicitation requests to an ObjectSchema to
match the spec.Elicitations server capability, this doesn't exist in the spec.Deprecated a few validation error types as a part of this, including propertyNamesInvalid, propertyValueInvalid, itemInvalid and prefixItemInvalid.
Request subclasses so that
they will throw helpful errors when accessed and not set.propertyNamesInvalid, propertyValueInvalid, itemInvalid and
prefixItemInvalid.custom validation error type.validateArguments: false to registerTool.ResourceLink as a tool return content type.MCPClient.connectStdioServer signature to accept stdin
and stdout streams instead of starting processes itself. This enables custom
process spawning (such as using package:process), and also enables the client
to run in browser environments.--log-file would cause the server to stop
working.Refactor ClientImplementation and ServerImplementation to the shared Implementation type to match the spec. The old names are deprecated but will stil…
ClientImplementation and ServerImplementation to the shared
Implementation type to match the spec. The old names are deprecated but will
still work until the next breaking release.clientInfo field to MCPServer, assigned during initialization.done future from the ServerConnection into MCPBase so it is
available to the MPCServer class as well.Fix the protocolLogSink support when using MCPClient.connectStdioServer.
protocolLogSink support when using MCPClient.connectStdioServer.--help, --log, and --model flags to the workflow example.listRoots in the RootsTrackingSupport mixin more
gracefully. Previously this would leave the roots future hanging
indefinitely, but now it will log an error and set the roots to empty.Support protocol version 2025-03-26.
AudioContent.ToolAnnotations.ProgressNotification messages.ServerCapabilities object on the ServerConnection class to make
it easier to check the capabilities of the server.ProtocolVersion in a protocolVersion field for both
MCPServer and the ServerConnection classes.ResourceTemplates.
RootsTrackingSupport server mixin which can be used to keep an
updated list of the roots set by the client.ResourceListChangedNotifications and ResourceUpdatedNotifications. The
delay can be modified by overriding
ResourcesSupport.resourceUpdateThrottleDelay.Sink<String> protocolLogSink parameters to server constructor and client
connection methods, which can be used to capture protocol messages for
debugging purposes.nextCursor instead of
cursor as the key for the next cursor.ProgressNotification.progress and
ProgressNotification.total types to num instead of int to align with the
spec.protocolVersion string to a ProtocolVersion enum,
which has all supported versions and whether or not they are supported.InitializeRequest and InitializeResult to take a
ProtocolVersion instead of a string.InitializeResult's instructions to String? to
reflect that not all servers return instructions.MCPServer.fromStreamChannel constructor to make the instructions
parameter optional.MCPBase to accept a StreamChannel<String> instead of
a Peer, and construct its own Peer.protocolLogSink optional parameter to connect methods on
MCPClient.channel parameter on MCPServer.new to a positional
parameter for consistency.Initial release, supports all major MCP functionality for both clients and servers, at protocol version 2024-11-05.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →