README
🚀 Spinnaker 的 MCP 服务器
此包为 Spinnaker 集成提供了 Model Context Protocol (MCP) 服务器实现,让 AI 模型能借助标准化的 MCP 接口,与 Spinnaker 的部署、管道和应用进行交互,极大提升了软件部署流程的智能化水平。
🚀 快速开始
本 MCP 服务器可助力 AI 模型与 Spinnaker 集成,以下是简单的使用步骤:
- 完成服务器的安装(具体安装方式见“📦 安装指南”)。
- 按照“💻 使用示例”中的代码示例进行初始化和操作。
✨ 主要特性
AI 集成
这个 MCP 服务器展示了 Anthropic 新的 AI 模型 Claude 如何直接集成并增强软件部署流程,遵循 MCP 标准。Claude 可以访问丰富的上下文信息,了解 Spinnaker 应用、管道和部署的状态,并通过定义良好的工具主动管理它们。AI 驱动的 CI/CD 具备以下显著特性:
- 智能部署决策:AI 模型凭借对应用和管道状态的全面了解,能够分析并做出何时何地进行部署的明智决策。例如,Claude 可以查看测试覆盖率、代码变更情况和历史成功率,以确定最佳的部署时间和目标环境。
- 主动问题检测与自动修复:AI 会持续监控 CI/CD 进程,提前发现潜在问题。例如,Claude 发现新依赖版本存在已知漏洞时会自动创建拉取请求进行更新,或者注意到部署时间过长而主动增加资源以防止超时。
- 持续流程优化:每次部署后,AI 都会学习和适应,不断优化 CI/CD 进程。Claude 可以分析构建和部署日志,识别瓶颈并提出改进建议。
- 上下文更新:服务器自动维护关于 Spinnaker 部署的上下文信息,包括应用列表及其状态、管道状态、当前部署以及最近的管道执行情况。
📦 安装指南
可使用 npm 或 yarn 进行安装:
npm install @airjesus17/mcp-server-spinnaker
# 或者
yarn add @airjesus17/mcp-server-spinnaker
💻 使用示例
基础用法
import { SpinnakerMCPServer } from '@airjesus17/mcp-server-spinnaker';
// 创建 MCP 服务器实例
const server = new SpinnakerMCPServer({
gateUrl: 'http://localhost:8050', // 必填:Spinnaker Gate 服务 URL
port: 3000, // 可选:MCP 服务器端口,默认为 3000
});
// 启动服务器
await server.start();
高级用法
提供的工具
getApplications(): 获取所有 Spinnaker 应用。getPipelines(applicationId: string): 获取指定应用的所有管道。getDeployments(environment: string): 获取指定环境的所有部署。
📚 详细文档
环境变量配置
服务器可通过以下环境变量进行配置:
| 属性 | 详情 |
|------|------|
| GATE_URL | Spinnaker Gate 服务 URL |
| MCP_PORT | MCP 服务器运行的端口(默认:3000) |
| REFRESH_INTERVAL | 上下文刷新间隔(秒, 默认:30) |
类型定义
包导出了 TypeScript 类型以供使用:
import type {
SpinnakerApplication,
SpinnakerPipeline,
SpinnakerDeployment,
SpinnakerExecution
} from '@airjesus17/mcp-server-spinnaker';
开发
要贡献代码,可按以下步骤操作:
- 克隆仓库。
- 安装依赖:
yarn install。 - 构建项目:
yarn build。 - 运行测试:
yarn test。
📄 许可证
本项目采用 MIT License,详情请见 LICENSE。
Scan to join WeChat group