使用说明

项目简介

AWS CodePipeline MCP服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,旨在通过标准化的接口,向LLM客户端(如Windsurf和Cascade)提供AWS CodePipeline服务的上下文信息和操作能力。它允许用户通过自然语言指令,借助LLM客户端,实现对AWS CodePipeline流水线的管理、监控和自动化。

主要功能点

  • 流水线信息查询: 列出所有CodePipeline流水线,获取指定流水线的状态和详细定义。
  • 流水线执行管理: 查看流水线执行历史,触发新的流水线执行,停止正在运行的执行。
  • 人工审批处理: 审批或拒绝人工审批操作,允许LLM介入人工决策流程。
  • 阶段重试: 重试失败的流水线阶段,提高流水线稳定性和自动化修复能力。
  • 日志和指标查看: 获取流水线执行日志,查看流水线性能指标,辅助问题排查和性能优化。
  • Webhook集成: 创建Webhook,实现基于事件的流水线自动触发,例如代码提交触发CI/CD。
  • 资源标签管理: 为流水线资源添加或更新标签,方便资源分类和管理。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/cuongdev/mcp-codepipeline-server.git
    cd mcp-codepipeline-server
  2. 安装依赖:

    npm install
  3. 配置环境变量:

    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 编辑 '.env' 文件,填入您的AWS凭证和区域信息。
      AWS_REGION=您的AWS区域 (例如: us-east-1)
      AWS_ACCESS_KEY_ID=您的AWS访问密钥ID
      AWS_SECRET_ACCESS_KEY=您的AWS秘密访问密钥
      PORT=服务器端口号 (默认: 3000)

    请注意: '.env' 文件包含敏感信息,请勿提交到版本控制系统。

  4. 构建项目:

    npm run build

服务器配置

对于MCP客户端(如Windsurf),您需要配置MCP服务器的连接信息。以下是一个 'mcp_config.json' 示例配置,用于Windsurf客户端:

{
   "mcpServers": {
    "codepipeline": {
      "command": "npx",
      "args": [
        "-y",
        "path/to/mcp-codepipeline-server/dist/index.js"
      ],
      "env": {
        "AWS_REGION": "您的AWS区域 (例如: us-east-1)",
        "AWS_ACCESS_KEY_ID": "您的AWS访问密钥ID",
        "AWS_SECRET_ACCESS_KEY": "您的AWS秘密访问密钥"
      }
    }
  }
}

配置参数说明:

  • server name (codepipeline): MCP服务器名称,Windsurf客户端通过此名称引用该服务器。您可以自定义名称。
  • command (npx): 启动MCP服务器的命令,通常使用 'npx' 执行Node.js程序。
  • args: 启动命令的参数列表。
    • "-y": 'npx' 参数,自动确认执行。
    • "path/to/mcp-codepipeline-server/dist/index.js": MCP服务器入口文件路径,请替换为实际路径。
  • env: 启动命令的环境变量。
    • AWS_REGION: AWS区域,必须与您的CodePipeline所在的区域一致。
    • AWS_ACCESS_KEY_ID: AWS访问密钥ID,用于AWS API认证。
    • AWS_SECRET_ACCESS_KEY: AWS秘密访问密钥,用于AWS API认证。

请根据您的实际安装路径和AWS配置,修改上述 'mcp_config.json' 文件。 Windsurf客户端会读取此配置文件,并根据配置信息连接到MCP服务器。

基本使用方法

  1. 启动服务器:

    npm start

    或在开发模式下使用自动重启:

    npm run dev
  2. 在Windsurf中使用:

    • 确保Windsurf已正确配置 'mcp_config.json' 文件,并已重启Windsurf加载配置。
    • 在Windsurf中,可以使用自然语言指令与AWS CodePipeline进行交互,例如:
      • "列出所有我的 CodePipeline 流水线"
      • "显示 'production-deploy' 流水线的当前状态"
      • "触发 'test-build' 流水线"
      • "获取 'data-processing' 流水线的指标"
      • "为 'frontend-deploy' 流水线创建 webhook"

    Windsurf (或 Cascade) 会将这些自然语言请求转换为对MCP服务器的工具调用,从而实现对AWS CodePipeline的管理操作。

信息

分类

开发者工具