对象存储

  • 对象存储 > 最佳实践 > 基于 MCP 使用大模型访问对象存储 Kodo

    基于 MCP 使用大模型访问对象存储 Kodo

    最近更新时间: 2025-04-02 18:12:58

    1 概述

    七牛云对象存储 Kodo 基于 S3 协议构建 Model Context Protocol (MCP) Server,支持用户在 AI 大模型客户端的上下文中通过该 MCP Server 来访问七牛云存储的空间和对象。

    Model Context Protocol (MCP) 是一种专为大型语言模型(LLM)和 AI 系统设计的协议,旨在通过结构化上下文管理优化模型交互的效率和准确性,使 AI 模型能够安全地与本地和远程资源进行交互。

    基于 MCP,七牛云拓展集成 API 支持访问对象存储 Kodo,功能特性包括:

    • 资源
      • 列举资源(受 AI 上下文限制,列举资源时默认只会列举 20 个资源,如果需要列举所有可使用工具分批次列举)
      • 读取资源
    • 工具
      • 支持列举存储桶(Buckets)
      • 支持列举对象(Objects)
      • 支持读取对象内容

    2 配置

    2.1 前置要求

    • Python 3.12 或更高版本
    • uv 工具
    # uv 工具安装命令
    # On macOS and Linux.
    curl -LsSf https://astral.sh/uv/install.sh | sh
     
    # On Windows.
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
     
    # With pip.
    pip install uv
    

    2.2 安装与启动

    1、下载七牛云 MCP 项目代码

    2、在 ${项目代码} 文件夹下创建 .env 环境变量文件,内容如下:

    # 下面信息均是必配项
    # S3/Kodo 认证信息
    QINIU_ACCESS_KEY=your_access_key
    QINIU_SECRET_KEY=your_secret_key
    # 区域信息
    QINIU_REGION_NAME=your_region
    QINIU_ENDPOINT_URL=endpoint_url # eg:https://s3.your_region.qiniucs.com
    # 配置 bucket,多个 bucket 使用逗号隔开,建议最多配置 20 个 bucket
    QINIU_BUCKETS=bucket1,bucket2,bucket3
    

    注:修改了代码配置信息后需要重启 MCP Server

    3、初始化工程

    # 进入工程目录
    cd ${工程目录}
    # 创建虚拟环境
    uv venv
    # 添加工程依赖
    uv add "mcp[cli]" httpx openai
    

    3 使用

    3.1 通过 MCP 的 inspector 验证 MCP Server

    1、需要提前配置 node 环境,本示例环境:node v22.4.0
    2、在终端中运行如下命令:

    cd ${工程目录}
    npx @modelcontextprotocol/inspector uv run qiniu-mcp-server
    

    3、启动后,终端中会展示链接 URL,然后在浏览器中访问此 URL,一般是:http://localhost:5173
    4、在界面中点击 connect,connect 之后就可以列举资源了。
    a.png


    3.2 通过 Cline 验证 MCP Server

    通过 Cline 可以通过与 AI 大模型聊天的方式来操作 qiniu mcp,接下来展示怎么通过 Cline 进行操作。
    下述演示是通过在 vscode 中下载 Cline 插件的方式进行的。
    1、首先下载 vscode,在 vscode 中搜索 Cline 插件并安装:
    b.png

    2、安装成功后,需要在 Cline 配置大模型,可以按需指定并配置模型(如 deekseek OpenRounter 等)
    c.png

    3、大模型配置完成之后,开始配置 mcp server,如下图
    d.png
    配置信息参考:

    {
      "mcpServers": {
        "autoApprove"{
        },
        "qiniu": {
          "command": "uv",
          "args": [
            "--directory",
            "项目代码绝对目录",
            "run",
            "qiniu-mcp-server"
          ],
          "disabled": false
        }
      }
    }
    

    注:
    autoApprove 可以不配置,项目运行后会自动生成。

    4、当前配置完成,我们可以在聊天界面通过聊天方式操作七牛云存储了,下面给出一些示例:

    • 请列举 qiniu 下以 xxx 为前缀的空间
    • 请列举 qiniu 下 xxx 空间中以 yyy 为前缀的文件
    • 继续列举示例:上次列举只列举了部分文件,请继续帮我列举剩下的文件
    • 读取下 qiniu 下 xxx 空间中以 yyy 文件内容
      e.png
    以上内容是否对您有帮助?
  • Qvm free helper
    Close