Repository navigation
Offer a preliminary tool only to a server started with --preliminary - #2113
Merged
Merged
Conversation
A preliminary tool works as described, but its arguments and answers may change in a minor release. `amcli mcp` leaves such tools out of tools/list and answers a call to one with `failed`, naming the flag; `amcli mcp --preliminary` lists them with a description beginning "Preliminary:", and each of their answers carries "preliminary": true, so a model reading either knows. The help names the preliminary tools. am_classify is the first. It guesses a formula's field from the names of its symbols, which is the one answer here the library does not compute, whose tables change whenever a field is added, and which no test pinned. It has a test now, under the flag. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
Measured through amcli on the published 2.6.0 and on this branch. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A way to ship an MCP tool before its interface is settled, marked as such.
BREAKING-CHANGES.md.amcli mcpleaves preliminary tools out oftools/list. A call to one answersfailedand names the flag.amcli mcp --preliminarylists them as well.Preliminary:, and every answer carries"preliminary": true.amcli mcp --helpnames the preliminary tools.am_classifyis the first. It guesses a formula's field from the names of its symbols. The source calls that "inference from naming convention, not mathematics", the one answer the library doesn't compute. Its tables change whenever a field is added, and no test pinned it. It has one now.A tool is preliminary while its name is in
Tools.Preliminary. Taking it out makes it stable. Moving another tool in, oram_classifyback out, is a one-line change.Measured through
amcliitself, on the published 2.6.0 and on this branch:amcli mcp,tools/listam_classifyamcli mcp,am_classifyonG*M*m/r^2solved, Newtonian gravitationfailed:'am_classify' is preliminary, and is served only when the server is started as 'amcli mcp --preliminary'amcli mcp --preliminary,tools/listam_classify's description startingPreliminary:amcli mcp --preliminary, the same callsolvedsolved, with"preliminary": truePreliminaryTestcovers both lists, the call with and without the flag, a stable tool's answer under the flag (unmarked), and the help. MCP tests pass (333), as do the terminal tests (67). The library is untouched. A second commit adds theBREAKING-CHANGES.mdentry, which cites this PR.The library has no equivalent here. Marking
MathS.ExperimentalFeatureswith .NET's[Experimental]would turn every caller's build into an error until they suppress it. Packaging.md §6 leaves what happens to that class to the maintainer, so it isn't in this PR.🤖 Generated with Claude Code
https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura