跳到主要内容

配置说明

本文档详细说明 Skill 模式的环境变量配置和连接模式设置。

环境变量

通用配置

变量名必需说明默认值
API_KEY360 AI云盘 API 密钥-
ECS_ENV环境配置(prod/test)prod
SUB_CHANNEL渠道配置open

动态鉴权(多用户场景)

变量名必需说明优先级
MCP_API_KEY动态 API 密钥(覆盖 API_KEY)最高
MCP_ECS_ENV动态环境配置(覆盖 ECS_ENV)最高
MCP_SUB_CHANNEL动态渠道配置(覆盖 SUB_CHANNEL)最高

动态鉴权说明:

  • 优先级:MCP_* 环境变量 > 普通环境变量 > .env 文件配置
  • 适用于多用户场景,每次调用前设置不同的鉴权信息
  • HTTP 模式下通过 Header 传递,不暴露在 URL 中

连接模式

变量名必需说明默认值
MCP_MODE连接模式(http/npx/local)http

HTTP 模式

变量名必需说明默认值
MCP_HTTP_URLHTTP API 端点https://mcp.yunpan.com/mcp
MCP_HTTP_TIMEOUTHTTP 超时时间(秒)30

npx 模式

变量名必需说明默认值
MCP_NPX_PACKAGEnpm 包名@qihoo360/ecs-mcp-server@latest

local 模式

变量名必需说明默认值
MCP_SERVER_DIRMCP Server 工作目录-

连接模式说明

HTTP 模式(推荐)

通过 HTTP API 与 MCP Server 通信,无需本地安装 MCP Server。

配置示例:

MCP_MODE=http
MCP_HTTP_URL=https://mcp.yunpan.com/mcp
MCP_HTTP_TIMEOUT=30

优势:

  • 最简单的配置方式
  • 无需本地安装 Node.js
  • 适合生产环境
  • 支持动态鉴权(通过 HTTP Header)

鉴权方式: HTTP 模式通过 HTTP Header 传递鉴权信息:

X-API-Key: your_api_key
X-ECS-Env: prod
X-Sub-Channel: open

npx 模式

使用 npx 从 npm 下载并运行 MCP Server。

配置示例:

MCP_MODE=npx
MCP_NPX_PACKAGE=@qihoo360/ecs-mcp-server@latest

前提条件:

  • Node.js >= 21.0.0
  • 网络连接(用于下载 npm 包)

优势:

  • 自动获取最新版本
  • 无需手动构建 MCP Server

劣势:

  • 首次运行需要下载包
  • 需要网络连接

local 模式

本地运行 MCP Server,适合开发调试。

配置示例:

MCP_MODE=local
MCP_SERVER_DIR=/path/to/ecs_mcp

前提条件:

  • 已构建 MCP Server(npm run build
  • Node.js >= 21.0.0

优势:

  • 完全本地运行,无需网络
  • 适合开发和调试
  • 可以修改代码后立即测试

劣势:

  • 需要手动构建 MCP Server
  • 需要配置工作目录

配置文件

.env 文件

在 Skill 目录下创建 .env 文件来配置环境变量:

# 必需的 API 密钥
API_KEY=your-api-key-here

# 环境配置
ECS_ENV=prod
SUB_CHANNEL=open

# 连接模式(推荐 HTTP)
MCP_MODE=http
MCP_HTTP_URL=https://mcp.yunpan.com/mcp
MCP_HTTP_TIMEOUT=30

.env.example 文件

提供配置示例,方便用户参考:

# API 密钥(必需)
API_KEY=your_api_key_here

# 环境配置
ECS_ENV=prod
SUB_CHANNEL=open

# 连接模式:http(推荐)、npx、local
MCP_MODE=http

# HTTP 模式配置
MCP_HTTP_URL=https://mcp.yunpan.com/mcp
MCP_HTTP_TIMEOUT=30

# npx 模式配置
# MCP_NPX_PACKAGE=@qihoo360/ecs-mcp-server@latest

# local 模式配置
# MCP_SERVER_DIR=/path/to/ecs_mcp

动态鉴权使用示例

单用户场景(静态配置)

.env 文件中配置:

API_KEY=your_static_api_key
ECS_ENV=prod

多用户场景(动态鉴权)

每次调用前设置环境变量:

# 用户1调用
MCP_API_KEY=user1_key python3 executor.py user-info

# 用户2调用
MCP_API_KEY=user2_key python3 executor.py file-list path=/

# 用户3调用(带环境配置)
MCP_API_KEY=user3_key MCP_ECS_ENV=test python3 executor.py file-search key=文档

服务器集成示例

在服务器端,可以根据用户会话动态设置鉴权信息:

import os
import subprocess
import json

def execute_tool_for_user(user_id, tool_name, **kwargs):
# 从数据库获取用户的 API Key
user_api_key = get_user_api_key(user_id)

# 设置环境变量
env = os.environ.copy()
env['MCP_API_KEY'] = user_api_key
env['MCP_ECS_ENV'] = 'prod'

# 执行工具
result = subprocess.run(
['python3', 'executor.py', tool_name] + [f'{k}={v}' for k, v in kwargs.items()],
env=env,
capture_output=True,
text=True
)

return json.loads(result.stdout)

系统依赖

Python 依赖

pip install -r requirements.txt

requirements.txt 内容:

python-dotenv>=1.0.0
requests>=2.31.0

注意: 需要 Python >= 3.10

Node.js 依赖

  • HTTP 模式:无需 Node.js
  • npx 模式:Node.js >= 21.0.0
  • local 模式:Node.js >= 21.0.0

配置验证

测试连接

# 进入 Skill 目录
cd ~/.claude/skills/360-cloud-disk

# 测试用户信息
python3 executor.py user-info

# 测试文件列表
python3 executor.py file-list path=/

验证输出

成功输出示例:

{
"success": true,
"result": {
"content": [
{
"type": "text",
"text": "用户信息获取成功!\n昵称: 3371683119\n会员: 是(高级会员)..."
}
],
"userInfo": {...}
}
}

错误输出示例:

{
"success": false,
"error": "执行 MCP 工具失败: ..."
}

下一步