MCP server for git-aware safe file operations. Protects git-tracked source files from deletion while allowing safe deletion of untracked files and build artifacts.
Three tools with clear, domain-specific names (safe_delete, check_protection, guard_status) and solid descriptions (avg 150 chars). All tools have input schemas with typed parameters and descriptions. However, output schemas are not formally documented, responses are inferred from code inspection. Parameter descriptions are adequate but lack constraint details (e.g., no guidance on path format, no examples of what 'protected' means). Error handling is present but minimal, no recovery guidance for common failures. Naming follows verb_noun convention well; composition is clean (each tool has one responsibility). Missing: pagination (not applicable here), per-parameter validation rules, and explicit output schema documentation.
Check whether paths are protected from deletion (git-tracked source code) without deleting anything.
Summarize guard state for a directory: whether it's inside a git work tree, how many files are tracked (protected) vs untracked (deletable).
Delete files or directories with a git-aware guard: refuses to delete git-tracked source files or directories containing them (including nested repos). Untracked files, build artifacts, and temp files are deleted freely. Use this instead of `rm`.
Output schemas not formally documented. Responses are JSON objects inferred from code (deleteResult, inspection structs) but not declared in tool definitions. LLMs cannot plan downstream operations without knowing response structure.
Parameter descriptions lack constraint details. 'paths' param has no guidance on format (absolute vs relative, glob patterns?). 'directory' param in guard_status has no validation rules. Descriptions should state: 'Absolute or relative paths; ~ expands to home directory.'
Error handling lacks recovery guidance. If a path does not exist or is inaccessible, the tool returns a status but does not suggest next steps. E.g., 'Path does not exist. Check spelling or use guard_status() to list available files.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
safe_delete is destructive but lacks confirmation/dry-run guidance in description. While dry_run parameter exists, the description should emphasize: 'DESTRUCTIVE: Permanently deletes files. Always use dry_run=true first to preview changes.'
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) in MCP tool definitions. safe_delete should be marked destructive; check_protection and guard_status should be marked read-only. Annotations help LLMs reason about side effects.