配置说明
本文档详细说明 Skill 模式的环境变量配置和连接模式设置。
环境变量
通用配置
| 变量名 | 必需 | 说明 | 默认值 |
|---|---|---|---|
API_KEY | ✅ | 360 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_URL | ❌ | HTTP API 端点 | https://mcp.yunpan.com/mcp |
MCP_HTTP_TIMEOUT | ❌ | HTTP 超时时间(秒) | 30 |
npx 模式
| 变量名 | 必需 | 说明 | 默认值 |
|---|---|---|---|
MCP_NPX_PACKAGE | ❌ | npm 包名 | @qihoo360/ecs-mcp-server@latest |
local 模式
| 变量名 | 必需 | 说明 | 默认值 |
|---|---|---|---|
MCP_SERVER_DIR | ✅ | MCP 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 工具失败: ..."
}
下一步
- 工具参数 - 所有工具的详细参数说明
- Skill 模式介绍 - Skill 模式的概述和快速开始
- MCP Server 文档 - MCP Server 的完整文档