---
title: "Filesystem MCP reference server: review, setup & limitations · Undominated.ai"
canonical: https://undominated.ai/mcp-servers/filesystem/
description: "Give a local MCP client scoped file reading, editing, search, and directory operations."
---

# Filesystem MCP reference server: review, setup & limitations · Undominated.ai

> Give a local MCP client scoped file reading, editing, search, and directory operations.

[← Explore all mcp servers](/mcp-servers/)

LOCAL FILE OPERATIONS / Model Context Protocol steering group

# Filesystem MCP reference server

Give a local MCP client scoped file reading, editing, search, and directory operations.

 See setup guidance ↓Original source ↗

SOURCE REVIEW

 Reviewed 2026-09-21
 Evidence 6 linked sources
 Publisher Model Context Protocol steering group
 Licence Apache-2.0 / MIT transition; documentation CC-BY-4.0 ↗
 Revision d73f99efbfd4
 Read what was—and wasn’t—checked ↓

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

 Model Context Protocol steering group · upstream description ↗ Our analysis follows below.

01 / THE REASONING

## Why this made the selection.

 - Directory roots make the exposed filesystem scope visible to the client.
- Text, media, search, and edit tools cover ordinary workspace tasks without a SaaS account.

### A good fit for

 - Inspect and edit an explicitly approved local workspace.
- Prototype a client that supports MCP Roots.

### Weigh up before choosing

 - The publisher describes this as an educational reference implementation, not a production-ready service.
- Writes can overwrite files and move paths; this is not a read-only file browser.
- Client-supplied Roots replace the command-line allowlist, so review the client roots as well as launch arguments.

02 / THE REVIEW RECORD

## What we actually inspected.

Source review has boundaries. A clear record is more useful than a “safe” badge.

### Material inspected

 - Current repository README and licence transition.
- src/filesystem/package.json, index.ts, and lib.ts, including directory validation and tool registration.

### Our findings

 - The server uses stdio. Its path checks include canonical paths and symlinks, but this source review is not an escape-resistance test.
- The README feature list mentions deletion, while its documented tools focus on read, write, edit, move, create, and search; this profile does not promise a separate delete tool.

### Not established by this review

 - Server launch, authenticated tool calls, and release-to-source parity were not tested.

The review applies to the material and revision named here. A newer upstream release can change its behavior.

03 / PUT IT TO WORK

## Connect a server deliberately.

Upstream setup instructions ↗
 - Use the official client-specific JSON example and replace the example directory paths with a small approved workspace.
- Configure the local Node process through the MCP client; inspect list_allowed_directories after the client supplies its Roots.
- Keep write approvals enabled in the client and use OS or container permissions where stronger isolation is required.

### Before you start

 - Node.js and npm/npx.
- Read/write permission for the selected directories; an MCP client with stdio support.

### Documented configuration example

Use the client and authentication context described in the setup guidance. Configuration formats vary between hosts.

 {
 "mcpServers": {
 "filesystem": {
 "command": "npx",
 "args": [
 "-y",
 "@modelcontextprotocol/server-filesystem",
 "/Users/username/Desktop",
 "/path/to/other/allowed/dir"
 ]
 }
 }
} Copy configuration ↗

### Compatibility

Claude Desktop · VS Code · stdio clients

### Implementation

TypeScript

### Transports

stdio

### Local process

 - Reads file contents, media, metadata and directory names within the current allowed roots.
- Creates, overwrites, edits and moves local paths using the process user’s permissions.

### Cost model

Runs on your machine; hosting and any connected model client are separate costs.

04 / FOLLOW THE EVIDENCE

## The source trail.

Our notes are separate from the original resource. Check upstream before adopting a new version.

 - Filesystem MCP reference server setup and scope ↗ Checked 2026-09-21 https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/src/filesystem/README.md Supports: summary, upstreamDescription, whySelected, bestFor, limitations, install, access, compatibility, transports, review
- MCP steering-group reference implementation scope ↗ Checked 2026-09-21 https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/README.md Supports: publisher, upstreamDescription, limitations, review
- Current MCP repository licence transition ↗ Checked 2026-09-21 https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/LICENSE Supports: license, review
- Filesystem package and executable ↗ Checked 2026-09-21 https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/src/filesystem/package.json Supports: language, install
- Filesystem server and tool registrations ↗ Checked 2026-09-21 https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/src/filesystem/index.ts Supports: review, transports, access
- Filesystem path checks ↗ Checked 2026-09-21 https://raw.githubusercontent.com/modelcontextprotocol/servers/d73f99efbfd40c3aa1b61e88728b3d49fb52608f/src/filesystem/lib.ts Supports: review, limitations

KEEP COMPARING

## Other approaches to consider.

Related by category or shared topics. These are alternatives to inspect, not a measured quality order.

 [### Fetch MCP reference server ↗ Retrieve a URL as text or Markdown in chunks through a small local MCP server.](/mcp-servers/fetch/)[### Git MCP reference server ↗ Inspect local Git history and diffs, then stage, commit, or switch branches through explicit tools.](/mcp-servers/git/)[### Knowledge Graph Memory reference server ↗ Persist named entities, observations and relations in a local JSONL graph between client sessions.](/mcp-servers/memory/)

 [AI Tools ↗](/tools/)[Skills ↗](/skills/)[Agents ↗](/agents/)[MCP Servers ↗](/mcp-servers/)
