Filesystem MCP Server
## what it does
tl;dr: still an active reference server — one of seven in modelcontextprotocol/servers, alongside Everything, Fetch, Git, Memory, Sequential Thinking, and Time. Sandbox is enforced by the directories you pass on startup.
Where it lives now
This server is not in the archive. When the MCP steering group reorganized maintenance, the monorepo was split: the reference servers that were no longer being actively developed moved to modelcontextprotocol/servers-archived. Filesystem stayed in the active repo.
The active monorepo is reference-only. The README is explicit: the servers are “intended as reference implementations to demonstrate MCP features and SDK usage… not as production-ready solutions.” For a security-reviewed server with the same surface area, the project’s own pointer is the MCP Registry — that is the canonical aggregator.
Source path: src/filesystem. npm: @modelcontextprotocol/server-filesystem.
What it does
Exposes a directory (or set of directories) to your agent. You specify which paths are allowed at startup — the server enforces that sandbox boundary for every operation, including symlink and .. traversal. Pure local filesystem, no network calls.
Installation
# Run directly via npx:
npx -y @modelcontextprotocol/server-filesystem ~/projects
# Or install globally:
npm install -g @modelcontextprotocol/server-filesystem
Claude Desktop configuration
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json. Windows: %APPDATA%\Claude\claude_desktop_config.json.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
}
}
}
On Windows, swap "command" to "cmd" and prepend "/c", "npx" to the args (as the monorepo README documents for the Memory example).
Multiple directories are passed as repeated trailing args.
Available tools
| Tool | Description |
|---|---|
read_file | Read the complete contents of a file |
read_multiple_files | Batch reads in one round trip |
write_file | Create or overwrite a file |
edit_file | Apply targeted edits with diff-style precision |
create_directory | Make a directory (with parents) |
list_directory | List directory contents |
directory_tree | Recursive tree view |
move_file | Move or rename files |
search_files | Regex search across files |
get_file_info | Metadata: size, permissions, dates |
list_allowed_directories | Echo the sandbox roots |
Gotchas
- Reference-only by the maintainers’ own admission. Don’t ship this as your production filesystem gate without independent review.
- Windows npx wrapper required for Claude Desktop — see the config note above.
- No network, no auth — access control is “run it in a trusted context.”
- Path traversal is rejected, but only for the configured roots. Add every directory you need at launch.
Related
- MCP Registry — canonical list of maintained servers.
- Git MCP — sibling active reference server in the same monorepo.
- Fetch MCP — also active; the URL-fetching counterpart to this server’s local-files focus.
Stars (90,202) and forks (11,612) reflect the active modelcontextprotocol/servers monorepo as fetched this session. installs is carried over from the prior entry. Sandbox test not run.
## compatibility
## exposed tools
## embed this badge
