项目简介

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 服务器端口和上下文刷新间隔。

安装步骤

  1. 确保已安装 Node.js 和 npm 或 yarn。
  2. 使用 npm 或 yarn 安装 '@airjesus17/mcp-server-spinnaker' 包:
    npm install @airjesus17/mcp-server-spinnaker
    yarn 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' 字段。

基本使用方法

  1. 在您的代码中,引入 'SpinnakerMCPServer' 类:
    import { SpinnakerMCPServer } from '@airjesus17/mcp-server-spinnaker';
  2. 初始化 'SpinnakerMCPServer' 实例,并传入 Spinnaker Gate URL、需要监控的应用列表和环境列表:
    const server = new SpinnakerMCPServer(
      'https://your-gate-url', // 替换为您的 Spinnaker Gate URL
      ['app1', 'app2'],       // 需要监控的 Spinnaker 应用列表
      ['prod', 'staging']     // 需要监控的环境列表
    );
  3. 启动 MCP 服务器并指定监听端口:
    const port = 3000;
    server.listen(port, () => {
      console.log('Spinnaker MCP Server is running on port ${port}');
    });
  4. 配置 MCP 客户端连接到运行中的 Spinnaker MCP Server。客户端即可通过 MCP 协议与服务器交互,调用注册的工具,获取 Spinnaker 上下文信息,实现对 Spinnaker 的管理和控制。

信息

分类

开发者工具