Bulk Filesystem Operations MCP Server
About
MCP Server for reading many files at the same time
Details
- Author
- strawgate
- GitHub stars
- 25
- Downloads
- 524
- Categories
- Other
Jump to
- Perform batch calls to a single tool using call_tool_bulk.
- Execute multiple different tools in one request via call_tools_bulk.
- Read, create, append, erase, move, and delete files.
- Create, list, read all, move, delete, and empty folders.
- Disable specific file or folder tools using environment variables.
- Recursive folder operations are available but can be expensive.
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Bulk Filesystem Operations MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install and run via uvx with the repository URL. Configure the server in your MCP client (e.g., VS Code, Roo Code/Cline) by adding the appropriate JSON block with server name, command, and arguments. The server provides tools under file and folder namespaces, along with call_tool_bulk and call_tools_bulk for batch requests.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"bulk filesystem operations mcp server": {
"filesystem-operations-mcp": {
"command": "uv",
"args": [
"venv"
]
}
}
}
}
McpServers
{
"filesystem-operations-mcp": {
"command": "uv",
"args": [
"venv"
]
}
}
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 theDISABLE_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:
``json
"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"`.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



