CAST AI MCP桥
用于CAST AI模型上下文协议(MCP)服务器的OpenAPI桥-将CAST AI连接到ChatGPT操作和其他OpenAPI客户端
此桥将CAST AI MCP服务器公开为具有OpenAPI 3.1.0规范的标准REST API,从而实现与ChatGPT操作、自定义GPT和任何与OpenAPI兼容的工具的集成。
🎯 特性
- ✅ 符合OpenAPI 3.1.0标准 -具有完整规范的标准REST API
- ✅ ChatGPT操作就绪 -直接导入ChatGPT GPT生成器
- ✅ 300多个CAST AI端点 -通过干净的REST接口完全访问平台
- ✅ 成本优化 -集群成本报告、节约建议、工作量成本
- ✅ 安全与合规 -漏洞扫描、最佳实践、攻击路径
- ✅ 负载管理 -效率跟踪、自动缩放、非计划吊舱
- ✅ 节点操作 -群集节点、有问题的节点、节点配置
- ✅ Docker就绪 -带健康检查的生产就绪容器
- ✅ TypeScript -型号齐全,可靠性和可维护性高
📋 先决条件
- Node.js 18+(或Docker)
- 具有API密钥的CAST AI帐户(在这里买一个)
- (可选)用于GPT操作的ChatGPT Plus帐户
🚀 快速开始
方案1:地方发展
- 克隆和设置
cd openapi-bridge
npm install- 配置环境
cp .env.example .env编辑 .env 并添加您的CAST AI API密钥:
CASTAI_API_KEY=your-cast-ai-api-key-here
CASTAI_API_BASE=https://api.cast.ai
PORT=3000- 运行开发服务器
npm run dev大桥将于 http://localhost:3000
选项2:Docker
- 使用Docker Compose构建和运行
# Create .env file with your API key
cp .env.example .env
# Edit .env and add your CAST AI API key
# Start the container
docker-compose up -d- 检查状态
docker-compose ps
docker-compose logs -f castai-bridge大桥将于 http://localhost:3000
📊 可用端点
核心资源
| 端点 | 方法 | 描述 |
|---|---|---|
/organizations | GET | 列出用户组织 |
/clusters | GET | 列出所有集群 |
/clusters/{id} | GET | 获取集群详细信息 |
/clusters/{id}/summary | GET | 获取集群摘要(成本、节点、效率) |
成本优化
| 端点 | 方法 | 描述 |
|---|---|---|
/clusters/{id}/cost-report | GET | 集群成本明细 |
/clusters/{id}/estimated-savings | GET | 可用的节省建议 |
/clusters/{id}/workload-costs | GET | 按工作量计算的成本 |
/organization/daily-cost | GET | 全组织日常成本 |
安全
| 端点 | 方法 | 描述 |
|---|---|---|
/security/images | GET | 列出存在漏洞的容器映像 |
/security/images/{tagId}/vulnerabilities | GET | 映像的详细漏洞 |
/security/best-practices | GET | 最新合规报告 |
/security/overview | GET | 安全概述(漏洞、最佳实践、攻击路径) |
工作量
| 端点 | 方法 | 描述 |
|---|---|---|
/clusters/{id}/workloads | GET | 列出集群工作负载 |
/clusters/{id}/workload-efficiency | GET | 工作负载效率指标 |
/clusters/{id}/unscheduled-pods | GET | 无法调度的Pod |
节点
| 端点 | 方法 | 描述 |
|---|---|---|
/clusters/{id}/nodes | GET | 列出群集节点 |
/clusters/{id}/problematic-nodes | GET | 有问题的节点 |
MCP工具(高级)
| 端点 | 方法 | 描述 |
|---|---|---|
/mcp/specs | GET | 列出所有MCP API规范 |
/mcp/endpoints | GET | 列出规范的端点 |
/mcp/endpoint-details | POST | 获取详细的端点信息 |
/mcp/search | GET | 搜索所有规格 |
/mcp/execute | POST | 执行MCP API直接调用 |
系统
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 健康检查端点 |
/openapi.json | GET | OpenAPI 3.1.0规范 |
🔐 认证
所有端点都需要CAST AI API身份验证。在其中一个标头中提供API密钥:
X-CASTAI-API-Key: your-api-key-here或者:
X-API-Key: your-api-key-here或者:
Authorization: Bearer your-api-key-here🧪 测试桥梁
1.健康检查
curl http://localhost:3000/health预期响应:
{
"status": "ok",
"timestamp": "2025-11-07T10:00:00.000Z",
"castaiBase": "https://api.cast.ai"
}2.列出组织
curl -H "X-CASTAI-API-Key: YOUR_KEY" http://localhost:3000/organizations3.获取集群摘要
curl -H "X-CASTAI-API-Key: YOUR_KEY" http://localhost:3000/clusters/YOUR_CLUSTER_ID/summary4.获取成本报告
$startTime = "2025-11-01T00:00:00Z"
$endTime = "2025-11-07T23:59:59Z"
curl -H "X-CASTAI-API-Key: YOUR_KEY" "http://localhost:3000/clusters/YOUR_CLUSTER_ID/cost-report?startTime=$startTime&endTime=$endTime"🤖 连接到ChatGPT操作
请参阅中的详细指南 CHATGPT_INTEGRATION.md 获取分步说明。
快速摘要:
- 部署网桥 指向可公开访问的URL(或使用ngrok进行测试)
- 打开ChatGPT 并创建新的GPT
- 添加操作 → 从URL导入→
https://your-bridge.example.com/openapi.json - 配置身份验证 → API密钥→ 标题名称:
X-CASTAI-API-Key - 测试 您的GPT查询如下:
- “我有什么集群?” - “显示群集X的成本报告” - “我的集群预计可以节省多少?”
🏗️ 项目结构
openapi-bridge/
├── src/
│ └── server.ts # Main Express server with all routes
├── openapi-spec.yaml # OpenAPI 3.1.0 specification
├── package.json # Node.js dependencies
├── tsconfig.json # TypeScript configuration
├── Dockerfile # Docker container definition
├── docker-compose.yml # Docker Compose configuration
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
└── README.md # This file🔧 配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
PORT | 服务器端口 | 3000 |
NODE_ENV | 环境 | development |
CASTAI_API_BASE | CAST AI API基础URL | https://api.cast.ai |
CASTAI_API_KEY | 您的CAST AI API密钥 | 必需 |
LOG_LEVEL | 日志记录级别 | info |
RATE_LIMIT | 每分钟请求数 | 100 |
CAST AI区域
- 美国:
https://api.cast.ai - 欧盟:
https://api.eu.cast.ai
更新 CASTAI_API_BASE 在你的 .env 文件相应。
🚢 部署
选项1:云平台(建议用于生产)
部署到Render.com(免费层可用)
- 将代码推送到GitHub
- 将Render.com连接到您的存储库
- 配置为Web服务
- 设置环境变量(尤其是
CASTAI_API_KEY) - 部署!
部署到Railway.app
# Install Railway CLI
npm install -g @railway/cli
# Login and deploy
railway login
railway init
railway up部署到Heroku
heroku create castai-mcp-bridge
heroku config:set CASTAI_API_KEY=your-key-here
git push heroku main选项2:自托管VPS
# SSH into your server
ssh user@your-server.com
# Clone and setup
git clone
cd openapi-bridge
npm install
npm run build
# Use PM2 for process management
npm install -g pm2
pm2 start dist/server.js --name castai-bridge
pm2 save
pm2 startup选项3:Kubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: castai-mcp-bridge
spec:
replicas: 2
selector:
matchLabels:
app: castai-bridge
template:
metadata:
labels:
app: castai-bridge
spec:
containers:
- name: bridge
image: castai-mcp-bridge:1.0.0
ports:
- containerPort: 3000
env:
- name: CASTAI_API_KEY
valueFrom:
secretKeyRef:
name: castai-secret
key: api-key
livenessProbe:
httpGet:
path: /health
port: 3000
initialDelaySeconds: 10
periodSeconds: 30🛠️ 发展
构建TypeScript
npm run build在开发模式下运行(带热重新加载)
npm run devLint代码
npm run lintDocker开发
# Build image
docker build -t castai-mcp-bridge .
# Run container
docker run -p 3000:3000 --env-file .env castai-mcp-bridge
# View logs
docker logs -f 📝 API示例
获取过去7天的组织成本
const axios = require('axios');
const response = await axios.get('http://localhost:3000/organization/daily-cost', {
headers: {
'X-CASTAI-API-Key': 'your-key-here'
},
params: {
startTime: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString(),
endTime: new Date().toISOString()
}
});
console.log('Total Cost:', response.data.totalCost);获取具有关键漏洞的安全映像
import requests
response = requests.get(
'http://localhost:3000/security/images',
headers={'X-CASTAI-API-Key': 'your-key-here'},
params={'severityThreshold': 'CRITICAL'}
)
for image in response.json():
print(f"{image['name']}: {image['criticalVulnerabilities']} critical CVEs")获取非预定的Pod
curl -H "X-CASTAI-API-Key: your-key" \
http://localhost:3000/clusters/YOUR_CLUSTER_ID/unscheduled-pods | jq🔍 故障排除
大桥无法启动
- ✅ 检查端口3000是否可用
- ✅ 验证
.env文件存在且有效CASTAI_API_KEY - ✅ 检查Node.js版本(必须是18+)
- ✅ 跑
npm install确保安装了依赖项
API返回401未授权
- ✅ 在中验证API密钥是否正确
.env - ✅ 检查API密钥是否未过期
- ✅ 确保您使用的是正确的CAST AI区域(美国与欧盟)
API返回404未找到
- ✅ 验证集群ID是否存在于您的CAST AI帐户中
- ✅ 检查端点路径是否正确
- ✅ 确保您有权访问所请求的资源
Docker容器未通过健康检查
- ✅ 检查容器日志:
docker-compose logs castai-bridge - ✅ 验证环境变量是否设置正确
- ✅ 确保CAST AI API可从集装箱进入
🤝 贡献
欢迎投稿!请按照以下步骤操作:
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
🔗 资源
💡 用例
FinOps自动化
将CAST AI成本数据连接到ChatGPT,以进行自然语言成本分析和优化建议。
安全监控
创建一个GPT,用于监控容器漏洞并提供补救建议。
群集管理
通过ChatGPT构建用于管理Kubernetes集群的会话接口。
报告生成
根据需要自动生成成本、效率和安全报告。
工作流集成
通过标准REST API将CAST AI连接到Zapier、Make.com或自定义工作流。
🎓 后续步骤
- ✅ 连接到ChatGPT操作
- ✅ 探索 OpenAPI规范
- ✅ 结账 查询示例
- ✅ 加入 CAST人工智能社区
______________________________________________________________________
内置❤️ CAST人工智能社区
