mcpField
B
Bulk Filesystem Operations MCP Server

Bulk Filesystem Operations MCP Server

本地服务
github.com/strawgate文件与存储2554 周前更新

关于 Bulk Filesystem Operations MCP Server

这是一个用于批量文件与文件夹操作的 FastMCP 服务,可在一次请求中并发读取多个文件。该项目已归档,官方推荐使用 py-mcp-collection 中的新版本。

主要功能

  1. 01批量调用单个或多个工具
  2. 02文件的读取、创建、追加、移动与删除
  3. 03文件夹的创建、列出、移动与清空
  4. 04可通过环境变量禁用指定工具

适用场景

  1. 01一次请求读取大量文件内容
  2. 02在 VS Code 或 Cline 中执行批量文件操作
  3. 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 用法

  1. 打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P)。
  2. 输入 "Settings" 并选择 "Preferences: Open User Settings (JSON)"。
  3. 添加以下 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"
      ]
    },

开发

  1. 克隆仓库:
    # Replace with the actual repository URL
    git clone https://github.com/strawgate/filesystem-operations-mcp.git
    cd filesystem-operations-mcp
    
  2. 创建虚拟环境并安装依赖项:
    uv venv
    source .venv/bin/activate
    uv sync --extra dev
    
  3. 在本地运行服务以进行测试:
    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"`.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。