关于 Bulk Filesystem Operations MCP Server
这是一个用于批量文件与文件夹操作的 FastMCP 服务,可在一次请求中并发读取多个文件。该项目已归档,官方推荐使用 py-mcp-collection 中的新版本。
主要功能
- 01批量调用单个或多个工具
- 02文件的读取、创建、追加、移动与删除
- 03文件夹的创建、列出、移动与清空
- 04可通过环境变量禁用指定工具
适用场景
- 01一次请求读取大量文件内容
- 02在 VS Code 或 Cline 中执行批量文件操作
- 03减少多次单独工具调用的往返开销
MCP 相关
该服务通过 FastMCP 暴露 file 与 folder 命名空间下的文件系统工具,以及 call_tool_bulk 和 call_tools_bulk 批量调用工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
!! 本项目已归档,最新版本请参见 https://github.com/strawgate/py-mcp-collection/tree/main/filesystem-operations-mcp
批量文件系统操作 MCP 服务
本项目提供一个 FastMCP 服务,公开用于执行批量文件和文件夹操作的工具。它包含针对文件系统操作的集中式异常处理。
可用工具
该服务提供以下工具,按其功能分类:
-
call_tool_bulk:通过单个请求多次调用注册在此 MCP 服务上的单个工具。适用于加速原本需要多次单独工具调用的操作。 -
call_tools_bulk:通过单个请求调用注册在此 MCP 服务上的多个工具。每次调用可以针对不同的工具,并且可以包含不同的参数。适用于加速原本需要多次单独工具调用的操作。
要将批量工具添加到你的 FastMCP 服务,请参见 https://github.com/jlowin/fastmcp/pull/215
文件操作工具(file 服务)
这些工具可在 file 服务命名空间下使用。
read:读取指定路径处文件的内容create:创建具有指定内容的文件append:将内容追加到现有文件erase:清除文件的内容move:将文件从源位置移动到目标位置delete:删除指定路径处的文件
文件夹操作工具(folder 服务)
这些工具可在 folder 服务命名空间下使用。
create:在指定路径处创建文件夹read_all:返回文件夹中所有文件的内容(可选递归)。这可能开销很大!list:列出文件夹的内容(可选递归)move:将文件夹从源位置移动到目标位置delete:删除指定路径处的文件夹empty:通过删除文件夹的所有内容来清空该文件夹
禁用工具
你可以通过将 DISABLE_FILE_TOOLS 设置为想要禁用的工具名称数组,来禁用特定的文件工具。例如,要禁用 file_read 工具,请设置 DISABLE_FILE_TOOLS=["file_read"]。
你可以通过将 DISABLE_FOLDER_TOOLS 设置为想要禁用的工具名称数组,来禁用特定的文件夹工具。例如,要禁用 folder_create 工具,请设置 DISABLE_FOLDER_TOOLS=["folder_create"]。
批量工具目前无法禁用。
VS Code McpServer 用法
- 打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P)。
- 输入 "Settings" 并选择 "Preferences: Open User Settings (JSON)"。
- 添加以下 MCP Server 配置
{
"mcp": {
"servers": {
"Filesystem Operations": {
"command": "uvx",
"args": [
"https://github.com/strawgate/mcp-many-files.git"
]
}
}
}
}
Roo Code / Cline McpServer 用法
只需将以下内容添加到你的 McpServer 配置中。编辑 AlwaysAllow 列表,以包含你想要在无需确认的情况下使用的工具。
"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"
]
},
开发
- 克隆仓库:
# Replace with the actual repository URL git clone https://github.com/strawgate/filesystem-operations-mcp.git cd filesystem-operations-mcp - 创建虚拟环境并安装依赖项:
uv venv source .venv/bin/activate uv sync --extra dev - 在本地运行服务以进行测试:
python -m filesystem-operations-mcp.server # or using the installed script filesystem-operations-mcp
你也可以通过内置的调试启动配置使用 vscode 进行调试。要将你的 MCP 客户端指向此本地服务,请使用以下 MCP 服务配置:
"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"`.
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。