MCP Server that enables LLMs to interact with the local filesystem.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Filesystem-MCP is a Model Context Protocol server that lets AI assistants read and write files within explicitly allowed directories. Sensitive file patterns (.env, *.pem, *id_rsa*) are blocked by default. It exposes filesystem tools, resources, and prompts over stdio or Streamable HTTP transport.
| Aspect | Details |
|---|---|
| Status | Active (see npm badge for the current version) |
| Language | TypeScript (strict) |
| Runtime | Node.js >= 24 |
| Package | npm |
| License | MIT |
| Feature | Description |
|---|---|
| Path guarding | Every path is validated against allowed roots; .env, *.pem, *id_rsa* and similar patterns are denied |
| Filesystem tools | Navigate, inspect, read, and write across all major file operations |
| Batch operations | Most tools accept path, paths[], or files[] for parallel execution |
| Dual transport | stdio by default; --port enables Streamable HTTP |
| File subscriptions | Resource subscriptions push change notifications when watched files update |
| Regex safety | RE2 in all search tools: linear-time matching, so no pattern can ReDoS the server |
| Layer | Technology |
|---|---|
| Protocol | MCP SDK v2 (@modelcontextprotocol/server) |
| Runtime | Node.js >= 24 Β· TypeScript 6 Β· ESM |
| Transport | stdio (default) Β· Streamable HTTP (--port) |
| Regex | RE2 (re2-wasm) β linear time, no lookahead/lookbehind/backreferences |
| Container | Docker alpine Β· multi-stage build Β· non-root user |
[!NOTE] Requires Node.js β₯ 24.
| Requirement | Version / Notes |
|---|---|
| Node.js | β₯ 24 |
| npm | Bundled with Node.js |
| Docker | Optional β for container use |
Or install globally:
Add to .vscode/mcp.json:
Or install via CLI:
Add to .vs\mcp.json in your solution directory, or %USERPROFILE%\.mcp.json for a global configuration:
Add to your claude_desktop_config.json:
Add to .cursor/mcp.json in your project root (project-scoped), or ~/.cursor/mcp.json for a global configuration:
VS Code (.vscode/mcp.json) and Visual Studio (.vs\mcp.json):
Claude Desktop (claude_desktop_config.json) and Cursor (mcp.json):
[!NOTE] For least privilege, use both controls:
:romakes the container mount read-only at the operating-system boundary, while the server's--read-onlyflag removes mutating tools (create,edit,move,delete,patch,replace_text) fromtools/list.
All tools are scoped to the configured roots. Call list_roots first to discover what is allowed.
| Tool | Description |
|---|---|
list_roots | List allowed workspace roots. Call this first β all other tools scope to these. |
list | List directory contents. Returns entries (dirs-first, alphabetical) and an ASCII tree. |
find_files | Find files by glob pattern (e.g. **/*.ts). Returns matching files with metadata. |
| Tool | Description |
|---|---|
stat | Get file/directory metadata: size, modified time, permissions, MIME type, token estimate. |
search_text | Search file contents for text (grep-like). Returns matching lines with context. |
diff | Compare two files and return a unified diff with added/removed line counts. |
| Tool | Description |
|---|---|
read | Read a text file. Supports head/tail and line ranges. Accepts paths[] for batches. |
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/filesystem-mcp)<a href="https://allmcps.com/mcp/filesystem-mcp"><img src="https://allmcps.com/api/badge/filesystem-mcp?style=directory" alt="Filesystem MCP on AllMCPs" /></a>