NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2839 most downloaded on pub.dev
Dart model classes for the Model Context Protocol (MCP) — tools, resources, prompts, subscriptions and notifications. No codegen.
Last release 1 months ago
14 Aug 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 5 of 5 stable releases
3 versions withdrawn
withdrawn after publishing
5 months old
9 releases · first in 2026
One column per month.
improve package with all versions
Nothing published for this version
Nothing published for this version
Nothing published for this version
SamplingMessageContentBlock restricted content-block union (deprecated on arrival, SEP-2577).
Full migration to the MCP 2026-07-28 schema. This is a breaking release — no backward-compatible shim is provided.
server/discover RPC family: DiscoverRequest, DiscoverResultResponse, DiscoverResult. Servers now advertise capabilities out-of-band instead of via a one-time handshake.subscriptions/listen RPC family: SubscriptionFilter, SubscriptionsListenRequest/SubscriptionsListenRequestParams, SubscriptionsListenResultMetaObject, SubscriptionsListenResult/SubscriptionsListenResultResponse, SubscriptionsAcknowledgedNotification/SubscriptionsAcknowledgedNotificationParams. Replaces resources/subscribe / resources/unsubscribe.InputRequiredResult, InputResponseRequestParams (base for GetPromptRequestParams, ReadResourceRequestParams, CallToolRequestParams), and resultType-discriminated outcome unions (CallToolResultOutcome, GetPromptResultOutcome, ReadResourceResultOutcome).RequestMetaObject, NotificationMetaObject, ResultMetaObject: purpose-specific _meta shapes replacing the generic, undifferentiated MetaObject on requests/notifications/results. RequestMetaObject now carries per-request protocol negotiation state (protocolVersion, clientCapabilities, clientInfo).HeaderMismatchError (-32020), MissingRequiredClientCapabilityError (-32021), UnsupportedProtocolVersionError (-32022).CacheScope enum (public/private) and required ttlMs/cacheScope fields on cacheable list/read results.SamplingMessageContentBlock restricted content-block union (deprecated on arrival, SEP-2577).LoggingMessageNotification wrapper class (deprecated on arrival, SEP-2577), joining the pre-existing LoggingMessageNotificationParams._meta is now required (non-nullable RequestMetaObject) on RequestParams, PaginatedRequestParams, and every concrete *RequestParams type — protocol version and capabilities are declared on every request instead of once via initialize.Result gained a required-on-the-wire resultType field (defaults to 'complete') and a ResultMetaObject? $meta (was a bare, mis-serialised meta field writing the wrong wire key 'meta' instead of '_meta').CallToolResultResponse.result, GetPromptResultResponse.result, ReadResourceResultResponse.result are now discriminated unions (InputRequiredResult | <Result>) dispatched on resultType.CancelledNotification method fixed from "notification/cancelled" to "notifications/cancelled"; CancelledNotificationParams.requestId is now required.CompleteResultCompletion.value renamed to values (matches the wire key).ResourceTemplateReference.type fixed from "ref/resource_template" to "ref/resource".ElicitRequest.method fixed to "elicitation/create"; ElicitRequestParams is now a proper discriminated union (ElicitRequestFormParams | ElicitRequestURLParams) dispatched on a mode field (was node); dropped the unspecified task/elicitationId fields.ResourceUpdatedNotificationParams reshaped to {_meta?, uri} (was {resourceId, resourceType, data}).Implementation.version is now required.Tool.inputSchema/outputSchema (ToolSchema) now round-trip arbitrary JSON Schema 2020-12 keywords losslessly via additionalData, alongside the existing typed properties/required/type convenience fields.Task, TaskStatus, TaskMetadata, TaskStatusNotification(+Params), CreateTaskResult(+Response), GetTaskRequest(+Params), GetTaskPayloadRequest/GetTaskPayloadResult(+Response), ListTasksRequest/ListTasksResult(+Response), CancelTaskRequest/CancelTaskResult(+Response), RelatedTaskMetadata. Superseded by resultType: "input_required" + InputRequiredResult.initialize handshake and ping: InitializeRequest/InitializeRequestParams/InitializeResult/InitializeResultResponse, InitializedNotification, PingRequest/PingResultResponse. The 2026-07-28 schema reference no longer defines these — every request now carries its own protocol negotiation state via RequestMetaObject, and server/discover replaces capability advertisement.logging/setLevel: SetLevelRequest/SetLevelRequestParams/SetLevelResultResponse. Superseded by the (deprecated) RequestMetaObject.logLevel field.ElicitationCompleteNotification/ElicitationCompleteNotificationParams.resources/subscribe / resources/unsubscribe: SubscribeRequest/SubscribeRequestParams/SubscribeResultResponse, UnsubscribeRequestParams/UnsubscribeResultResponse. Superseded by subscriptions/listen.Tool.execution / ToolExecution (a Task-system casualty).TextResourceContent class (singular — distinct from, and not to be confused with, TextResourceContents).LoggingLevel, LoggingMessageNotification(+Params), RequestMetaObject.logLevel, Root, ListRootsRequest, ListRootsResult, CreateMessageRequest(+Params), CreateMessageResult, ModelHint, ModelPreferences, SamplingMessage, SamplingMessageContentBlock, ToolChoice, ToolResultContent, ToolUseContent, LegacyTitledEnumSchema. ClientCapabilities.roots/.sampling and ServerCapabilities.logging remain valid raw-map keys, now documented as deprecated.Nothing published for this version
Fixed some incorrect field types in the Dart models (e.g. error field in JSONRPCErrorResponse).
error field in JSONRPCErrorResponse).- Fixed Pubspec metadata
Full Dart model coverage for the MCP 2025-11-25 schema.
MCP base interface with toMap() and named factory TypeName.toMCP(Map) on every type.MapMC<K,V> / MapModel<K,V> base classes for types whose serialised form is the map itself.McpBuilder helper for declarative server capability registration (tools, resources, prompts, resource templates, custom methods).JSONRPCRequest, JSONRPCNotification, JSONRPCResultResponse, JSONRPCErrorResponse.ParseError, InvalidRequestError, MethodNotFoundError, InvalidParamsError, InternalError.InitializeRequest, InitializeResult, Implementation, ClientCapabilities, ServerCapabilities.Tool, ToolSchema, ToolAnnotations, ToolExecution, CallToolRequest, CallToolResult, ListToolsResult.Resource, ResourceTemplate, TextResourceContents, BlobResourceContents, ReadResourceResult, ListResourcesResult.Prompt, PromptArgument, PromptMessage, GetPromptResult, ListPromptsResult.CreateMessageRequest, CreateMessageResult, SamplingMessage, ModelPreferences, ModelHint, ToolChoice.ElicitRequest, ElicitResult, StringSchema, NumberSchema, BooleanSchema, UntitledSingleSelectEnumSchema, TitledSingleSelectEnumSchema.Task, TaskStatus, TaskMetadata, ListTasksResult.TextContent, ImageContent, AudioContent, EmbeddedResource, ResourceLink.InitializedNotification, CancelledNotification, ProgressNotification, ToolListChangedNotification, ResourceListChangedNotification, LoggingMessageNotificationParams.PingRequest, EmptyResult, Annotations, Role, LoggingLevel, MetaObject, Icon, Theme.McpBuilder registration.example/mcp_models_example.dart.Your coding agent can read these notes before it upgrades. Set up the MCP server →