Qiniu MCP Server

Acesse o armazenamento em nuvem, os serviços inteligentes de multimídia e as operações de CDN da Qiniu por meio do Model Context Protocol.

Documentação

Qiniu MCP Server

Resumo

Server Model Context Protocol (MCP) construído sobre os produtos da Qiniu Cloud, que permite aos usuários acessar o armazenamento da Qiniu Cloud, multimídia inteligente, serviços de transmissão ao vivo, etc., por meio deste MCP Server no contexto de clientes de grandes modelos de IA.

Conjunto de recursos:

  • Armazenamento
  • Multimídia Inteligente
    • Redimensionamento de imagens
    • Arredondamento de cantos de imagens
  • CDN
    • Atualizar arquivos por link
    • Pré-buscar arquivos por link
  • Transmissão ao Vivo
    • Criar bucket de espaço de transmissão ao vivo
    • Criar stream de transmissão ao vivo
    • Obter lista de espaços de transmissão ao vivo
    • Obter lista de streams
    • Vincular domínios de push e pull
    • Obter endereços de transmissão push/pull
    • Obter uso de transmissão ao vivo

Requisitos de Ambiente

  • Python 3.12 ou superior
  • Gerenciador de pacotes uv

Se o uv ainda não estiver instalado, use o seguinte comando para instalá-lo:

# 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"

Para instruções específicas de instalação, consulte Instalação do uv

Uso no Cline:

Passos:

  1. Baixe o plugin Cline no vscode (após o download, o ícone do Cline aparecerá na barra lateral)

  2. Configure o modelo de IA

  3. Configure o qiniu MCP

    1. Clique no ícone do Cline para entrar no plugin Cline e selecione o módulo MCP Server
    2. Selecione installed e clique em Advanced MCP Settings para configurar o MCP Server, consulte as informações de configuração abaixo
    {
      "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
        }
      }
    }
    
    1. Clique no interruptor de link do qiniu MCP Server para conectar
  4. Crie uma janela de chat no Cline; agora podemos interagir com a IA para usar o qiniu-mcp-server. Abaixo estão alguns exemplos de armazenamento de objetos:

    • Listar informações de recursos do qiniu
    • Listar todos os Buckets do qiniu
    • Listar arquivos do Bucket xxx no qiniu
    • Ler o conteúdo do arquivo yyy no Bucket xxx do qiniu
    • Recortar um canto arredondado de 200 pixels de largura na imagem yyy do Bucket xxx do qiniu
    • Atualizar este link CDN do qiniu: https://developer.qiniu.com/test.txt
  5. Crie uma janela de chat no Cline; agora podemos interagir com a IA para usar o qiniu-mcp-server. Abaixo estão alguns exemplos do sistema de transmissão ao vivo:

    • Listar todos os espaços de transmissão ao vivo
    • Criar um novo espaço de transmissão ao vivo chamado mcptest1123
    • Criar um novo stream chamado stream1 para mcptest1123
    • Listar todos os streams no espaço de transmissão ao vivo mcptest1123
    • Vincular o domínio de push e o domínio de pull para mcptest1123
    • Obter os endereços de push e pull do stream stream1 em mcptest1123
    • Obter o uso de transmissão ao vivo da última 1 hora

Nota: A criação de MCP Server no cursor pode usar diretamente a configuração acima. Ao usar no claude, você pode encontrar o erro: Error: spawn uvx ENOENT. Solução: preencha o caminho absoluto do uvx no parâmetro command, ex: /usr/local/bin/uvx

Desenvolvimento

  1. Clone o repositório:
# 克隆项目并进入目录
git clone git@github.com:qiniu/qiniu-mcp-server.git
cd qiniu-mcp-server
  1. Crie e ative o ambiente virtual:
uv venv
source .venv/bin/activate  # Linux/macOS
# 或
.venv\Scripts\activate  # Windows
  1. Instale as dependências:
uv pip install -e .
  1. Configuração

Copie o modelo de variáveis de ambiente:

cp .env.example .env

Edite o arquivo .env e configure os seguintes 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 estendidas, primeiro crie um novo diretório de pacote de negócios no diretório core (ex: armazenamento -> storage) e conclua a extensão de funcionalidade neste diretório de pacote de negócios. No arquivo __init__.py no diretório do pacote de negócios, defina a função load para registrar ferramentas ou recursos de negócios. Finalmente, chame esta função load em __init__.py no diretório core para concluir o registro de ferramentas ou recursos.

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

Testes

Teste com o Model Control Protocol Inspector

É altamente recomendável usar o Model Control Protocol Inspector para testes.

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

Exemplo de inicialização local do MCP Server

  1. Inicie no modo de entrada/saída padrão (stdio) (padrão):
uv --directory . run qiniu-mcp-server
  1. Inicie no modo SSE (para aplicações Web):
uv --directory . run qiniu-mcp-server --transport sse --port 8000