返回市场
MCP多文件服务器

MCP多文件服务器

作者:strawgate26 星标更新:2025-10-13

项目介绍

【技术文档摘要】: !! 该项目已存档,请访问 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 服务器配置
{
    "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",
        2
        "call_tools_bulk"
      ]
    },

开发

  1. 克隆仓库:
    # 替换为实际的仓库 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
    # 或使用已安装的脚本
    filesystem-operations-mcp
    

您还可以通过内置的调试启动配置使用 vscode 进行调试。要将您的 MCP 客户端指向此本地服务器,请使用以下 MCP 服务器配置:

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

您也可以设置您的 uvx 命令指向仓库中的某个分支,如 `"git+https://github.com/strawgate/filesystem-operations-mcp@branch-name"`。