Filesystem MCP server
- MCP server
- Official
- Tested by us
The MCP project's reference server that lets Claude read, write, move and search files, but only inside folders you name.
MCP serverContent and docsOn this page9 sections
Best for
- Letting Claude Desktop organize a folder on your computer
- Reading and editing local files from chat
- Learning how local MCP servers work
Quick install
Local stdio server run with npx (Node.js)
Before you start
Install Node.js (LTS). Check with
node --version
- Claude Desktop
Open the Claude menu > Settings... > Developer > Edit Config.
Quit Claude Desktop completely and reopen it, then check + > Connectors > Manage connectors > filesystem.
Add a filesystem entry under mcpServers with command npx and args ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Desktop"] (absolute paths of the folders to allow).
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /absolute/path/to/folder
Install Node.js (LTS). Check with
node --versionClaude Desktop: open the Claude menu > Settings... > Developer > Edit Config.
Add a filesystem entry under mcpServers with command npx and args ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Desktop"] (absolute paths of the folders to allow).
Quit Claude Desktop completely and reopen it, then check + > Connectors > Manage connectors > filesystem.
Claude Code:
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /absolute/path/to/folder
At a glance
- Type
- MCP server
- Made by
- Model Context Protocol project (official)
- Tested by us
- Yes
- Works with
- Claude Desktop
- Claude Code
- Sign-in needed
- NoNo account. Access is limited to the folders you list (or that the client sends as roots).
- Cost
- Free and open source.
- License
- MIT (per the server README; the repository is moving new contributions to Apache-2.0)
- Registry name
io.github.modelcontextprotocol/server-filesystem- Facts checked
This is the server the official MCP tutorial uses to show what local servers can do. Once it is set up, you can ask Claude Desktop to “organize all images on my desktop into a new folder called Images” and it actually moves the files, after asking you to approve each action.
An MCP server is a small program that gives Claude a new ability. This one runs on your own computer and is fenced in: it can touch only the folders you list.
What it does (plain English)
The server is one of seven reference servers maintained by the MCP steering group in modelcontextprotocol/servers. It is published on npm as @modelcontextprotocol/server-filesystem.
When we ran it on 2026-10-18 (npm version 1.0.0), it offered 14 tools. Each carries a hint saying whether it only reads or can change files:
| Tool | Reads or changes? |
|---|---|
read_text_file, read_media_file, read_multiple_files | Read |
list_directory, list_directory_with_sizes, directory_tree | Read |
search_files, get_file_info, list_allowed_directories | Read |
read_file | Read (marked deprecated; use read_text_file) |
create_directory | Changes (safe to repeat) |
write_file | Changes; overwrites existing files |
edit_file | Changes; supports a dry run that previews a diff |
move_file | Changes; also used for renaming |
The tool list we received has no delete tool, even though the README’s feature list mentions deleting directories.
Is it for you?
Yes if you use Claude Desktop and want it to work with files on your computer, such as sorting downloads, renaming batches of files or drafting text files in a folder. It is also the best first local server to try, because the official tutorial walks through it step by step.
In Claude Code you rarely need it: Claude Code can already read and edit files in your project. It is worth adding there only to reach a folder outside the project.
What you can do with it
These three prompts come from the MCP project’s tutorial:
- “Can you write a poem and save it to my desktop?”
- “What work-related files are in my downloads folder?”
- “Please organize all images on my desktop into a new folder called ‘Images’.”
Two more that use specific tools:
- “Show me the folder tree of ~/Projects/website, skipping node_modules.” (
directory_treewith exclude patterns.) - “In notes.md, replace every ‘Q3’ with ‘Q4’. Show me a dry run first.” (
edit_filewithdryRun.)
How to set it up
Claude Desktop
- Install Node.js (the LTS version) from nodejs.org. Check with
node --version. - Click the Claude menu in your system’s menu bar (not the settings inside the chat window) and choose Settings….
- Open the Developer tab and click Edit Config. This opens
claude_desktop_config.json:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Add the server, replacing
usernameand the folders with your own absolute paths:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/Users/username/Downloads"
]
}
}
}
On Windows, use paths like C:\\Users\\username\\Desktop. The server README also shows wrapping npx with cmd /c on Windows.
5. Quit Claude Desktop completely and reopen it.
6. Click + (Add files, connectors, and more) in the message box, hover Connectors, click Manage connectors and select filesystem to see its tools.
Claude Code
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /absolute/path/to/folder
Add --scope user to make it available in every project. Run claude mcp list to check it connects.
What we tested
On 2026-10-18 we started the server with one allowed folder and called it directly. It listed the 14 tools above, read a test file inside the folder, and refused /etc/hostname with “Access denied - path outside allowed directories”. We also registered it with claude mcp add in Claude Code 2.1.302, and claude mcp list reported it as Connected. Evidence: research/tests/filesystem-mcp-server.txt.
Watch out for
- It acts with your permissions. The tutorial warns that the server runs under your user account and can do any file operation you can, inside the allowed folders. Do not allow your whole home folder.
- Overwrites are real.
write_filereplaces existing files and is not crash-safe mid-write. Keep backups of anything important. - Approve each action. Claude Desktop asks before each file operation. Read the request; deny it if unsure.
- Paths must be absolute. Relative paths in the config are a common reason the server does not appear. Logs are in
~/Library/Logs/Claude(macOS) or%APPDATA%\Claude\logs(Windows). - Reference, not product. The MCP repository describes its servers as educational examples, not production-ready solutions.
Alternatives
- Google Drive connector for files in the cloud.
- Fetch MCP server, another small reference server, for web pages.
- Claude Code itself, which reads and edits project files without any extra server.
Sources
- github.com/modelcontextprotocol/servers (opens in a new tab)
- github.com/modelcontextprotocol/servers/tree/main/src/filesystem (opens in a new tab)
- modelcontextprotocol.io/docs/develop/connect-local-servers (opens in a new tab)
- code.claude.com/docs/en/mcp (opens in a new tab)
Related tools
Notion MCP
by Notion
- MCP server
- Official
Notion's hosted MCP server lets Claude search your workspace, read pages as Markdown, and create or update pages and databases you can access.
Works with- Claude.ai
- Claude Desktop
- Claude Code
Context7
by Upstash
- MCP server
- Official
Context7 feeds Claude current, version-specific library docs and code examples, so it stops writing code against APIs that no longer exist.
Works with- Claude.ai
- Claude Desktop
- Claude Code
Google Drive connector
by Google
- Connector
- Official
Google's connector for Claude: search your Drive, read Docs, Sheets, Slides, PDFs and Office files, and add Drive files to chats and projects.
Works with- Claude.ai
- Claude Desktop
- Claude Code
PDF skill
by Anthropic
- Skill
- Official
Anthropic's skill for PDF work: extract text and tables, merge, split, watermark, OCR scans, create new PDFs and fill in forms.
Works with- Claude.ai
- Claude Desktop
- Claude Code