fix(filesystem): mark move_file as destructive operation

move_file deletes the source file, which is a destructive operation.
Updated annotations and README documentation to reflect this.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
lunov 2026-01-10 19:15:39 +07:00 • committed by nulone
commit 86fd903d5f
2 changed files with 2 additions and 2 deletions

View file

@ -200,7 +200,7 @@ The mapping for filesystem tools is:
| `create_directory` | `false` | `true` | `false` | Re‑creating the same dir is a no‑op |
| `write_file` | `false` | `true` | `true` | Overwrites existing files |
| `edit_file` | `false` | `false` | `true` | Re‑applying edits can fail or double‑apply |
| `move_file` | `false` | `false` | `false` | Move/rename only; repeat usually errors |
| `move_file` | `false` | `false` | `true` | Deletes source file |
> Note: `idempotentHint` and `destructiveHint` are meaningful only when `readOnlyHint` is `false`, as defined by the MCP spec.

View file

@ -589,7 +589,7 @@ server.registerTool(
destination: z.string()
},
outputSchema: { content: z.string() },
annotations: { readOnlyHint: false, idempotentHint: false, destructiveHint: false }
annotations: { readOnlyHint: false, idempotentHint: false, destructiveHint: true }
},
async (args: z.infer<typeof MoveFileArgsSchema>) => {
const validSourcePath = await validatePath(args.source);