Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

SylphxAI/filesystem-mcp

Open more actions menu

Filesystem MCP πŸ“

Secure filesystem operations for AI agents - Token-optimized with batch processing

npm version Docker Pulls License

Batch operations β€’ Project root safety β€’ Token optimized β€’ Zod validation

Quick Start β€’ Installation β€’ Tools

Filesystem MCP Server

πŸš€ 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.


⚑ 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 cwd at 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/bunx for 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 dev

MCP 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

  1. Security First

    • All operations confined to project root
    • Path traversal prevention
    • Permission controls built-in
  2. Efficiency Focused

    • Batch processing reduces token usage
    • Direct API calls (no shell overhead)
    • Minimal communication round trips
  3. Robustness

    • Per-item success/failure reporting
    • Detailed error messages
    • Zod schema validation
  4. 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_files
  • Performance benchmarks
  • Compression/decompression tools
  • Symlink management

🀝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch - git checkout -b feature/my-feature
  3. Write tests - Ensure good coverage
  4. Follow TypeScript strict mode - Type safety first
  5. Add documentation - Update README if needed
  6. 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

npm GitHub Issues

Show Your Support: ⭐ Star β€’ πŸ‘€ Watch β€’ πŸ› Report bugs β€’ πŸ’‘ Suggest features β€’ πŸ”€ Contribute


πŸ“„ License

MIT Β© Sylphx


πŸ™ Credits

Built with:

Special thanks to the MCP community ❀️


πŸ“š Publishing

This repository uses GitHub Actions to automatically publish to:

Triggered on version tags (v*.*.*) pushed to main branch.

Required secrets: NPM_TOKEN, DOCKERHUB_USERNAME, DOCKERHUB_TOKEN


Secure. Efficient. Token-optimized.
The filesystem MCP server that saves tokens and keeps your projects safe

sylphx.com β€’ @SylphxAI β€’ hi@sylphx.com

About

πŸ“ Secure, efficient MCP filesystem server - token-saving batch operations with project root confinement

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.