mcpField
B
Bulk Filesystem Operations MCP Server

Bulk Filesystem Operations MCP Server

Local
github.com/strawgateFiles & Storage25Updated 54w ago

About Bulk Filesystem Operations MCP Server

A FastMCP server for bulk file and folder operations, allowing many files to be read in one request. The project is archived, and the README points to a newer version in the py-mcp-collection repository.

Key features

  1. 01Bulk calls to one or many tools
  2. 02File read, create, append, move and delete tools
  3. 03Folder create, list, move, delete and empty tools
  4. 04Disable individual tools through environment variables

Use cases

  1. 01Reading many file contents in a single request
  2. 02Running bulk file operations from VS Code or Cline
  3. 03Reducing round trips from several separate tool calls

MCP support

The server exposes file and folder tools under the file and folder namespaces, along with call_tool_bulk and call_tools_bulk for batching tool calls over MCP.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

!! This project is archived, see https://github.com/strawgate/py-mcp-collection/tree/main/filesystem-operations-mcp for the latest version.

Bulk Filesystem Operations MCP Server

This project provides a FastMCP server that exposes tools for performing bulk file and folder operations. It includes centralized exception handling for filesystem operations.

Available Tools

The server provides the following tools, categorized by their functionality:

  • call_tool_bulk: Call a single tool registered on this MCP server multiple times with a single request. Useful for speeding up what would otherwise take several individual tool calls.

  • call_tools_bulk: Call multiple tools registered on this MCP server in a single request. Each call can be for a different tool and can include different arguments. Useful for speeding up what would otherwise take several individual tool calls.

To add bulk tools to your FastMCP server, see https://github.com/jlowin/fastmcp/pull/215

File Operations Tools (file server)

These tools are available under the file server namespace.

  • read: Reads the content of a file at the specified path
  • create: Creates a file with the specified content
  • append: Appends content to an existing file
  • erase: Erases the content of a file
  • move: Moves a file from source to destination
  • delete: Deletes a file at the specified path
Folder Operations Tools (folder server)

These tools are available under the folder server namespace.

  • create: Creates a folder at the specified path
  • read_all: Returns the contents of all of the files in a folder (optionally, recursively). This can be expensive!
  • list: Lists the contents of a folder (optionally, recursively)
  • move: Moves a folder from source to destination
  • delete: Deletes a folder at the specified path
  • empty: Empties a folder by deleting all its contents
Disabling Tools

You can disable specific file tools by setting the DISABLE_FILE_TOOLS to an array of tool names you want to disable. For example, to disable the file_read tool, set DISABLE_FILE_TOOLS=["file_read"].

You can disable specific folder tools by setting the DISABLE_FOLDER_TOOLS to an array of tool names you want to disable. For example, to disable the folder_create tool, set DISABLE_FOLDER_TOOLS=["folder_create"].

Bulk tools cannot currently be disabled.

VS Code McpServer Usage

  1. Open the command palette (Ctrl+Shift+P or Cmd+Shift+P).
  2. Type "Settings" and select "Preferences: Open User Settings (JSON)".
  3. Add the following MCP Server configuration
{
    "mcp": {
        "servers": {
            "Filesystem Operations": {
                "command": "uvx",
                "args": [
                    "https://github.com/strawgate/mcp-many-files.git"
                ]
            }
        }
    }
}

Roo Code / Cline McpServer Usage

Simply add the following to your McpServer configuration. Edit the AlwaysAllow list to include the tools you want to use without confirmation.

    "Filesystem Operations": {
      "command": "uvx",
      "args": [
        "https://github.com/strawgate/mcp-many-files.git"
      ],
      "alwaysAllow": [
        "file_read",
        "file_create",
        "file_append",
        "file_erase",
        "file_move",
        "file_delete",
        "folder_create",
        "folder_contents",
        "folder_move",
        "folder_delete",
        "folder_empty",
        "call_tool_bulk",
        "call_tools_bulk"
      ]
    },

Development

  1. Clone the repository:
    # Replace with the actual repository URL
    git clone https://github.com/strawgate/filesystem-operations-mcp.git
    cd filesystem-operations-mcp
    
  2. Create a virtual environment and install dependencies:
    uv venv
    source .venv/bin/activate
    uv sync --extra dev
    
  3. Run the server locally for testing:
    python -m filesystem-operations-mcp.server
    # or using the installed script
    filesystem-operations-mcp
    

You can also debug with vscode via the built in debug launch configuration. To point your MCP Client to this local server, use the following MCP server configuration:

"filesystem_operations_mcp": {
  "url": "http://localhost:8000/sse",
  "disabled": true,
  "autoApprove": [],
  "timeout": 30,
  "alwaysAllow": []
}

You can also set your uvx command to point to a branch on the repository via `"git+https://github.com/strawgate/filesystem-operations-mcp@branch-name"`.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.