GitHub Actions管理工具

一个用于与GitHub Actions工作流、密钥、环境等交互的模型上下文协议(MCP)服务器,提供工作流管理、验证、模板生成等功能。

  • by donthv
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 donthv/sample-github-actions-mcp-server

使用说明

GitHub操作MCP服务器

一个模型上下文协议(MCP)服务器,用于与GitHub Actions工作流、机密、环境等进行交互。

概述

GitHub Actions MCP Server提供了帮助AI助手与GitHub Actions工作流交互的工具。它能够:

  • 列出、查看和管理GitHub Actions工作流
  • 正在验证工作流YAML语法
  • 获取工作流运行历史和状态
  • 管理GitHub Actions的秘密和环境
  • 为常见用例生成工作流模板

安装

先决条件

  • Python 3.10或更高版本
  • 具有适当权限的GitHub个人访问令牌
  • MCP兼容客户端(Amazon Q Developer CLI、Cursor、Cline等)

从源代码安装

目前,此软件包仅可从源代码安装:

git clone https://github.com/aws-samples/sample-github-actions-mcp-server.git
cd sample-github-actions-mcp-server
pip install -e .

备注:此包尚未发布到PyPI。PyPI的安装将在未来的版本中提供。

配置

环境变量

  • GITHUB_TOKEN:GitHub个人访问令牌(如果工具调用中未提供,则需要)

MCP客户端配置

将以下内容添加到MCP客户端配置文件中:

{
  "mcpServers": {
    "awslabs.github-actions-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.github-actions-mcp-server@latest"],
      "env": {
        "GITHUB_TOKEN": "your-github-token",
        "FASTMCP_LOG_LEVEL": "ERROR"
      }
    }
  }
}

用法

可用工具

  • listWorkflows:在存储库中列出GitHub操作工作流
  • getWorkflow:获取特定工作流的详细信息和内容
  • listWorkflowRuns:列出工作流运行历史记录
  • createOrUpdateWorkflow:创建或更新工作流文件
  • listSecrets:列出GitHub操作机密(仅名称,不包括值)
  • listEnvironments:列出GitHub操作环境
  • validateWorkflow:验证工作流YAML内容
  • getWorkflowTemplates:获取常用工作流模板

示例提示

  • “列出我的存储库中的所有GitHub Actions工作流”
  • “显示我的CI工作流的详细信息”
  • “创建部署到AWS的新工作流”
  • “验证此GitHub操作工作流YAML”
  • “显示我的存储库最近运行的工作流”
  • “生成Python包工作流模板”

安全

此MCP服务器需要GitHub个人访问令牌才能与GitHub存储库交互。为了安全起见:

  • 使用具有最低所需权限的令牌
  • 安全地存储令牌(环境变量或机密管理)
  • 从不将令牌提交到版本控制
  • 对于存储库机密,只公开名称(而不是值)

发展

设置开发环境

# Clone the repository
git clone https://github.com/aws-samples/sample-github-actions-mcp-server.git
cd sample-github-actions-mcp-server

# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"

运行测试

pytest

许可证

此项目根据Apache-2.0许可证获得许可。

贡献

看 贡献.md 了解如何为这个项目做出贡献的详细信息。