Repository navigation
feat(mcp): human titles + tool annotations on all 63 tools - #189
Merged
Merged
Conversation
Claude's Connectors Directory requires a title and readOnlyHint / destructiveHint / openWorldHint on every tool. Each tool now carries a title and annotations (plus idempotentHint) from one HINTS table in packages/mcp/src/tools.ts, which both the stdio server and the HTTP /api/mcp transport serve. Names, schemas and behaviour are unchanged. Posting, sending email, directory submissions, deletes and overwrites are destructive; reads are readOnly; anything that reaches a network, site, the writer or a hook is openWorld. A tool missing from HINTS fails at load. Test: apps/api/test/mcp-annotations.test.ts asserts every listed tool has a title + all hints and that tools/list keeps resultType/ttlMs/ cacheScope. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ThreatCrush Security Scan0 finding(s) in the 2 file(s) this pull request changes. Nothing in the files this pull request changes. 123 pre-existing finding(s) elsewhere in the repository — **HIGH**: 5 | **MEDIUM**: 79 | **LOW**: 39Not introduced by this pull request.
…and 103 more; the full set is in the SARIF artifact. Snippets are redacted; ThreatCrush never prints matched credential material. |
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.
Adds a human
titleand explicitannotations(readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to every one of the 63 myna MCP tools, for the Claude Connectors Directory.HINTStable inpackages/mcp/src/tools.ts;TOOLSis the old table with title + annotations merged in, so the stdio server (SDK) and/api/mcpboth serve them. A tool without an entry throws at load.tools/listalready carries resultType/ttlMs/cacheScope; the new test keeps it that way.Local evidence (this repo has no PR CI):
bun test apps/api/test/mcp-annotations.test.ts: 3 pass, 486 expectsbun packages/mcp/src/server.tstools/list: 63 tools, 63 with title + all hintsbun run typecheck: cleanbun run test: 913 pass, 1 fail (openconnection.test.tsnichedb forums, fails the same on main; unrelated)🤖 Generated with Claude Code