Skip to content

Update to new MCP spec version #193

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 22 commits into from
Jun 27, 2025

Conversation

gspencergoog
Copy link
Contributor

Description

This updates the dart_mcp package to the latest MCP spec, 2025-06-18.

New Features

  • Elicitation: A new elicitation/create request allows the server to ask the client for structured information from the user. This is useful for scenarios where a tool needs more information to proceed. The client can respond with the requested information, or the user can accept, reject, or cancel the request.

  • Structured Tool Output: Tools can now declare an outputSchema, and the callTool result can include structuredContent that conforms to this schema. This allows for more robust and predictable tool interactions.

  • Resource Links: A new ResourceLink content type can be returned from tools, allowing them to provide links to resources that may not be available through the resources/list request.

API Improvements

  • Titles for UI: Many objects in the API now have an optional title field. This provides a human-readable name that can be used in user interfaces, separate from the programmatic name. This has been added to Implementation, Prompt, PromptArgument, Resource, ResourceTemplate, and Tool.

  • Completion Context: The completions/complete request now accepts a context object, which can include previously resolved arguments from a URI template or prompt. This allows for more context-aware completions.

  • Metadata: A _meta field has been added to many objects to allow for passing arbitrary metadata with requests and responses.

  • Last Modified Annotation: A lastModified timestamp can now be included in Annotations to indicate when the data was last updated.

Other Changes

  • ResourceReference has been renamed to ResourceTemplateReference for clarity. The old name is preserved as a deprecated typedef.
  • The agreed-upon version of the protocol is respected by both the client and server.

Tests

  • New tests have been added to cover the new features and API changes.

Copy link

github-actions bot commented Jun 25, 2025

PR Health

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

@gspencergoog gspencergoog changed the title Add new MFC spec version Update to new MCP spec version Jun 25, 2025
Copy link
Contributor

@jakemac53 jakemac53 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@gspencergoog gspencergoog merged commit 0b22b67 into dart-lang:main Jun 27, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants