CI Orchestrator MCP Server

CI Orchestrator MCP Server

site icon
2025.05.12 0
PythonCI/CD 协调工作流管理开发效率
CI Orchestrator MCP Server 是一个基于 Model Context Protocol (MCP) v1.0 的服务器,用于协调跨 GitHub Actions(包括自托管运行器)和 Jenkins 的 CI/CD 工作流。它通过 HTTP 上的 JSON-RPC 2.0 提供 API,支持实时日志流和安全令牌认证。
View on GitHub

Overview

基本能力

产品定位

CI Orchestrator MCP Server 是一个用于协调和管理 CI/CD 工作流的工具,特别适用于需要在 GitHub Actions 和 Jenkins 之间进行集成的开发团队。

核心功能

  • 列出和触发 GitHub Actions 的工作流、运行器和作业
  • 列出和触发 Jenkins 作业,并流式传输日志
  • 提供 JSON-RPC 2.0 API(MCP v1.0)
  • 通过 SSE/JSON-RPC 通知实现实时日志流
  • 支持安全的基于令牌的认证
  • 提供 Web UI 用于演示和手动测试

适用场景

  • 自动化构建和部署流程
  • 监控和管理 CI/CD 工作流
  • 集成 GitHub Actions 和 Jenkins 的工作流

工具列表

  • GitHub Actions 集成:支持列出和触发工作流、运行器和作业
  • Jenkins 集成:支持列出和触发作业,流式传输日志
  • Web UI:用于演示和手动测试

常见问题解答

  • 如何配置 GitHub 和 Jenkins 凭证?:通过 .env 文件配置 GITHUB_TOKENGITHUB_OWNERGITHUB_REPO 等环境变量。
  • 如何运行服务器?:使用 uvicorn src.main:app --host 0.0.0.0 --port 8080 命令启动服务器。

使用教程

使用依赖

  1. 确保已安装 Python 3.11+。
  2. 克隆项目并创建虚拟环境:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

安装教程

  1. 复制 .env.example.env 并填写 GitHub 和 Jenkins 凭证。
  2. 运行服务器:
uvicorn src.main:app --host 0.0.0.0 --port 8080
  1. 使用 Docker 运行:
docker build -t ci-orchestrator .
docker run --env-file .env -p 8080:8080 ci-orchestrator

调试方式

  1. 访问 Web UI:打开 webui/index.html 在浏览器中查看。
  2. 使用 API:通过 /jsonrpc 端点发送 JSON-RPC 2.0 请求。
  3. 检查健康状态:访问 /healthz 端点。
  4. 流式传输日志:访问 /stream/logs?run_id=... 端点。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。