Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

Filesystem-MCP-Server-SSE

MCP.Pizza Chef: ysthink

Filesystem-MCP-Server-SSE is a Node.js server implementing the Model Context Protocol (MCP) using Server-Sent Events (SSE) for real-time filesystem operations. It supports reading, writing, editing files, directory management, file searching, and metadata retrieval, all scoped securely to specified directories. This server enables efficient, event-driven file system interactions for applications requiring live updates and robust file handling within controlled environments.

Use This MCP server To

Read and write files in real-time with SSE updates Manage directories: create, list, delete, and move files Perform advanced file edits with pattern matching Search files within scoped directories Retrieve file metadata for auditing or processing Read multiple files simultaneously without operation failure Integrate live filesystem data into AI workflows or agents

README

Filesystem MCP Server SSE

Node.js server SSE implementing Model Context Protocol (MCP) for filesystem operations.

Features

  • Read/write files
  • Create/list/delete directories
  • Move files/directories
  • Search files
  • Get file metadata

Note: The server will only allow operations within directories specified via args.

API

Resources

  • file://system: File system operations interface

Tools

  • read_file

    • Read complete contents of a file
    • Input: path (string)
    • Reads complete file contents with UTF-8 encoding
  • read_multiple_files

    • Read multiple files simultaneously
    • Input: paths (string[])
    • Failed reads won't stop the entire operation
  • write_file

    • Create new file or overwrite existing (exercise caution with this)
    • Inputs:
      • path (string): File location
      • content (string): File content
  • edit_file

    • Make selective edits using advanced pattern matching and formatting
    • Features:
      • Line-based and multi-line content matching
      • Whitespace normalization with indentation preservation
      • Multiple simultaneous edits with correct positioning
      • Indentation style detection and preservation
      • Git-style diff output with context
      • Preview changes with dry run mode
    • Inputs:
      • path (string): File to edit
      • edits (array): List of edit operations
        • oldText (string): Text to search for (can be substring)
        • newText (string): Text to replace with
      • dryRun (boolean): Preview changes without applying (default: false)
    • Returns detailed diff and match information for dry runs, otherwise applies changes
    • Best Practice: Always use dryRun first to preview changes before applying them
  • create_directory

    • Create new directory or ensure it exists
    • Input: path (string)
    • Creates parent directories if needed
    • Succeeds silently if directory exists
  • list_directory

    • List directory contents with [FILE] or [DIR] prefixes
    • Input: path (string)
  • move_file

    • Move or rename files and directories
    • Inputs:
      • source (string)
      • destination (string)
    • Fails if destination exists
  • search_files

    • Recursively search for files/directories
    • Inputs:
      • path (string): Starting directory
      • pattern (string): Search pattern
      • excludePatterns (string[]): Exclude any patterns. Glob formats are supported.
    • Case-insensitive matching
    • Returns full paths to matches
  • get_file_info

    • Get detailed file/directory metadata
    • Input: path (string)
    • Returns:
      • Size
      • Creation time
      • Modified time
      • Access time
      • Type (file/directory)
      • Permissions
  • list_allowed_directories

    • List all directories the server is allowed to access
    • No input required
    • Returns:
      • Directories that this server can read/write from

Usage with Cherry Stdio Desktop

Note: you can provide sandboxed directories to the server by mounting them to /projects. Adding the ro flag will make the directory readonly by the server.

Docker

Note: all directories must be mounted to /projects by default.

1. Docker build:
docker build -t mcp/filesystem -f Dockerfile .
2. Docker run:
docker run -i --mount type=bind,src=type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro -p 3001:3001 mcp/filesystem /projects
3. config:
{
  "mcpServers": {
    "file_system": {
      "name": "file_system",
      "baseUrl": "http://ip:3001/sse"
    }
  }
}

Local

1. build:
npm install
2. run:
node .\dist\index.js C:\Users\User\Desktop\project

allowed directories: C:\Users\User\Desktop\project

3. config:
{
  "mcpServers": {
    "file_system": {
      "name": "file_system",
      "baseUrl": "http://127.0.0.1:3001/sse"
    }
  }
}

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.

Filesystem-MCP-Server-SSE FAQ

How does the SSE implementation benefit filesystem operations?
SSE enables real-time, event-driven updates for file operations, improving responsiveness and synchronization in applications using this MCP server, compatible with OpenAI, Claude, and Gemini models.
Can I restrict filesystem access to specific directories?
Yes, the server only allows operations within directories specified via startup arguments, ensuring secure and scoped access.
What file operations are supported by this MCP server?
It supports reading, writing, editing files, directory creation, listing, deletion, moving files/directories, searching files, and retrieving metadata.
How does the server handle reading multiple files?
It reads multiple files simultaneously and continues operation even if some reads fail, providing robustness in batch file processing.
Is this server suitable for integrating with AI models?
Yes, it exposes filesystem data and operations in a structured way compatible with LLMs like OpenAI, Claude, and Gemini for enhanced AI workflows.
What programming environment is this server built on?
It is built using Node.js, leveraging SSE for efficient event streaming and MCP compliance.
How do I ensure safe file edits using this server?
The edit_file tool supports advanced pattern matching and formatting to make selective, controlled file changes, reducing risk of errors.