返回市场
七牛MCP服务器

七牛MCP服务器

作者:qiniu31 星标更新:2025-11-24

项目介绍

Qiniu MCP Server

概述

基于Qiniu Cloud产品的模型上下文协议(MCP)服务器,支持用户在AI大模型客户端上下文中使用MCP访问Qiniu Cloud存储、智能多媒体服务等。

关于如何访问Qiniu Cloud存储的详细信息,请参阅使用MCP通过大型模型访问七牛云存储

功能集:

  • 存储
    • 获取桶列表
    • 从桶中检索文件列表
    • 上传本地文件并提供文件内容以供上传
    • 读取文件内容
    • 获取文件下载链接
  • 智能多媒体
    • 图像缩放
    • 图片圆角处理
  • CDN
    • 根据链接刷新文件
    • 根据链接检索文件
  • 直播流
    • 创建直播空间桶
    • 创建直播流
    • 获取直播空间列表
    • 获取流列表
    • 绑定推拉流域名
    • 获取推拉流直播地址
    • 获取直播流使用情况

环境要求

  • Python 3.12或更高版本
  • UV 包管理器

如果尚未安装UV,可以使用以下命令进行安装:

# Mac,推荐使用 brew 安装
brew install uv

# Linux & Mac
# 1. 安装
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. 安装完成后,请确保将软件包安装路径(包含 uv 和 uvx 可执行文件的目录)添加到系统的 PATH 环境变量中。
# 假设安装包路径为 /Users/xxx/.local/bin(见安装执行输出)
### 临时生效(当前会话),在当前终端中执行以下命令:
export PATH="/Users/xxx/.local/bin:$PATH"
### 永久生效(推荐),在当前终端中执行以下命令:
echo 'export PATH="/Users/xxx/.local/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

具体安装方法参考UV 安装

在Cline中使用:

步骤:

  1. 下载VSCode中的Cline插件(下载后,Cline图标将添加到侧边栏)
  2. 配置大模型
  3. 配置 qiniu MCP
    1. 点击Cline图标进入Cline插件,并选择MCP Server模块
    2. 选择已安装,点击高级MCP设置来配置MCP Server,参考以下配置信息
    {
      "mcpServers": {
        "qiniu": {
          "command": "uvx",
          "args": [
            "qiniu-mcp-server"
          ],
          "env": {
            "QINIU_ACCESS_KEY": "YOUR_ACCESS_KEY",
            "QINIU_SECRET_KEY": "YOUR_SECRET_KEY",
            "QINIU_REGION_NAME": "YOUR_REGION_NAME",
            "QINIU_ENDPOINT_URL": "YOUR_ENDPOINT_URL",
            "QINIU_BUCKETS": "YOUR_BUCKET_A,YOUR_BUCKET_B"
         },
          "disabled": false
        }
      }
    }
    
    1. 点击Qiniu MCP Server的连接开关以建立连接
  4. 在Cline中创建一个聊天窗口,我们可以与AI互动,使用qiniu mcp server。这里有一些对象存储的例子:
    • 列出Qiniu的资源信息
    • 列出Qiniu的所有桶
    • 列出Qiniu中xxx桶的文件
    • 读取qiniu xxx桶中yyy文件的内容
    • 将Qiniu xxx桶中yyy图像的角落裁剪成200像素宽
    • 刷新Qiniu的CDN链接:https://developer.qiniu.com/test.txt
  5. 在Cline中创建一个聊天窗口,我们可以与AI互动,使用qiniu mcp server。这里有一些直播系统例子:
    • 列出所有直播空间
    • 创建一个新的名为mcptest1123的直播空间
    • 为mcptest1123创建一个新的流,命名为stream1
    • 列出直播空间mcptest1123下的所有流
    • 绑定mcptest1123的流域名<your-push-domain>绑定播放域名<your-play-domain>
    • 获取mcptest1123下stream1对应的推送和拉取地址
    • 获取过去一小时的直播流使用情况

注意: 在光标处创建MCP Server可以直接使用上述配置。 当使用claude时,可能会遇到Error: spawn uvx ENOENT错误。解决办法:在命令中填入uvx的绝对路径作为参数,例如:/usr/local/bin/uvx

开发

  1. 克隆仓库:
# 克隆项目并进入目录
git clone git@github.com:qiniu/qiniu-mcp-server.git
cd qiniu-mcp-server
  1. 创建并激活虚拟环境:
uv venv
source .venv/bin/activate  # Linux/macOS
# 或
.venv\Scripts\activate  # Windows
  1. 安装依赖:
uv pip install -e .
  1. 配置

复制环境变量模板:

cp .env.example .env

编辑.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 # 例如:https://s3.your_region.qiniucs.com

# 配置 bucket,多个 bucket 使用逗号隔开,建议最多配置 20 个 bucket
QINIU_BUCKETS=bucket1,bucket2,bucket3

要扩展功能,首先在核心目录下添加一个新的业务包目录(例如:Storage -> Storage),并在该业务包目录下完成功能扩展。 在业务包目录的__init__.py文件中定义加载函数,注册业务工具或资源,最后在core目录下的__init__.py调用此加载函数,完成工具或资源的注册。

core
├── __init__.py # 各个业务工具或者资源加载
└── storage # 存储业务目录
    ├── __init__.py # 加载存储工具或者资源
    ├── resource.py # 存储资源扩展
    ├── storage.py # 存储工具类
    └── tools.py # 存储工具扩展

测试

使用模型控制协议检查器测试

强烈推荐使用模型控制协议检查器进行测试。

# node 版本为:v22.4.0
npx @modelcontextprotocol/inspector uv --directory . run qiniu-mcp-server

本地启动MCP Server示例

  1. 使用标准输入/输出(STDIO)模式启动(默认):
uv --directory . run qiniu-mcp-server
  1. 在SSE模式下启动(适用于Web应用):
uv --directory . run qiniu-mcp-server --transport sse --port 8000