关于 MCP Server for Spinnaker
MCP Server for Spinnaker 将 AI 模型连接到 Spinnaker 应用、流水线和部署,提供部署上下文及查询应用、流水线和触发流水线的工具。
主要功能
- 01列出受监控应用及其状态
- 02获取应用的流水线
- 03触发流水线执行
- 04跟踪各环境中的部署
- 05定期刷新部署上下文
适用场景
- 01查看应用和流水线状态
- 02带参数启动流水线
- 03检查近期部署和执行记录
MCP 相关
该服务向 MCP 客户端提供 Spinnaker 应用和流水线数据、部署上下文,以及查询信息和触发流水线的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Spinnaker MCP 服务
此软件包提供用于 Spinnaker 集成的模型上下文协议(MCP)服务实现。它允许 AI 模型通过标准化的 MCP 接口与 Spinnaker 部署、流水线和应用交互。
AI 集成
此 MCP 服务展示了 Anthropic 的新 AI 模型 Claude 如何通过模型上下文协议直接集成并改进软件部署流程。遵循 MCP 标准后,Claude 可以获取有关 Spinnaker 应用、流水线和部署的丰富上下文信息,并使用定义明确的工具主动管理它们。
让我们深入了解此集成为 AI 驱动的 CI/CD 带来的一些令人振奋的可能性:
-
智能部署决策:借助应用和流水线状态的全面上下文信息,Claude 等 AI 模型可以分析这些信息,智能地决定何时以及如何部署。例如,Claude 可以参考测试覆盖率、代码变更频率和历史成功率等因素,确定部署的最佳时间和目标环境。
-
主动问题检测与自主修复:AI 模型可以持续监控 CI/CD 流程,在潜在问题造成影响之前发现它们。设想一下,Claude 检测到某个依赖项的新版本存在已知漏洞,并自动创建拉取请求来更新它;或者发现部署耗时比平时更长,并主动启动额外资源以避免超时。
-
持续优化流程:每次部署后,AI 模型都可以学习并调整,持续优化 CI/CD 流程。Claude 可以分析构建和部署日志以找出瓶颈,然后尝试不同的配置来提升速度和可靠性。随着时间推移,整个部署流程会变得更加高效、稳健。
-
自动化根因分析与恢复:问题发生时,AI 可以快速诊断问题,甚至尝试自主修复。Claude 可以关联系统不同部分的错误,找出最可能的根本原因,然后采取回滚到先前版本或应用已知补丁等纠正措施。
这些只是几个示例!随着模型上下文协议不断演进、更多集成不断构建,我们可以期待 AI 在 DevOps 领域承担日益复杂的角色。在整个 CI/CD 流水线中,AI 可以提供智能见解和建议,成为产品工程师的虚拟助手。
通过赋能 AI 与人类协作处理 CI/CD 流程,这个 Spinnaker 服务等 MCP 集成展示了 AI 如何成为开发者生产力基础设施中的主动、智能伙伴。这是迈向更高效、可靠且自主的软件交付的重要一步。
安装
npm install @airjesus17/mcp-server-spinnaker
或
yarn add @airjesus17/mcp-server-spinnaker
用法
import { SpinnakerMCPServer } from '@airjesus17/mcp-server-spinnaker';
// Initialize the server
const server = new SpinnakerMCPServer(
'https://your-gate-url',
['app1', 'app2'], // List of applications to monitor
['prod', 'staging'] // List of environments to monitor
);
// Start the server
const port = 3000;
server.listen(port, () => {
console.log(`Spinnaker MCP Server is running on port ${port}`);
});
可用工具
此服务提供以下工具,供 AI 模型与 Spinnaker 交互:
get-applications
获取受监控的 Spinnaker 应用列表及其当前状态。
// Example response
{
"success": true,
"data": [
{
"name": "myapp",
"description": "My application",
"pipelines": [
{
"id": "pipeline-1",
"name": "Deploy to Production",
"status": "SUCCEEDED"
}
]
}
]
}
get-pipelines
获取特定应用的所有流水线。
// Parameters
{
"application": "myapp"
}
// Example response
{
"success": true,
"data": [
{
"id": "pipeline-1",
"name": "Deploy to Production",
"status": "SUCCEEDED",
"stages": [...]
}
]
}
trigger-pipeline
触发特定应用的流水线执行。
// Parameters
{
"application": "myapp",
"pipelineId": "pipeline-1",
"parameters": {
"version": "1.2.3",
"environment": "production"
}
}
// Example response
{
"success": true,
"data": {
"ref": "01HFGH2J...",
"status": "RUNNING"
}
}
上下文更新
此服务会自动维护有关 Spinnaker 部署的上下文。上下文包括:
- 应用列表及其当前状态
- 每个应用的流水线状态
- 受监控环境中的当前部署
- 最近的流水线执行记录
默认情况下,上下文每 30 秒刷新一次。
环境变量
可以使用以下环境变量配置服务:
GATE_URL:Spinnaker Gate 服务的 URLMCP_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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。