Skip to content

Annotation classes to support variety of frameworks/tools #235

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

scottslewis
Copy link

This pr defines two annotation classes (Tool and ToolParam) and one support interface class ToolCallResultConverter.

As per issue #224 it would be helpful if the mcp java sdk had these annotation classes so that tools builders didn't need to create their own/duplicate separate annotations for each tool suite. As things are now, java tooling and framework builders are creating their own Tool and ToolParam annotation classes, making it difficult to be tooling vendor independent wrt building mcp servers.

Motivation and Context

Having these classes as part of the mcp sdk would allow vendor neutral mcp servers to be more easily created.

Breaking Changes

This should supersede the tooling and framework-specific annotation classes each framework vendor is using.

  • Bug fix (non-breaking change which fixes an issue)
  • [ X] New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Additional context

Obviously, these annotation classes are very much like the vendor-specific versions currently being deployed. I would suggest that this change be made before/as part of 1.0.0 release of mcp sdk.

I've intentionally left off any copyright notice, license, or documentation. Any appropriate for this project is fine with me. I would expect that wrt documentation links to the specification fields (e.g. description) could be provided. I would not object to changing package structure or other naming. This is just a suggestion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant