项目简介
Spinnaker MCP Server 是一个基于 Model Context Protocol (MCP) 标准构建的服务器,旨在连接 AI 模型与 Spinnaker 持续集成/持续交付 (CI/CD) 平台。通过此服务器,AI 模型可以利用 MCP 协议提供的标准化接口,获取 Spinnaker 应用、流水线和部署的上下文信息,并使用预定义的工具来管理和操作 Spinnaker 资源,从而实现 AI 驱动的 CI/CD 流程自动化和智能化。
主要功能点
- 资源管理:提供对 Spinnaker 应用、流水线和部署状态的访问能力,使 LLM 能够感知 Spinnaker 环境的实时信息。
- 工具注册与执行:
- 'get-applications': 检索受监控的 Spinnaker 应用及其当前状态。
- 'get-pipelines': 获取指定应用的所有流水线信息。
- 'trigger-pipeline': 触发指定应用的流水线执行。
- 上下文更新:自动维护 Spinnaker 部署的上下文信息,包括应用列表、流水线状态、部署环境和最近的流水线执行记录,并定期刷新上下文数据。
- 环境配置:支持通过环境变量配置 Spinnaker Gate URL、MCP 服务器端口和上下文刷新间隔。
安装步骤
- 确保已安装 Node.js 和 npm 或 yarn。
- 使用 npm 或 yarn 安装 '@airjesus17/mcp-server-spinnaker' 包:
或npm install @airjesus17/mcp-server-spinnakeryarn add @airjesus17/mcp-server-spinnaker
服务器配置
MCP 客户端需要配置以下 JSON 格式的服务器信息以连接 Spinnaker MCP Server:
{ "serverName": "SpinnakerMCP", "command": "node dist/index.js", // MCP服务器的启动命令,根据实际情况调整 "args": [], "env": { "GATE_URL": "<Your Spinnaker Gate URL>", // 必需:你的 Spinnaker Gate 服务 URL "MCP_PORT": "3000", // 可选:MCP 服务器端口,默认为 3000 "REFRESH_INTERVAL": "30" // 可选:上下文刷新间隔(秒),默认为 30 } }
配置参数说明:
- 'serverName': 服务器名称,自定义即可。
- 'command': 启动 Spinnaker MCP Server 的命令。假设您的项目构建输出在 'dist' 目录,且入口文件为 'index.js',则可以使用 'node dist/index.js'。请根据实际情况调整启动命令。
- 'args': 启动命令的参数,本例中无需参数,故为空数组。
- 'env': 环境变量配置,包含以下键值对:
- 'GATE_URL': 必需。请替换为您的 Spinnaker Gate 服务的 URL。这是 Spinnaker MCP Server 连接 Spinnaker API 的地址。
- 'MCP_PORT': 可选。指定 MCP 服务器监听的端口号,默认为 '3000'。如果需要更改端口,请在此处设置。
- 'REFRESH_INTERVAL': 可选。设置上下文信息自动刷新的时间间隔,单位为秒,默认为 '30' 秒。您可以根据需求调整刷新频率。
注意:请将 '<Your Spinnaker Gate URL>' 替换为实际的 Spinnaker Gate 服务地址。 您可能还需要根据您的项目结构和部署方式调整 'command' 字段。
基本使用方法
- 在您的代码中,引入 'SpinnakerMCPServer' 类:
import { SpinnakerMCPServer } from '@airjesus17/mcp-server-spinnaker'; - 初始化 'SpinnakerMCPServer' 实例,并传入 Spinnaker Gate URL、需要监控的应用列表和环境列表:
const server = new SpinnakerMCPServer( 'https://your-gate-url', // 替换为您的 Spinnaker Gate URL ['app1', 'app2'], // 需要监控的 Spinnaker 应用列表 ['prod', 'staging'] // 需要监控的环境列表 ); - 启动 MCP 服务器并指定监听端口:
const port = 3000; server.listen(port, () => { console.log('Spinnaker MCP Server is running on port ${port}'); }); - 配置 MCP 客户端连接到运行中的 Spinnaker MCP Server。客户端即可通过 MCP 协议与服务器交互,调用注册的工具,获取 Spinnaker 上下文信息,实现对 Spinnaker 的管理和控制。
信息
分类
开发者工具