MCP server providing secure access to files and directories on the local file system with allowed directory restrictions
14 tools with complete schemas and descriptions. Naming follows verb_noun convention well (read_file, write_file, delete_file). Descriptions are present and adequate (avg ~120 chars), exceeding the 10-char minimum but below the 194-char production baseline. Parameter descriptions are consistent. However, descriptions lack actionable context (when to use, prerequisites, error recovery). No output schemas documented. Error handling guidance absent. Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. No pagination guidance for list_directory or search_within_files despite potential large result sets.
Copy files and directories.
Create a new directory or ensure a directory exists.
Delete a file or directory from the file system.
Retrieve detailed metadata about a file or directory.
Returns the list of directories that this server is allowed to access.
Get a detailed listing of all files and directories in a specified path.
Update file by finding and replacing text. Provides a simple pattern matching interface without needing exact character positions.
No output schemas documented. LLMs cannot predict response structure for downstream tool chaining. E.g., read_file returns content but schema doesn't specify encoding, line-ending handling, or max size.
Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk classifications exist (READ_ONLY, WRITE, DESTRUCTIVE) but are not exposed in MCP schema. Agents cannot distinguish safe vs. dangerous operations without reading descriptions.
No pagination or result-limiting guidance. list_directory, search_files, and search_within_files could return thousands of items, exhausting context. search_within_files has max_results default (1000) but no schema constraint or pagination cursor.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Move or rename files and directories.
Read the complete contents of a file from the file system.
Read the contents of multiple files in a single operation.
Recursively search for files and directories matching a pattern.
Search for text within file contents. Unlike search_files which only searches file names, this tool scans the actual contents of text files for matching substrings. Binary files are automatically excluded from the search. Reports file paths and line numbers where matches are found.
Returns a hierarchical JSON representation of a directory structure.
Create a new file or overwrite an existing file with new content.
Descriptions lack actionable context. No guidance on when to use search_files vs. search_within_files, or how errors should be handled. E.g., 'Search for text within file contents' doesn't explain what happens if path is not a directory or substring is empty.
Parameter constraints underspecified. search_files pattern param lacks regex/glob format hint. modify_file regex param relationship to find param is implicit. tree depth param has no min/max bounds (could accept negative or absurdly large values).