基于 MCP 使用大模型访问对象存储 Kodo
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 之后就可以列举资源了。
3.2 通过 Cline 验证 MCP Server
通过 Cline 可以通过与 AI 大模型聊天的方式来操作 qiniu mcp,接下来展示怎么通过 Cline 进行操作。
下述演示是通过在 vscode 中下载 Cline 插件的方式进行的。
1、首先下载 vscode,在 vscode 中搜索 Cline 插件并安装:
2、安装成功后,需要在 Cline 配置大模型,可以按需指定并配置模型(如 deekseek OpenRounter 等)
3、大模型配置完成之后,开始配置 mcp server,如下图
配置信息参考:
{
"mcpServers": {
"autoApprove"{
},
"qiniu": {
"command": "uv",
"args": [
"--directory",
"项目代码绝对目录",
"run",
"qiniu-mcp-server"
],
"disabled": false
}
}
}
注:
autoApprove 可以不配置,项目运行后会自动生成。
4、当前配置完成,我们可以在聊天界面通过聊天方式操作七牛云存储了,下面给出一些示例:
- 请列举 qiniu 下以 xxx 为前缀的空间
- 请列举 qiniu 下 xxx 空间中以 yyy 为前缀的文件
- 继续列举示例:上次列举只列举了部分文件,请继续帮我列举剩下的文件
- 读取下 qiniu 下 xxx 空间中以 yyy 文件内容