Qiniu MCP Server
Accede al almacenamiento en la nube de Qiniu, a los servicios multimedia inteligentes y a las operaciones de CDN a través del Protocolo de Contexto de Modelo.
Documentación
Qiniu MCP Server
Resumen
Servidor de Model Context Protocol (MCP) construido sobre los productos de Qiniu Cloud, que permite a los usuarios acceder a Qiniu Cloud Storage, multimedia inteligente, servicios de streaming en vivo, etc., a través de este MCP Server dentro del contexto de clientes de modelos de IA de gran escala.
Conjunto de capacidades:
- Almacenamiento
- Obtener lista de Buckets
- Obtener lista de archivos en un Bucket
- Subir archivos locales, así como subir contenido de archivo proporcionado
- Leer contenido de archivos
- Obtener enlace de descarga de archivos
- Para más detalles sobre el acceso a Qiniu Cloud Storage, consulte Uso de modelos de gran escala para acceder a Qiniu Cloud Storage mediante MCP.
- Multimedia inteligente
- Redimensionar imágenes
- Recortar esquinas redondeadas en imágenes
- CDN
- Refrescar archivos mediante enlaces
- Precargar archivos mediante enlaces
- Streaming en vivo
- Crear bucket de espacio de transmisión en vivo
- Crear flujo de transmisión en vivo
- Obtener lista de espacios de transmisión en vivo
- Obtener lista de flujos
- Vincular dominios de push/pull de transmisión
- Obtener direcciones de transmisión push/pull
- Obtener uso de transmisión en vivo
Requisitos del entorno
- Python 3.12 o superior
- Gestor de paquetes uv
Si uv aún no está instalado, puede usar el siguiente comando para instalarlo:
# 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"
Consulte Instalación de uv para conocer el método de instalación específico.
Uso en Cline:
Pasos:
-
Descargue el plugin de Cline en VSCode (después de descargar el plugin de Cline, aparecerá un icono de Cline en la barra lateral)
-
Configure el modelo de IA
-
Configure qiniu MCP
- Haga clic en el icono de Cline para ingresar al plugin de Cline y seleccione el módulo MCP Server
- Seleccione "installed" y haga clic en "Advanced MCP Settings" para configurar el MCP Server, consulte la siguiente información de configuración
{ "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_ACCESS_KEY/QINIU_SECRET_KEY { "mcpServers": { "qiniu": { "command": "uvx", "args": [ "qiniu-mcp-server" ], "env": { "QINIU_ACCESS_KEY": "YOUR_ACCESS_KEY", "QINIU_SECRET_KEY": "YOUR_SECRET_KEY" }, "disabled": false } } } 2 可在七牛直播控制台获取apikey后,配置QINIU_LIVE_API_KEY { "mcpServers": { "qiniu": { "command": "uvx", "args": [ "qiniu-mcp-server" ], "env": { "QINIU_LIVE_API_KEY": "YOUR_LIVE_API_KEY" }, "disabled": false } } }- Haga clic en el interruptor de conexión del qiniu MCP Server para conectarse
-
Cree una ventana de chat en Cline; ahora podemos interactuar con la IA para usar qiniu-mcp-server. A continuación se muestran algunos ejemplos de almacenamiento de objetos:
- Enumerar la información de recursos de qiniu
- Enumerar todos los Buckets en qiniu
- Enumerar los archivos del Bucket xxx en qiniu
- Leer el contenido del archivo yyy en el Bucket xxx de qiniu
- Recortar una esquina redondeada de 200 píxeles de ancho en la imagen yyy del Bucket xxx de qiniu
- Refrescar este enlace CDN de qiniu: https://developer.qiniu.com/test.txt
-
Cree una ventana de chat en Cline; ahora podemos interactuar con la IA para usar qiniu-mcp-server. A continuación se muestran algunos ejemplos del sistema de transmisión en vivo:
- Enumerar todos los espacios de transmisión en vivo
- Crear 1 nuevo espacio de transmisión en vivo, denominado mcptest1123
- Crear 1 nuevo flujo para mcptest1123, denominado stream1
- Enumerar todos los flujos en el espacio de transmisión en vivo mcptest1123
- Vincular el dominio de push y el dominio de pull para mcptest1123
- Obtener las direcciones de push y pull correspondientes al flujo de transmisión en vivo stream1 en mcptest1123
- Obtener el uso de transmisión en vivo de la última 1 hora
Nota: La creación de un MCP Server en cursor puede usar directamente la configuración mencionada anteriormente. En claude, es posible que encuentre el error: Error: spawn uvx ENOENT. Solución: complete la ruta absoluta de uvx en el parámetro de comando, por ejemplo: /usr/local/bin/uvx
Desarrollo
- Clonar el repositorio:
# 克隆项目并进入目录
git clone git@github.com:qiniu/qiniu-mcp-server.git
cd qiniu-mcp-server
- Crear y activar el entorno virtual:
uv venv
source .venv/bin/activate # Linux/macOS
# 或
.venv\Scripts\activate # Windows
- Instalar dependencias:
uv pip install -e .
- Configuración
Copiar la plantilla de variables de entorno:
cp .env.example .env
Edite el archivo .env y configure los siguientes parámetros:
# 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
Para funcionalidades extendidas, primero cree un directorio de paquete de negocio bajo el directorio core (por ejemplo: almacenamiento -> storage), y complete la extensión de funcionalidad en este directorio de paquete de negocio.
En el archivo __init__.py dentro del directorio del paquete de negocio, defina la función load para registrar herramientas o recursos del negocio. Finalmente, llame a esta función load en el archivo __init__.py dentro del directorio core para completar el registro de herramientas o recursos.
core
├── __init__.py # 各个业务工具或者资源加载
└── storage # 存储业务目录
├── __init__.py # 加载存储工具或者资源
├── resource.py # 存储资源扩展
├── storage.py # 存储工具类
└── tools.py # 存储工具扩展
Pruebas
Prueba con Model Control Protocol Inspector
Se recomienda encarecidamente usar Model Control Protocol Inspector para las pruebas.
# node 版本为:v22.4.0
npx @modelcontextprotocol/inspector uv --directory . run qiniu-mcp-server
Ejemplo de inicio local del MCP Server
- Iniciar en modo de entrada/salida estándar (stdio) (predeterminado):
uv --directory . run qiniu-mcp-server
- Iniciar en modo SSE (para aplicaciones web):
uv --directory . run qiniu-mcp-server --transport sse --port 8000