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
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:
The Solution:
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:
Using 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.
Remember to replace
Method 3: Local Build (Development)
MCP Host Configuration:
π Quick Start
Once configured in your MCP host (see Installation), your AI agent can immediately use the filesystem tools.
Example Agent Interaction
Server Response:
π 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
π€ 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