Skip to main content
Glama

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


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

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

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


Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access 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