M

MCP Spinnaker 服务

@dion-hagan/mcp-server-spinnaker
0 Stars 366 次浏览 dion-hagan 更新于 2026-08-23

一种模型上下文协议服务器实现,允许人工智能模型通过标准化接口与Spinnaker部署、管道和应用程序进行交互和管理。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP Server for Spinnaker

此包为Spinnaker集成提供了一个模型上下文协议(MCP)服务器实现。它允许AI模型通过标准化的MCP接口与Spinnaker部署、管道和应用程序进行交互。

AI 集成

这个MCP服务器是一个强大的例子,展示了Anthropic的新AI模型Claude如何直接使用模型上下文协议来集成并增强软件部署流程。通过遵循MCP标准,Claude可以访问关于Spinnaker应用程序、管道和部署的丰富上下文信息,并使用定义良好的工具积极管理它们。

让我们深入了解这种集成在AI驱动的CI/CD中所带来的一些令人兴奋的可能性:

  1. 智能部署决策:有了对应用程序和管道状态全面了解的能力,像Claude这样的AI模型可以分析这些信息以做出关于何时以及如何部署的智能决策。例如,Claude可以查看诸如测试覆盖率、代码变更频率和历史成功率等因素,来确定最佳的部署时间和目标环境。

  2. 主动问题检测与自主修复:AI模型可以持续监控CI/CD过程,在问题造成麻烦之前发现潜在的问题。想象一下,如果Claude检测到某个依赖项的新版本存在已知漏洞,它可以自动创建一个拉取请求来更新该依赖;或者注意到部署比平常花费了更长时间,从而主动启动额外资源以防止超时。

  3. 持续过程优化:每次部署后,AI模型都可以学习并适应,不断优化CI/CD过程。Claude可以通过分析构建和部署日志来识别瓶颈,然后尝试不同的配置以提高速度和可靠性。随着时间推移,整个部署过程变得更加高效且健壮。

  4. 自动化根本原因分析与恢复:当出现问题时,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服务的URL
  • MCP_PORT: 运行MCP服务器的端口(默认:3000)
  • REFRESH_INTERVAL: 上下文刷新间隔(以秒为单位,默认:30)

类型

该包导出了用于与服务器工作的TypeScript类型:

import type {
  SpinnakerApplication,
  SpinnakerPipeline,
  SpinnakerDeployment,
  SpinnakerExecution
} from '@airjesus17/mcp-server-spinnaker';

开发

要参与开发,请遵循以下步骤:

  1. 克隆仓库
  2. 安装依赖项:yarn install
  3. 构建项目:yarn build
  4. 运行测试:yarn test

许可证

MIT许可证 - 详情请参见LICENSE

相关 MCP 服务