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.

On 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

  1. Install Node.js (LTS). Check with node --version

  1. Install Node.js (LTS). Check with node --version

  2. Claude Desktop: open the Claude menu > Settings... > Developer > Edit Config.

  3. 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).

  4. Quit Claude Desktop completely and reopen it, then check + > Connectors > Manage connectors > filesystem.

  5. 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:

ToolReads or changes?
read_text_file, read_media_file, read_multiple_filesRead
list_directory, list_directory_with_sizes, directory_treeRead
search_files, get_file_info, list_allowed_directoriesRead
read_fileRead (marked deprecated; use read_text_file)
create_directoryChanges (safe to repeat)
write_fileChanges; overwrites existing files
edit_fileChanges; supports a dry run that previews a diff
move_fileChanges; 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:

  1. “Can you write a poem and save it to my desktop?”
  2. “What work-related files are in my downloads folder?”
  3. “Please organize all images on my desktop into a new folder called ‘Images’.”

Two more that use specific tools:

  1. “Show me the folder tree of ~/Projects/website, skipping node_modules.” (directory_tree with exclude patterns.)
  2. “In notes.md, replace every ‘Q3’ with ‘Q4’. Show me a dry run first.” (edit_file with dryRun.)

How to set it up

Claude Desktop

  1. Install Node.js (the LTS version) from nodejs.org. Check with node --version.
  2. Click the Claude menu in your system’s menu bar (not the settings inside the chat window) and choose Settings….
  3. 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
  4. Add the server, replacing username and 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_file replaces 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

Facts checked against these sources on . Page updated . How we check facts

  1. github.com/modelcontextprotocol/servers (opens in a new tab)
  2. github.com/modelcontextprotocol/servers/tree/main/src/filesystem (opens in a new tab)
  3. modelcontextprotocol.io/docs/develop/connect-local-servers (opens in a new tab)
  4. code.claude.com/docs/en/mcp (opens in a new tab)
  • 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