-
Notifications
You must be signed in to change notification settings - Fork 1.2k
docs(tools): discuss tool name conflicts and how to resolve them #701
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
docs(tools): discuss tool name conflicts and how to resolve them #701
Conversation
cliffhall
left a comment
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.
Seems legit. Other strategies could be added here as they are discovered.
|
I'm curious if this type of convention might cause confusion or hurt performance since I'm assuming models haven't been trained on functions being named this way? (And might also be easy to get wrong for humans, rather than say Personally I've also run into model errors before about the existence of precise punctuation patterns in code or data, so it seems like this might confuse tokenization and/or remove semantic value? |
|
I feel ultimately the guidance of that final projection, from MCP-tool-data to client-model, is wholly in control of the client and is complex; depending on use case, prompting and model capability. So isn't something we should proscribe but rather various client share their advice? |
Yes, the newer versions of this documentation update offer a few suggestions rather than prescribing a specific approach, for the reasons you mentioned. |
|
@olaservo At least with Claude 3.7+, the Added another URI-based suggestion because it keeps coming up in the committee - I have more concerns about that in this context, but having more options doesn't hurt (mostly). |
|
@nickcoai Just made the phrasing even less prescriptive, in case it still sounded that way. |
|
Looks good to me! |
cliffhall
left a comment
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.
LGTM! 👍
1cfdf1e
into
modelcontextprotocol:main
Adds a note to the Best Practices section of the Tools documentation on tool name conflicts and how to resolve them in MCP client applications and MCP server proxies.
Motivation and Context
Helps to codify and establish a convention for dealing with tool name conflicts for application builders.
Useful guidance to follow as a stopgap unless or until #334 moves forward.
How Has This Been Tested?
This approach is used in Q Dev CLI (source), but it's just a simple pseudo-namespacing convention that is broadly generalizable.
Breaking Changes
N/A
Types of changes
Checklist
Additional context