filesystem-mcp
The Filesystem MCP Server enables secure and efficient filesystem operations for AI agents within a defined root directory. Key capabilities include:
π Explore & Inspect: List files/directories (recursively with optional stats), get detailed status for multiple items
π Read & Write: Read from multiple files, write/append content with automatic directory creation
ποΈ Manage Files/Directories: Create directories with intermediate paths, delete multiple files/directories
βοΈ Move & Copy: Move/rename or copy multiple files/directories
π Control Permissions: Change POSIX permissions (chmod) and ownership (chown) for multiple items
π Search & Replace: Search using regex with glob filtering, replace content across multiple files
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@filesystem-mcpread the contents of my notes.txt file"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Filesystem MCP π
Secure filesystem operations for AI agents - Token-optimized with batch processing
Batch operations β’ Project root safety β’ Token optimized β’ Zod validation
Quick Start β’ Installation β’ Tools
π Overview
Empower your AI agents (like Claude/Cline) with secure, efficient, and token-saving access to your project files. This Node.js server implements the Model Context Protocol (MCP) to provide a robust set of filesystem tools.
The Problem:
Traditional AI filesystem access:
- Shell commands for each operation β
- No batch processing (high token cost) β
- Unsafe (no project root boundaries) β
- High latency (shell spawn overhead) βThe Solution:
Filesystem MCP Server:
- Batch operations (10+ files at once) β
- Token optimized (reduce round trips) β
- Secure (confined to project root) β
- Direct API (no shell overhead) β
Result: Safe, fast, and token-efficient filesystem operations for AI agents.
Related MCP server: drupal-modules-mcp MCP Server
β‘ Performance Advantages
Token & Latency Optimization
Metric | Individual Shell Commands | Filesystem MCP | Improvement |
Operations/Request | 1 file | 10+ files | 10x reduction |
Round Trips | N operations | 1 request | NΓ fewer |
Latency | Shell spawn per op | Direct API | 5-10Γ faster |
Token Usage | High overhead | Batched context | 50-70% less |
Error Reporting | stderr parsing | Per-item status | Detailed |
Real-World Benefits
Batch file reads - Read 10 files in one request vs 10 requests
Multi-file edits - Edit multiple files with single tool call
Recursive operations - List entire directory trees efficiently
Detailed status - Per-item success/failure reporting
π― Why Choose This Server?
Security & Safety
π‘οΈ Project Root Confinement - All operations restricted to
cwdat launchπ Permission Control - Built-in chmod/chown tools
β Validation - Zod schemas validate all arguments
π« Path Traversal Prevention - Cannot escape project directory
Efficiency & Performance
β‘ Batch Processing - Process multiple files/directories per request
π― Token Optimized - Reduce AI-server communication overhead
π Direct API - No shell process spawning
π Detailed Results - Per-item status for batch operations
Developer Experience
π§ Easy Setup -
npx/bunxfor instant useπ³ Docker Ready - Official Docker image available
π¦ Comprehensive Tools - 11+ filesystem operations
π MCP Standard - Full protocol compliance
π¦ Installation
Method 1: npx/bunx (Recommended)
The simplest way - always uses latest version from npm.
Using npx:
{
"mcpServers": {
"filesystem-mcp": {
"command": "npx",
"args": ["@sylphlab/filesystem-mcp"],
"name": "Filesystem (npx)"
}
}
}Using bunx:
{
"mcpServers": {
"filesystem-mcp": {
"command": "bunx",
"args": ["@sylphlab/filesystem-mcp"],
"name": "Filesystem (bunx)"
}
}
}Important: The server uses its own Current Working Directory (cwd) as the project root. Ensure your MCP host (e.g., Cline/VSCode) launches the command with cwd set to your project's root directory.
Method 2: Docker
Use the official Docker image for containerized environments.
{
"mcpServers": {
"filesystem-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/path/to/your/project:/app",
"sylphlab/filesystem-mcp:latest"
],
"name": "Filesystem (Docker)"
}
}
}Remember to replace /path/to/your/project with your actual project path.
Method 3: Local Build (Development)
# Clone repository
git clone https://github.com/SylphxAI/filesystem-mcp.git
cd filesystem-mcp
# Install dependencies
pnpm install
# Build
pnpm run build
# Watch mode (auto-rebuild)
pnpm run devMCP Host Configuration:
{
"mcpServers": {
"filesystem-mcp": {
"command": "node",
"args": ["/path/to/filesystem-mcp/dist/index.js"],
"name": "Filesystem (Local Build)"
}
}
}π Quick Start
Once configured in your MCP host (see Installation), your AI agent can immediately use the filesystem tools.
Example Agent Interaction
<use_mcp_tool>
<server_name>filesystem-mcp</server_name>
<tool_name>read_content</tool_name>
<arguments>{"paths": ["src/index.ts", "package.json"]}</arguments>
</use_mcp_tool>Server Response:
{
"results": [
{
"path": "src/index.ts",
"content": "...",
"success": true
},
{
"path": "package.json",
"content": "...",
"success": true
}
]
}π Features
File Operations
Tool | Description | Batch Support |
read_content | Read file contents | β Multiple files |
write_content | Write/append to files | β Multiple files |
edit_file | Surgical edits with diff output | β Multiple files |
search_files | Regex search with context | β Multiple files |
replace_content | Multi-file search & replace | β Multiple files |
Directory Operations
Tool | Description | Batch Support |
list_files | List files/directories recursively | Single path |
stat_items | Get detailed file/directory status | β Multiple items |
create_directories | Create directories with parents | β Multiple paths |
Management Operations
Tool | Description | Batch Support |
delete_items | Remove files/directories | β Multiple items |
move_items | Move/rename files/directories | β Multiple items |
copy_items | Copy files/directories | β Multiple items |
Permission Operations
Tool | Description | Batch Support |
chmod_items | Change POSIX permissions | β Multiple items |
chown_items | Change ownership | β Multiple items |
Key Benefit: Tools supporting batch operations process each item individually and return detailed per-item status reports.
π‘ Design Philosophy
Core Principles
Security First
All operations confined to project root
Path traversal prevention
Permission controls built-in
Efficiency Focused
Batch processing reduces token usage
Direct API calls (no shell overhead)
Minimal communication round trips
Robustness
Per-item success/failure reporting
Detailed error messages
Zod schema validation
Simplicity
Clear, consistent API
MCP standard compliance
Easy integration
π Comparison with Alternatives
Feature | Filesystem MCP | Shell Commands | Other Scripts |
Security | β Root confined | β Full shell access | β οΈ Variable |
Token Efficiency | β Batching | β One op/command | β οΈ Variable |
Latency | β Direct API | β Shell spawn | β οΈ Variable |
Batch Operations | β Most tools | β No | β οΈ Maybe |
Error Reporting | β Per-item detail | β stderr parsing | β οΈ Variable |
Setup | β Easy (npx/Docker) | β οΈ Secure shell setup | β οΈ Custom |
MCP Standard | β Full compliance | β No | β οΈ Variable |
π οΈ Tech Stack
Component | Technology |
Language | TypeScript (strict mode) |
Runtime | Node.js / Bun |
Protocol | Model Context Protocol (MCP) |
Validation | Zod schemas |
Package Manager | pnpm |
Distribution | npm + Docker Hub |
π― Use Cases
AI Agent Development
Enable AI agents to:
Read project files - Access code, configs, docs
Edit multiple files - Refactor across codebase
Search codebases - Find patterns and definitions
Manage project structure - Create, move, organize files
Code Assistants
Build powerful coding tools:
Cline/Claude integration - Direct filesystem access
Batch refactoring - Edit multiple files at once
Safe operations - Confined to project directory
Efficient operations - Reduce token costs
Automation & Scripting
Automate development tasks:
File generation - Create boilerplate files
Project setup - Initialize directory structures
Batch processing - Handle multiple files efficiently
Content transformation - Search and replace across files
πΊοΈ Roadmap
β Completed
Core filesystem operations (read, write, edit, etc.)
Batch processing for most tools
Project root security
Docker image
npm package
Zod validation
π Planned
File watching capabilities
Streaming support for large files
Advanced filtering for
list_filesPerformance benchmarks
Compression/decompression tools
Symlink management
π€ Contributing
Contributions are welcome! Please follow these guidelines:
Fork the repository
Create a feature branch -
git checkout -b feature/my-featureWrite tests - Ensure good coverage
Follow TypeScript strict mode - Type safety first
Add documentation - Update README if needed
Submit a pull request
Development Setup
# Clone and install
git clone https://github.com/SylphxAI/filesystem-mcp.git
cd filesystem-mcp
pnpm install
# Build
pnpm run build
# Watch mode (auto-rebuild)
pnpm run devπ€ Support
π Bug Reports
π¬ Discussions
π§ Email
Show Your Support: β Star β’ π Watch β’ π Report bugs β’ π‘ Suggest features β’ π Contribute
π License
MIT Β© Sylphx
π Credits
Built with:
Model Context Protocol - MCP standard
Zod - Schema validation
TypeScript - Type safety
pnpm - Package manager
Special thanks to the MCP community β€οΈ
π Publishing
This repository uses GitHub Actions to automatically publish to:
Docker Hub: sylphlab/filesystem-mcp
Triggered on version tags (v*.*.*) pushed to main branch.
Required secrets: NPM_TOKEN, DOCKERHUB_USERNAME, DOCKERHUB_TOKEN
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SylphxAI/filesystem-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server