返回市场
管道助手MCP

管道助手MCP

作者:soydachi2 星标更新:2025-11-20

项目介绍

Pipeline Assistant MCP

License TypeScript Node.js Tests Standards

使用模型上下文协议(MCP)进行AI驱动的CI/CD管道自动化

将管道创建时间从数小时缩短到几秒钟,并内置了安全合规性和DevSecOps最佳实践。


Pipeline Assistant MCP是什么?

Pipeline Assistant MCP是一个智能系统,它利用AI自动完成整个CI/CD管道生命周期。该系统利用模型上下文协议(MCP)提供上下文感知的管道生成、分析和改进建议。

它不仅仅是一个验证工具——它是一个完整的DevSecOps助手,能够:

  • 从模板生成生产就绪的管道
  • 自动执行企业安全策略
  • 分析现有管道中的漏洞
  • 提供可操作的改进建议
  • 跨组织跟踪合规性指标

为什么选择Pipeline Assistant MCP?

问题

开发者:"我需要为我的.NET微服务创建一个管道"

2-4小时后...
- 忘记了安全扫描阶段
- 硬编码数据库凭证
- 没有配置依赖缓存
- 测试没有生成覆盖率报告
- 直接部署到生产环境而没有审批

结果:不安全、缓慢且不符合规定的管道

解决方案

开发者:"生成一个.NET生产管道"

5秒后...
- 完整的六阶段管道生成
- 应用了所有10项安全策略(SEC-001至SEC-010)
- 配置了优化缓存
- 带有覆盖率报告的测试
- 带有审批门的生产部署
- 包含SBOM生成
- 合规评分:98%

结果:生产就绪、安全且符合规定的管道

商业价值

指标之前之后改进
管道创建时间2-4小时5秒快99.9%
安全合规性约40%95%以上+55%
漏洞检测手动审查自动化实时
标准采纳不一致强制执行100%覆盖

架构

系统概述

graph TB
    subgraph "开发者接口"
        CLI[CLI工具]
        VSC[VS Code扩展]
        CD[Claude桌面]
        GHA[GitHub Actions]
        ADO[Azure DevOps]
    end

    subgraph "核心服务"
        MCP[MCP服务器]
        PG[管道生成器]
        PA[管道分析器]
        PE[策略执行器]
        WM[维基管理器]
    end

    subgraph "数据源"
        WIKI[企业维基v2.0]
        POL[安全策略]
        TPL[平台模板]
        MET[采纳度量]
    end

    CLI --> MCP
    VSC --> MCP
    CD --> MCP
    GHA --> MCP
    ADO --> MCP

    MCP --> PG
    MCP --> PA
    MCP --> PE
    MCP --> WM

    PG --> WIKI
    PA --> POL
    PE --> POL
    WM --> MET
    PG --> TPL

    style MCP fill:#e1f5fe
    style WIKI fill:#f3e5f5
    style POL fill:#ffebee

组件交互

sequenceDiagram
    participant D as 开发者
    participant M as MCP服务器
    participant G as 生成器
    participant E as 执行器
    participant W as 维基

    D->>M: 生成管道(.NET,生产)
    M->>W: 加载标准v2.0
    W-->>M: 阶段,策略,SLA
    M->>G: 创建管道
    G->>E: 应用安全策略
    E-->>G: SEC-001至SEC-010
    G-->>M: 完整管道
    M-->>D: 管道+合规评分

技术栈

graph LR
    subgraph "运行时"
        NODE[Node.js 20+]
        TS[TypeScript 5.3]
    end

    subgraph "协议"
        MCP[模型上下文协议]
        STDIO[STDIO传输]
    end

    subgraph "测试"
        VIT[Vitest]
        ZOD[Zod验证]
    end

    subgraph "集成"
        AZDO[Azure DevOps API]
        GH[GitHub API]
        VSCE[VS Code API]
    end

    NODE --> TS
    TS --> MCP
    MCP --> STDIO
    TS --> VIT
    TS --> ZOD
    TS --> AZDO
    TS --> GH
    TS --> VSCE

功能

核心能力

  • 多平台支持 - 为Azure DevOps和GitHub Actions生成管道
  • 管道生成 - 从模板创建完整的管道(.NET,Node.js,Python,Java,Go)
  • 安全分析 - 检测硬编码的秘密、缺少的安全阶段、15种以上的漏洞类型
  • 策略执行 - 自动应用SEC-001至SEC--010安全策略
  • 合规评分 - 计算0-100分并详细分解
  • SBOM生成 - 供应链安全的软件物料清单

集成

  • VS Code扩展 - 实时分析、快速修复、35种以上代码片段
  • Claude桌面 - 通过MCP自然语言生成管道
  • GitHub Actions - 自动PR分析工作流
  • Azure DevOps - 带有webhook支持的PR机器人

安全特性

  • webhook签名验证 - 使用HMAC-SHA256和时间安全比较
  • 秘密屏蔽 - 自动删除令牌、密码、API密钥
  • 速率限制 - 滑动窗口算法防止滥用
  • 输入验证 - 对所有用户输入使用Zod模式

快速开始

先决条件

  • Node.js 20+ 和 npm 9+
  • Git

安装

git clone https://github.com/soydachi/pipeline-assistant-mcp.git
cd pipeline-assistant-mcp
npm install
npm run build
npm test

基本用法

# 为Azure DevOps生成一个管道
node dist/cli/pipeline-assistant.js generate \
  --platform azure-devops \
  --type dotnet \
  --env production

# 为GitHub Actions生成一个管道
node dist/cli/pipeline-assistant.js generate \
  --platform github-actions \
  --type node \
  --env staging

# 分析一个管道
node dist/cli/pipeline-assistant.js analyze \
  examples/pipelines/pipeline-con-problemas.yml

# 列出可用平台
node dist/cli/pipeline-assistant.js platforms

# 列出可用模板
node dist/cli/pipeline-assistant.js templates --platform azure-devops

项目结构

pipeline-assistant-mcp/
├── src/                          # 核心MCP服务器
│   ├── server.ts                 # MCP服务器入口点
│   ├── pipeline-generator.ts     # 管道生成
│   ├── pipeline-analyzer.ts      # 安全分析
│   ├── policy-enforcer.ts        # 策略执行
│   ├── wiki-parser.ts            # 标准解析
│   ├── wiki-manager.ts           # 维基管理
│   ├── container.ts              # 依赖注入
│   ├── platforms/                # 多平台支持
│   │   ├── azure-devops.ts
│   │   └── github-actions.ts
│   ├── azure-devops/             # Azure DevOps集成
│   │   ├── client.ts
│   │   ├── pr-bot.ts
│   │   └── webhook-handler.ts
│   └── utils/                    # 共享工具
│       ├── logger.ts
│       ├── validation.ts
│       └── rate-limiter.ts
├── cli/                          # 命令行工具
│   ├── pipeline-assistant.ts
│   ├── wiki-cli.ts
│   └── pr-bot-cli.ts
├── vscode-extension/             # VS Code扩展
├── wiki/standards/               # 企业标准v2.0
│   ├── core/                     # 阶段定义
│   ├── security/                 # 安全策略
│   ├── quality/                  # 质量门
│   ├── platforms/                # 平台模板
│   │   ├── azure/templates/
│   │   └── github/templates/
│   ├── migration/                # 迁移指南
│   └── governance/               # 治理文档
├── tests/                        # 测试套件(341+测试)
└── examples/                     # 示例管道

文档

文档描述
工作坊指南包含架构深入的完整教程
使用指南所有平台和配置的参考
贡献指南如何为项目做贡献
变更日志版本历史和发布说明

集成

MCP服务器(Claude桌面)

{
  "mcpServers": {
    "pipeline-assistant": {
      "command": "node",
      "args": ["dist/src/server.js"],
      "cwd": "/path/to/pipeline-assistant-mcp"
    }
  }
}

VS Code扩展

cd vscode-extension
npm install && npm run compile
# 按F5在开发模式下启动

Azure DevOps

export AZDO_ORG_URL="https://dev.azure.com/your-org"
export AZDO_PAT="your-personal-access-token"
export AZDO_PROJECT="your-project"

GitHub Actions

添加.github/workflows/pipeline-review.yml以自动分析PR。

详见使用指南获取详细配置。


标准v2.0

Pipeline Assistant使用结构化的标准系统:

安全策略(SEC-001至SEC-010)

策略名称级别
SEC-001秘密扫描必须
SEC-002SAST分析必须
SEC-003依赖扫描必须
SEC-004容器扫描条件
SEC-007DAST条件
SEC-008许可证合规性必须
SEC-010SBOM生成必须

必须的管道阶段

  1. 验证 - 代码检查、格式化、类型检查
  2. 安全 - 所有安全扫描(并行)
  3. 构建 - 应用程序构建+SBOM
  4. 测试 - 单元+集成测试
  5. 扫描 - 容器安全
  6. 部署 - 环境部署

开发

npm run dev          # 监视模式
npm test             # 运行测试(341+测试)
npm run lint         # 检查代码风格
npm run build        # 构建项目

测试

# 运行所有测试
npm test

# 运行特定测试
npx vitest run tests/policy-enforcer.test.ts

# 带覆盖率运行
npx vitest run --coverage

贡献

我们欢迎贡献!请参阅CONTRIBUTING.md获取指南。


许可

Apache许可证2.0


作者

Dachi Gogotchuri (@soydachi)