npm filesystem-mcpstdioupdated 27d ago
MCP server for filesystem operations - read, create, and edit files.
What can you do with Filesystem?
filesystem-mcp
MCP server for filesystem operations - read, create, and edit files.
Use Cases
Save email attachments: "Download all PDFs from my accountant's emails this month" → searches Gmail for matching emails, extracts attachments, and saves them to a local folder.
Update config files: "Change the API endpoint from staging to production in my config" → finds the config file, replaces the URL, and shows you the diff.
Generate reports: "Create a summary of today's calendar events" → reads your calendar, formats a markdown report, and saves it to your notes folder.
Code refactoring: "Rename the function getData to fetchUserData in src/api.ts" → reads the file, makes the precise replacement, and confirms the change.
Backup before changes: "Save a copy of my .zshrc before I modify it" → reads the current file and writes a timestamped backup.
Setup
Follow the instructions on install-mcp, which generates the right config for your MCP client (Claude Code, Claude Desktop, Cursor, Cline, VS Code, and more).
Tools
| Tool | Description |
|---|---|
view |
Read file contents or list directory (with line numbers) |
create |
Create or overwrite a file |
str_replace |
Replace an exact string in a file |
insert |
Insert text at a specific line |
Contributing
Pull requests are welcomed on GitHub! To get started:
- Install Git and Node.js
- Clone the repository
- Install dependencies with
npm install - Run
npm run testto run tests - Build with
npm run build
Releases
Versions follow the semantic versioning spec.
To release:
- Use
npm version <major | minor | patch>to bump the version - Run
git push --follow-tagsto push with tags - Wait for GitHub Actions to publish to the NPM registry.
Install
Add Filesystem to your client. Pick the one you use.
claude mcp add filesystem-mcp -- npx -y filesystem-mcpcodex mcp add filesystem-mcp -- npx -y filesystem-mcpamp mcp add filesystem-mcp -- npx -y filesystem-mcp{
"mcpServers": {
"filesystem-mcp": {
"command": "npx",
"args": [
"-y",
"filesystem-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"filesystem-mcp": {
"command": "npx",
"args": [
"-y",
"filesystem-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"filesystem-mcp","command":"npx","args":["-y","filesystem-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"filesystem-mcp": {
"command": "npx",
"args": [
"-y",
"filesystem-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"filesystem-mcp": {
"command": "npx",
"args": [
"-y",
"filesystem-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"filesystem-mcp": {
"command": "npx",
"args": [
"-y",
"filesystem-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"filesystem-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"filesystem-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"filesystem-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"filesystem-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y filesystem-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
1 tool
Filesystem exposes one tool to a connected agent.
- str_replace
- Replace an exact string in a file
Score
59 / 100
Adequate
- Documentation12/25
- Maintenance25/25
- Trust6/20
- Capability4/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 20 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 1 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.3.0Latest | Mar 7, 2026 |
| 1.2.2 | Feb 23, 2026 |
| 1.2.1 | Dec 28, 2025 |
| 1.2.0 | Dec 27, 2025 |
| 1.0.0 | Dec 14, 2025 |