!!此项目已归档,请访问 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)。
- 输入“设置”并选择“首选项:打开用户设置(JSON)”。
- 添加以下MCP服务器配置
{
"mcp": {
"servers": {
"Filesystem Operations": {
"command": "uvx",
"args": [
"https://github.com/strawgate/mcp-many-files.git"
]
}
}
}
}Roo代码/Cline Mcp服务器使用
只需在您的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"`.