Racore Cloud CDN MCP Server
Racore Cloud CDN MCP Server
一个基于 Model Context Protocol (MCP) 的 Racore Cloud CDN 管理工具,让 AI 助手(如 Kiro、Claude Desktop、Cursor 等)能够直接管理你的 CDN 加速域名。
功能概览
分类 | 工具数量 | 功能 |
域名操作 | 6 | 创建/启用/停用/删除域名、获取域名列表、一键快速创建 |
域名配置 | 45+ | 源站、HTTPS、压缩、IPv6、缓存、访问控制、协议等全部配置的查询和修改 |
证书管理 | 5 | 申请/上传/更新/查询证书 |
内容管理 | 6 | 预热/刷新内容及状态查询 |
统计分析 | 12 | 流量、请求数、状态码、Top 域名/URL/Referer/UA、命中率、一键全部查询 |
日志管理 | 1 | 日志下载列表 |
工单管理 | 9 | 工单完整生命周期管理 |
亮点功能
一键创建域名 (
quick_create_domain):只需提供域名和源站,自动匹配/申请 SSL 证书一键查询全部配置 (
query_all_domain_config):一次调用获取域名所有配置信息一键查询全部统计 (
query_all_statistics):一次调用获取域名所有统计数据(流量、请求数、命中率、状态码、Top排行等)智能状态检查:修改配置前自动检查域名状态,state=6 时自动等待(30秒×3次),超时后返回详细等待日志
智能等待部署:配置修改时若域名正在部署中(state=6),自动等待最长 90 秒直到就绪
自动证书申请:创建域名时若无匹配证书,自动申请泛域名证书并返回 DNS 验证信息
环境要求
Node.js >= 18.0.0
Racore Cloud 账号:需要 Access Key 和 Secret Key(获取方式)
安装步骤
1. 克隆项目
git clone https://github.com/yingcaihuang/racorecloud-mcp.git
cd racorecloud-mcp或者直接下载 ZIP 解压:
cd ~/Downloads/racorecloud-mcp2. 安装依赖
npm install3. 验证安装
node --check index.mjs && echo "✅ 安装成功"配置 MCP 客户端
方式一:Kiro IDE
在 Kiro 中配置 MCP Server,编辑配置文件:
项目级配置(仅当前项目生效):
.kiro/settings/mcp.json全局配置(所有项目生效):
~/.kiro/settings/mcp.json添加以下内容:
{
"mcpServers": {
"racore-cdn": {
"command": "node",
"args": ["/你的路径/racorecloud-mcp/index.mjs"],
"env": {
"RACORE_ACCESS_KEY": "你的 Access Key",
"RACORE_SECRET_KEY": "你的 Secret Key"
},
"disabled": false
}
}
}⚠️ 注意:
args中必须使用 绝对路径,不支持相对路径或cwd字段。
方式二:Claude Desktop
编辑 Claude Desktop 配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"racore-cdn": {
"command": "node",
"args": ["/你的路径/racorecloud-mcp/index.mjs"],
"env": {
"RACORE_ACCESS_KEY": "你的 Access Key",
"RACORE_SECRET_KEY": "你的 Secret Key"
}
}
}
}方式三:Cursor
在 Cursor 的 Settings → MCP Servers 中添加,或编辑 .cursor/mcp.json:
{
"mcpServers": {
"racore-cdn": {
"command": "node",
"args": ["/你的路径/racorecloud-mcp/index.mjs"],
"env": {
"RACORE_ACCESS_KEY": "你的 Access Key",
"RACORE_SECRET_KEY": "你的 Secret Key"
}
}
}
}方式四:Amazon Q Developer (Quick Desktop)
复制项目中的
mcp.json文件内容(修改路径和密钥后):
{
"mcpServers": {
"racore-cdn": {
"command": "node",
"args": ["/你的路径/racorecloud-mcp/index.mjs"],
"env": {
"RACORE_ACCESS_KEY": "你的 Access Key",
"RACORE_SECRET_KEY": "你的 Secret Key"
}
}
}
}打开 Amazon Q Developer Desktop 的 Settings
进入 Capabilities 选项卡
找到 MCP Server 区域,点击 Add MCP Server
类型选择 Local
点击 Paste JSON,粘贴上面的 JSON 内容
保存后 MCP Server 会自动连接
💡 提示:也可以直接将
mcp.json文件放在项目根目录,Amazon Q 会自动识别。
验证配置
配置完成后,在 AI 助手中尝试:
"查询我的 CDN 域名列表"
如果返回域名信息,说明配置成功。
远程 MCP Server(HTTP 模式)
除了上面的本地 stdio 方式,本项目还支持部署为远程 HTTP MCP Server,供支持 Remote MCP 的客户端(如 Amazon Quick、Cursor 等)通过 URL 连接。两种模式并存,互不影响。
启动 HTTP Server
npm run start:http默认监听 3000 端口(可通过环境变量 PORT 修改)。端点:
POST http(s)://<主机>/racorecdn/mcp # MCP 协议入口
GET http(s)://<主机>/racorecdn/health # 健康检查💡 HTTP 模式采用多租户设计:凭证由客户端在请求 header 中携带,服务端不存储任何密钥。每个租户用自己的 Access/Secret Key,互相隔离。
客户端配置(Remote MCP)
在支持 Remote MCP 的客户端里,粘贴以下 JSON 配置(把 URL 和密钥换成你自己的):
{
"mcpServers": {
"racore-remote-mcp": {
"url": "https://racore-mcp.verycloud.cn/racorecdn/mcp",
"headers": {
"X-Racore-Access-Key": "你的 Access Key",
"X-Racore-Secret-Key": "你的 Secret Key"
}
}
}
}本地测试时 URL 用 http://127.0.0.1:3000/racorecdn/mcp。
⚠️ 注意:
凭证通过
X-Racore-Access-Key/X-Racore-Secret-Key两个 header 传递,不是Authorization。生产环境务必使用 HTTPS(凭证走 header 明文传输),建议前置 Nginx/反向代理做 TLS 终止。
部署
项目内置 Dockerfile、docker-compose.yml(含 Nginx 反向代理)和 GitHub Actions 工作流(.github/workflows/deploy.yml),支持构建镜像推送到 GHCR 并自动部署。证书目录默认挂载自宿主机 /etc/cert/。
获取 API 密钥
进入个人中心 → API 密钥管理
复制 Access Key 和 Secret Key
使用示例
一键创建加速域名
"帮我添加 v2.bbv.cfai.work 源站为 www2.myccdn.info 的加速"
工具会自动:
判断源站类型(IP 或域名)
查找匹配的 SSL 证书
如果没有证书 → 自动申请泛域名证书(DNS 验证方式),等待数秒后返回 CNAME 验证记录
返回的信息包含:证书 ID、验证 CNAME 主机记录和记录值、操作步骤指引
添加 DNS 验证记录后,证书签发(通常 5-30 分钟),再次调用即可完成创建
如果有证书 → 直接创建域名并开启 SSL
查询域名全部配置
"查询 v1.bbv.cfai.work 的全部配置"
一次返回源站、HTTPS、压缩、缓存、访问控制等所有配置信息。
修改域名配置
"把 v1.bbv.cfai.work 的 HTTP/2 开启"
工具会:
先检查域名状态(必须是 state=1 启用中)
如果正在部署中(state=6)→ 自动等待 30 秒后重试,最多重试 3 次(最长等 90 秒)
等待期间输出进度日志,如:
⏳ 域名正在配置发布中,等待 30 秒后重试 (1/3)...就绪后自动执行配置修改;超时则返回详细等待过程说明
统计查询
"查询 v1.bbv.cfai.work 的所有统计数据"
一次调用返回全部统计:流量、请求数、地区分布、缓存命中率、HTTP 状态码、Top URL/Referer/UA。
"查询这个月的 CDN 流量 Top 域名"
"查询 v1.bbv.cfai.work 昨天的请求数"
内容刷新
"刷新 https://v1.bbv.cfai.work/index.html 的缓存"
证书管理
"查看我的证书列表"
"为 *.newdomain.com 申请 SSL 证书"
工单管理
"创建一个工单,标题是'域名配置异常',内容是..."
"查看我的工单列表"
完整工具列表
域名操作 (domain-operations)
工具名 | 说明 |
| 一键快速创建 CDN 加速域名(自动匹配/申请证书) |
| 创建 CDN 加速域名(完整参数版) |
| 启用已关闭的域名 |
| 停用已启用的域名 |
| 删除已关闭的域名 |
| 获取域名列表 |
域名配置 (domain-config)
工具名 | 说明 |
| 一键查询域名全部配置 |
| 查询/设置源站配置 |
| 查询/设置回源 Host |
| 查询/设置回源协议 |
| 查询/设置 HTTPS |
| 查询/设置强制 HTTPS 跳转 |
| 查询/设置 HTTP/2 |
| 查询/设置 HTTP/3 |
| 查询/设置最低 TLS 版本 |
| 查询/设置智能压缩 |
| 查询/设置 IPv6 |
| 查询/设置缓存策略 |
| 查询/设置 IP 黑白名单 |
| 查询/设置 Referer 黑白名单 |
| 查询/设置 UA 黑白名单 |
| 查询/设置 HTTP 响应头 |
| 查询/设置回源请求头 |
| 查询/设置回源超时(AWS) |
| 查询/设置地理访问控制(AWS) |
| 查询国家/地区代码数据 |
| 获取 AWS 缓存策略列表 |
| AWS 回源请求头策略 |
| AWS 响应头策略 |
证书管理 (certificate)
工具名 | 说明 |
| 申请 AWS 证书 |
| 获取证书验证信息 |
| 上传证书 |
| 更新证书 |
| 获取证书列表 |
内容管理 (content-management)
工具名 | 说明 |
| 刷新缓存内容 |
| 查询刷新状态 |
| 预热内容 |
| 查询预热状态 |
| 获取预热区域 |
| 获取 POP 节点列表 |
统计分析 (statistics)
工具名 | 说明 |
| 一键查询全部统计数据(流量、请求数、命中率、状态码、Top 排行) |
| 查询 CDN 流量 |
| 查询地区流量分布 |
| 查询请求数 |
| 查询 HTTP 状态码汇总 |
| 查询 HTTP 状态码详情 |
| Top 域名排行 |
| Top URL 排行 |
| Top Referer 排行 |
| Top UA 排行 |
| 缓存命中流量 |
| 缓存命中请求数 |
日志管理 (log-management)
工具名 | 说明 |
| 获取日志下载列表 |
工单管理 (workorder)
工具名 | 说明 |
| 获取工单类型 |
| 创建工单 |
| 获取工单列表 |
| 取消工单 |
| 关闭工单 |
| 重新打开工单 |
| 删除工单 |
| 获取工单沟通记录 |
| 发送工单消息 |
项目结构
racorecloud-mcp/
├── index.mjs # 入口文件:MCP Server 初始化
├── auth.mjs # 认证模块:HMAC-SHA512 签名 + Token 缓存
├── api-client.mjs # API 客户端:HTTP 请求封装(GET/POST/PUT/DELETE)
├── validators.mjs # 参数校验器:时间格式、范围验证
├── tools/
│ ├── domain-operations.mjs # 域名操作(创建/启用/停用/删除)
│ ├── domain-config.mjs # 域名配置(全部查询/设置工具)
│ ├── certificate.mjs # 证书管理
│ ├── content-management.mjs # 内容刷新/预热
│ ├── cdn-traffic.mjs # CDN 流量查询
│ ├── region-traffic.mjs # 地区流量查询
│ ├── request-count.mjs # 请求数查询
│ ├── statistics.mjs # 其他统计工具
│ ├── log-management.mjs # 日志管理
│ └── workorder.mjs # 工单管理
├── package.json
└── mcp.json # MCP 配置示例常见问题
Q: 提示 "环境变量未设置"
确保在 MCP 配置的 env 中正确填写了 RACORE_ACCESS_KEY 和 RACORE_SECRET_KEY。
Q: 工具调用返回 "No route found"
部分接口可能在你的账户套餐中不可用。这不影响其他工具的使用。
Q: 修改配置提示 "配置发布中"
工具会自动等待域名部署完成(最长 90 秒),期间会输出等待进度。如果超时仍未就绪,会返回完整的等待过程日志。你可以稍后再试,或通过 get_domain_list 查看域名状态。
Q: 一键创建域名提示需要 DNS 验证
首次使用某个新的域名后缀时,需要申请 SSL 证书。按照返回的 CNAME 记录添加 DNS 后,等待证书签发,再次调用即可。
Q: 如何在多个客户端之间共享配置?
将项目路径和密钥写入各客户端的 MCP 配置文件即可。密钥建议通过环境变量注入,避免明文存储。
技术规格
运行时: Node.js 18+
模块系统: ES Module (.mjs)
协议: MCP (Model Context Protocol) via stdio
认证: HMAC-SHA512 签名 + Bearer Token(自动缓存和刷新)
超时: 所有 API 请求 30 秒超时
重试: 401 自动重新认证并重试一次
API 基础地址: https://portal.racorecloud.com
License
MIT