# feat(filesystem): add ToolAnnotations hints to filesystem tools #3045
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.
Files touched
annotationsmetadata to each tool definitionDescription
This change adds MCP
ToolAnnotations(readOnlyHint,idempotentHint,destructiveHint) to all filesystem tools and documents the mapping in the filesystem README. MCP clients can now accurately distinguish read‑only vs. write tools, understand which operations are safe to retry, and highlight potentially destructive actions.Server Details
listTools/ListToolsRequest) and server docsMotivation and Context
Previously, the filesystem server did not expose ToolAnnotations, so many clients (e.g. ChatGPT Apps) conservatively treated filesystem tools as generic write operations. This led to:
This PR aligns the implementation with #2988 and updates the README to clearly document the semantics of each tool. Read‑only operations no longer need to be treated as writes, and destructive/idempotent behavior is explicit for UI and retry logic.
How Has This Been Tested?
npm run build --workspace @modelcontextprotocol/server-filesystemnpm test --workspaces --if-presentBreaking Changes
None.
Types of changes
Checklist
Additional context
None.
This PR updates filesystem tool annotations following @domdomegg's PR #3016.