feat(memory): add tool annotations#3874
Conversation
Add MCP ToolAnnotations to all 9 tools in the memory server, matching the annotation coverage already present in server-filesystem, server-git, server-time, and server-sequential-thinking. - Read tools (read_graph, search_nodes, open_nodes): read-only, idempotent - Write tools (create_entities, create_relations, add_observations): non-destructive - Delete tools (delete_entities, delete_observations, delete_relations): destructive, idempotent - All tools: openWorldHint=false (local JSONL file operations only)
|
@claude review |
|
Claude finished @cliffhall's task in 1m 57s —— View job PR Review: feat(memory): add tool annotations
Overall this is a clean, well-reasoned change. The annotations are correct and the PR achieves its stated goal of bringing the memory server in line with the other TS reference servers. A few observations below. What's correctRead tools ( Delete tools (
Minor observations
That said,
Per the MCP spec, Style divergence from The filesystem server uses a minimal annotation style (only setting non-default values, e.g. SummaryThe annotation choices are correct and the PR is consistent with the existing codebase patterns. The |
Summary
Adds MCP tool annotations to all 9 tools in the memory server. The memory server is currently the only TypeScript reference server without tool annotations — this brings it in line with server-filesystem, server-git, server-time, and server-sequential-thinking.
Changes
readOnlyHint,destructiveHint,idempotentHint, andopenWorldHintto all 9registerTooldefinitions insrc/memory/index.tsread_graph,search_nodes,open_nodes) marked as read-only and idempotentdelete_entities,delete_observations,delete_relations) marked as destructive and idempotent (deleting already-removed data is a safe no-op)create_entities,create_relations,add_observations) marked as non-read-only and non-destructive (they create/append, not overwrite)openWorldHint: false(purely local JSONL file I/O, no network access)Testing
Metadata-only change with no behavioral impact.
npm run build --workspace=src/memorycompiles cleanlynpm test --workspace=src/memory— all 45 tests pass