LOCAL FILE OPERATIONS / Model Context Protocol steering group
Filesystem MCP reference server
Give a local MCP client scoped file reading, editing, search, and directory operations.
“Node.js server implementing Model Context Protocol (MCP) for filesystem operations.”
01 / THE REASONING
Why this made the selection.
- Directory roots make the exposed filesystem scope visible to the client.
- Text, media, search, and edit tools cover ordinary workspace tasks without a SaaS account.
02 / THE REVIEW RECORD
What we actually inspected.
Source review has boundaries.
A clear record is more useful than a “safe” badge.
Material inspected
- Current repository README and licence transition.
- src/filesystem/package.json, index.ts, and lib.ts, including directory validation and tool registration.
Our findings
- The server uses stdio. Its path checks include canonical paths and symlinks, but this source review is not an escape-resistance test.
- The README feature list mentions deletion, while its documented tools focus on read, write, edit, move, create, and search; this profile does not promise a separate delete tool.
Not established by this review
- Server launch, authenticated tool calls, and release-to-source parity were not tested.
The review applies to the material and revision named here. A newer upstream release can change its behavior.
03 / PUT IT TO WORK
Connect a server deliberately.
- Use the official client-specific JSON example and replace the example directory paths with a small approved workspace.
- Configure the local Node process through the MCP client; inspect list_allowed_directories after the client supplies its Roots.
- Keep write approvals enabled in the client and use OS or container permissions where stronger isolation is required.
Before you start
- Node.js and npm/npx.
- Read/write permission for the selected directories; an MCP client with stdio support.
Documented configuration example
Use the client and authentication context described in the setup guidance. Configuration formats vary between hosts.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
]
}
}
} 04 / FOLLOW THE EVIDENCE
The source trail.
Our notes are separate from the original resource.
Check upstream before adopting a new version.
https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/src/filesystem/README.md
Supports: summary, upstreamDescription, whySelected, bestFor, limitations, install, access, compatibility, transports, review
https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/README.md
Supports: publisher, upstreamDescription, limitations, review
https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/LICENSE
Supports: license, review
https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/src/filesystem/package.json
Supports: language, install
https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/src/filesystem/index.ts
Supports: review, transports, access
- Filesystem path checks ↗Checked
https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/src/filesystem/lib.ts
Supports: review, limitations