mcp servers · featured

Filesystem MCP Server

Anthropic's reference filesystem MCP server. Sandboxed read/write/list/search inside directories you allow at startup. Active reference server in modelcontextprotocol/servers. Whole monorepo is reference-only — for production use, browse the MCP Registry.
★ 90.2k ↓ 94.0k installs by Anthropic updated Sep 10, 2026 MIT
← back to shelf
install via your agent of choice
❯ npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory

## 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

ToolDescription
read_fileRead the complete contents of a file
read_multiple_filesBatch reads in one round trip
write_fileCreate or overwrite a file
edit_fileApply targeted edits with diff-style precision
create_directoryMake a directory (with parents)
list_directoryList directory contents
directory_treeRecursive tree view
move_fileMove or rename files
search_filesRegex search across files
get_file_infoMetadata: size, permissions, dates
list_allowed_directoriesEcho 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.
  • 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

claude-desktop ✓
claude-code ✓
cline ✓
cursor ✓

## exposed tools

→ read_file
→ read_multiple_files
→ write_file
→ edit_file
→ create_directory
→ list_directory
→ directory_tree
→ move_file
→ search_files
→ get_file_info
→ list_allowed_directories

## embed this badge

cache ✓ in cache.directory
![cached](https://cache.directory/badge/filesystem-mcp.svg)