fix(mcp): fit deploy_local_agent and get_objectives inside Claude Code's 2,048-char description cap (#3234) - #3238
Merged
Merged
Conversation
…e's 2,048-char description cap (#3234) Claude Code shows a model only the first 2,048 characters of an MCP tool description. The server publishes the full text, so the cut tails were invisible from Trinity's side. - deploy_local_agent (2,698 -> 1,477): the four packaging steps, including the manifest script, move into the `archive` parameter, whose description is not cut. Steps 1-2 are byte-identical to before. The description keeps the rules up front. - get_objectives (2,349 -> 2,034): this tool has no parameter to carry detail, so the wording is tightened instead with no instruction dropped. "stale: DO NOT ACT" now comes right after the purpose. - tool-description-budget.test.ts: a real createServer, a user-scoped key and tools/list over streamable HTTP. It fails naming every published tool over the cap with its length. chat_with_agent (2,424) is a shrink-only PENDING entry owned by Abilityai/trinity-enterprise#568, which is rewriting it; the entry fails once that tool fits. Fixes #3234 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 of 16 tasks
vybe
added a commit
that referenced
this pull request
Oct 5, 2026
…3234, Abilityai/trinity-enterprise#568) #3238 landed the all-tools description budget test with chat_with_agent pinned as PENDING at 2,424 characters. This branch brings it to 1,940, and the test fails an entry that fits the cap, so the entry goes with the fix that shortened it. Mechanical, per the merge-train note on the PR. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
Summary
Claude Code shows a model only the first 2,048 characters of an MCP tool description and appends "… [truncated]". Parameter descriptions are not cut. The server publishes the full text, so nothing on Trinity's side showed that two descriptions were losing their tails.
deploy_local_agentarchiveparameter description. Steps 1–2 are byte-identical (checked by importing both versions). The description keeps the rules up front: package with a manifest first,MANIFEST_DRIFT, the token ceiling and the CLI escape.get_objectivesstale: truemeans DO NOT ACT" now comes right after the purpose, so the action rule survives any cut.Test
src/mcp-server/src/tool-description-budget.test.tsruns a realcreateServerand a user-scoped key, and lists the tools over the streamable-HTTP transport (theaccess-wiring.test.tsshape).deploy_local_agent: 2698,chat_with_agent: 2424andget_objectives: 2349.chat_with_agent(2,424) is a shrink-onlyPENDINGentry owned by abilityai/trinity-enterprise#568.chat_with_agentfits the cap, so the entry gets removed in that PR.Verification
npm test(MCP server): 683/683 pass.tsc --noEmit: clean.agents.deploy.test.tsandmetrics.test.tsstill pass unchanged.Fixes #3234
🤖 Generated with Claude Code