All MCP Servers
Dev Tools & GitOfficial referencenpm13 toolsA · 93

Filesystem MCP server

MIT

Secure file operations with configurable access controls — read, write, search and move files in directories you explicitly allow.

At a glance

Filesystem is the official MCP reference server in the Dev Tools & Git category. It runs locally over stdio via `npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory`, and declares no required credentials. It exposes 13 tools, including read_text_file, read_media_file and read_multiple_files. It scores A (93/100) on the MCP Skills Hub health score as of Oct 27, 2026.

Source 92kGitHub stars

One-click install

Opens your editor and pre-fills the config. Your editor will ask before adding it.

How to install Filesystem in your AI client

Setup for Claude Code, Claude Desktop, Cursor, Codex, Windsurf, Cline and VS Code — copy-paste ready.

How to install Filesystem in Claude CodeAnthropic's agentic CLI

  1. Add the server

    bash
    claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
  2. Verify it's connected

    bash
    claude mcp list
  3. Sharing it with your team?

    Add `--scope project` to write it to .mcp.json in the repository root, which you can commit (with the secrets left as environment variables).

  4. Use it in a session

    Ask Claude to use the tools this server exposes (e.g. read_text_file, read_media_file, read_multiple_files). It discovers them automatically.

What tools does Filesystem expose? (13)

Taken from the project's README — the server itself was not queried, so check its docs for the exact schemas.

What the code can do

Read from the published package source — never executed. Parsed 8 of 8 source files.

This server can read and write files and read system information.

How it was published

  • Published by a verified CI identity (github trusted publishing) rather than a personal token.
  • Has a provenance attestation tying this artifact to the commit it was built from.
  • 6 npm maintainers · last published by GitHub Actions.

Maintainer of this package and think something here is wrong? Tell us and we'll correct it.

Before you install

Signals gathered from the source repo and package registry — not a safety verdict.

What it can reach

  • Runs code on your machine — Executes as a local process with your user's permissions, including filesystem access.
  • Downloads at launch — The package is fetched from its registry each run unless you pin a version.
  • Last commit today — Actively maintained.
  • 92k GitHub stars — Community adoption signal.
  • 737k weekly downloads — Regularly installed by other developers.

Client compatibility

Claude Code: NativeClaude Desktop: NativeCursor: NativeCodex CLI: NativeWindsurf: NativeCline: NativeVS Code: Native

Health score

A · 93

Maintenance, adoption, transparency and packaging — not a safety audit. How this is calculated

  • Maintenance30%100%

    Last commit 0 days ago.

  • Adoption20%100%

    91630 stars, 737150 weekly downloads.

  • Transparency20%100%

    4/4: ✓ public source repo, ✓ declared license, ✓ documentation, ✓ discoverable tool list.

  • Provenance15%100%

    Official reference implementation, maintained by the MCP steering group.

  • Packaging15%50%

    No pinned version — installs resolve to whatever is latest at launch.

Documentation

Full README

Filesystem MCP Server

Node.js server implementing Model Context Protocol (MCP) for filesystem operations.

Published on npm as `@modelcontextprotocol/server-filesystem`.

Features

  • Read/write files
  • Create/list/delete directories
  • Move files/directories
  • Search files
  • Get file metadata
  • Directory access control from command-line arguments, with Roots as a deprecated, 2025-era convenience
  • Serves both protocol eras on stdio: 2026-07-28 clients (server/discover, no handshake) and 2025-era clients (initialize)

Directory Access Control

The server may touch only its allowed directories. Pass them on the command line. A 2025-era client that supports Roots can also replace them at runtime, but Roots is deprecated as of protocol version 2026-07-28 and a 2026-07-28 connection cannot use it.

Method 1: Command-line Arguments (Recommended)

Specify Allowed directories when starting the server:

bash
mcp-server-filesystem /path/to/dir1 /path/to/dir2

This is the only method that works on every protocol version, so it is the one to use.

Method 2: MCP Roots (Deprecated, 2025-era clients only)

A client that connects with a 2025-era protocol version (the initialize handshake) and supports Roots can dynamically update the Allowed directories.

Roots notified by Client to Server, completely replace any server-side Allowed directories when provided.

Excerpt — the full document is on GitHub.

Maintain Filesystem? Add a badge to your README

Shows its health grade, and links readers to install steps for every client.

markdown
[![Filesystem on MCP Skills Hub](https://mcp-skills-hub.vercel.app/badge/official-filesystem)](https://mcp-skills-hub.vercel.app/mcps/official-filesystem)

Catalog data refreshed . Something wrong? Report it.