-
Notifications
You must be signed in to change notification settings - Fork 156
feat: 2025-11-25 phase 1, includes Version, Icon, Progress #181
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
base: v0.11.x
Are you sure you want to change the base?
Conversation
|
I would just like to point out that the moment something like this gets merged, it becomes much more difficult to pursue a stacked-PR approach based on my fork due to merge conflicts. |
but you were not going to merge your changes anyway |
|
@eugenepyvovarov, it's still an open question, and there is a discussion about this on the Maintainers Discord server. I just want to point this out for the record, and others can decide on how to proceed. |
09f1dae to
20d2855
Compare
| name: String, | ||
| arguments: [String: Value]? = nil, | ||
| meta: Metadata? = nil | ||
| ) throws -> RequestContext<CallTool.Result> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like a braking change here.
- I think it's better to have overloaded or additional versions of the func - to keep them both:
- RequestContext<CallTool.Result>
- async -> RequestContext<CallTool.Result>
- async -> (content: [Tool.Content], isError: Bool?)
- The cancellation token is not tool only related, it's request level. Maybe to simplify the current implementation keep it as advanced feature for now and provide it only via using send directly?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for a comment. I added an overloaded version of callTool.
This update brings Icon to be used in Tools, Resources and Prompts. Protocol version is also updated, it doesn't mean this PR has all the features of new protocol, since it is intermediate work in progress it's ok to update it now. Progress is added to the CallToolRequest. Cancellation support.
Motivation and Context
The idea is to bring latest protocol compatibility step by step. This step brings relatively simple changes while maintaining overall codebase structure and style.
How Has This Been Tested?
I tested it locally by creating stdio mcp servers both in TS and Swift.
Breaking Changes
I guess in this part of work there's no any
Types of changes
Checklist