Community-maintained filesystem MCP server variant with inode-preserving existing-file writes
Strong foundation with 16 well-named tools, comprehensive schemas, and detailed descriptions. Tool names follow verb_noun convention (read_*, write_*, list_*, search_*, etc.). Most parameters have type definitions and descriptions. However, several tools lack output schema documentation, some descriptions are generic, and error handling guidance is minimal. The deprecated read_file tool alongside read_text_file creates redundancy. Security-focused design (path validation, permission hints) is evident but not fully documented in tool descriptions.
Append text content to an existing file. The file must exist and be a valid text file. This operation is atomic and includes verification that the content was successfully appended.
Create a new directory. Creates parent directories as needed (like mkdir -p). If the directory already exists, this operation succeeds without error.
Get a tree view of a directory and its contents. Recursively lists all files and subdirectories in a hierarchical format. Supports exclude patterns to filter out unwanted entries.
Edit a file by specifying text replacements. Each edit operation finds exact text matches and replaces them. Supports multiple edits in a single operation. Use the dryRun parameter to preview changes before applying them.
Export a file for download, export, attachment, or transfer. Creates a short-lived resource URI that can be used to access the file. Requires explicit user confirmation that materialization was requested.
Deprecated read_file tool coexists with read_text_file, creating ambiguity. LLMs may select the deprecated variant, and maintenance burden increases.
Output schemas not documented for any tool. LLMs cannot infer what fields to expect in responses, forcing them to guess at downstream field names and risk broken tool chains.
Error handling descriptions missing. Tools do not explain what errors can occur, whether they are retryable, or what the LLM should do next (e.g., 'File not found, try search_files() first').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2025-06-18+ | v2 |
Get detailed information about a file or directory. Returns metadata including size, creation time, modification time, permissions, and SHA-256 hash.
Ingest a file from a connector/runtime file supplied through the native ChatGPT file-parameter bridge. Downloads and stores the file in the configured ingress directory with optional SHA-256 verification.
List the contents of a directory. Returns information about each file and subdirectory including type, size, and modification time.
List the contents of a directory with detailed size information. Returns entries sorted by name or size, with human-readable size formatting.
Move or rename a file or directory. The destination path must be within allowed directories. If the destination exists, the operation will fail.
Read the complete contents of a file as text. DEPRECATED: Use read_text_file instead.
Read a media file (image, audio, video, PDF, etc.) and return it as base64-encoded data. Use this tool when you need to examine or process binary files.
Read multiple files at once. Returns the contents of each file in a structured format. This is more efficient than calling read_text_file multiple times when you need to examine several files.
Read the complete contents of a file from the file system as text. Handles various text encodings and provides detailed error messages if the file cannot be read. Use this tool when you need to examine the contents of a single file. Use the 'head' parameter to read only the first N lines of a file, or the 'tail' parameter to read only the last N lines of a file. Operates on the file as text regardless of extension.
Search for files matching a pattern within a directory. Uses glob patterns for matching. Supports exclude patterns to filter results.
Create a new file with the specified content, or overwrite an existing file. The file is created with secure permissions. If the file already exists, it will be overwritten. Use this tool when you need to create or replace a file with new content.
Destructive operations (write_file, edit_file, move_file, create_directory) lack confirmation or dry-run patterns. Agents can accidentally overwrite or delete files without preview.
Permission and scope declarations missing from tool descriptions. No indication of what filesystem access level each tool requires (read-only vs write), complicating least-privilege agent configuration.