mcp-filesystem-remote

phildougherty/mcp-filesystem-remote

3.2

If you are the rightful owner of mcp-filesystem-remote and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Filesystem Remote Server is a secure, remote-accessible server that extends the standard MCP filesystem server with additional transport options and Docker support.

The MCP Filesystem Remote Server is designed to provide secure and efficient remote access to filesystem operations. It supports multiple transport options, including traditional stdio, HTTP, and Server-Sent Events (SSE), making it versatile for various deployment scenarios. The server is built with a strong focus on security, ensuring that only explicitly allowed directories are accessible and that all inputs are validated to prevent unauthorized access. With Docker support, the server is container-ready, allowing for easy deployment in modern cloud environments. It is optimized for performance with features like streaming operations for large files and concurrent processing where safe. This server is ideal for applications that require remote filesystem access with strict security controls, such as web applications and containerized environments.

Features

  • Secure remote filesystem access with multiple transport options
  • Strict security controls with path validation and symlink protection
  • Performance optimizations for handling large files efficiently
  • Docker support for easy deployment in containerized environments
  • Comprehensive input validation using Zod schemas

Usages

usage with stdio

bash
node dist/index.js /allowed/directory1 /allowed/directory2

usage with http

bash
node dist/index.js --transport http --port 3000 --host localhost /allowed/directory

usage with sse

bash
node dist/index.js --transport sse --port 3000 --host 0.0.0.0 /allowed/directory

usage with docker http

bash
docker run -p 3000:3000 -v /host/path:/container/path mcp-filesystem-remote \
  --transport http --port 3000 --host 0.0.0.0 /container/path

usage with docker sse

bash
docker run -p 3000:3000 -v /host/path:/container/path mcp-filesystem-remote \
  --transport sse --port 3000 --host 0.0.0.0 /container/path

Tools

  1. read_file

    Read complete file contents with optional head/tail operations

  2. write_file

    Write content to a file, creating or overwriting as needed

  3. edit_file

    Edit file with line-based operations and git-style diff preview

  4. create_directory

    Create a directory recursively

  5. search_files

    Search for files recursively with pattern matching