首页/开发者工具/github-actions-mcp-server

github-actions-mcp-server

查看源码
2025-5-12
Words 1696Read Time 5 min
Score:90

GitHub Actions的MCP服务器,支持AI助手管理和操作GitHub Actions工作流。

GitHub Actions MCP Server

GitHub Actions API 的 MCP 服务器,使 AI 助手能够管理和操作 GitHub Actions 工作流。兼容多种 AI 编码助手,包括 Claude Desktop、Codeium 和 Windsurf。

功能

  • 完整的工作流管理:列出、查看、触发、取消和重新运行工作流
  • 工作流运行分析:获取工作流运行及其作业的详细信息
  • 全面的错误处理:提供清晰的错误信息,增强细节描述
  • 灵活的类型验证:强大的类型检查,优雅处理 API 变化
  • 安全设计:超时处理、速率限制和严格的 URL 验证

工具

  1. list_workflows
      • 列出 GitHub 仓库中的工作流
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • page (可选 number): 分页的页码
        • perPage (可选 number): 每页结果数(最大 100)
      • 返回:仓库中的工作流列表
  1. get_workflow
      • 获取特定工作流的详细信息
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • workflowId (string 或 number): 工作流的 ID 或文件名
      • 返回:工作流的详细信息
  1. get_workflow_usage
      • 获取工作流的使用统计信息
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • workflowId (string 或 number): 工作流的 ID 或文件名
      • 返回:包括计费分钟数在内的使用统计信息
  1. list_workflow_runs
      • 列出仓库或特定工作流的所有运行记录
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • workflowId (可选 string 或 number): 工作流的 ID 或文件名
        • actor (可选 string): 按触发工作流的用户过滤
        • branch (可选 string): 按分支过滤
        • event (可选 string): 按事件类型过滤
        • status (可选 string): 按状态过滤
        • created (可选 string): 按创建日期过滤(YYYY-MM-DD)
        • excludePullRequests (可选 boolean): 排除由 PR 触发的运行
        • checkSuiteId (可选 number): 按检查套件 ID 过滤
        • page (可选 number): 分页的页码
        • perPage (可选 number): 每页结果数(最大 100)
      • 返回:符合条件的工作流运行列表
  1. get_workflow_run
      • 获取特定工作流运行的详细信息
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • runId (number): 工作流运行的 ID
      • 返回:特定工作流运行的详细信息
  1. get_workflow_run_jobs
      • 获取特定工作流运行的作业
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • runId (number): 工作流运行的 ID
        • filter (可选 string): 按完成状态过滤作业('latest', 'all')
        • page (可选 number): 分页的页码
        • perPage (可选 number): 每页结果数(最大 100)
      • 返回:工作流运行中的作业列表
  1. trigger_workflow
      • 触发工作流运行
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • workflowId (string 或 number): 工作流的 ID 或文件名
        • ref (string): 运行工作流的引用(分支、标签或 SHA)
        • inputs (可选 object): 工作流的输入参数
      • 返回:触发的工作流运行信息
  1. cancel_workflow_run
      • 取消工作流运行
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • runId (number): 工作流运行的 ID
      • 返回:取消操作的状态
  1. rerun_workflow
      • 重新运行工作流
      • 输入:
        • owner (string): 仓库所有者(用户名或组织)
        • repo (string): 仓库名称
        • runId (number): 工作流运行的 ID
      • 返回:重新运行操作的状态

与 AI 编码助手的使用

此 MCP 服务器兼容多种 AI 编码助手,包括 Claude Desktop、Codeium 和 Windsurf。

Claude Desktop

首先,确保已构建项目(见下方的构建部分)。然后,将以下内容添加到 claude_desktop_config.json 中:

Codeium

将以下配置添加到 Codeium 的 MCP 配置文件中(通常在 Unix 系统上位于 ~/.codeium/windsurf/mcp_config.json,或在 Windows 上位于 %USERPROFILE%\.codeium\windsurf\mcp_config.json):

Windsurf

Windsurf 使用与 Codeium 相同的配置格式。按照上述 Codeium 的配置方式将服务器添加到 Windsurf 的 MCP 配置中。

构建

Unix/Linux/macOS

克隆仓库并构建:

Windows

对于 Windows 系统,使用 Windows 特定的构建命令:
或者,可以使用包含的批处理文件:
这将在 dist 目录中创建运行 MCP 服务器所需的文件。

Windows 特定说明

先决条件
  • Node.js(v14 或更高版本)
  • npm(v6 或更高版本)
在 Windows 上运行服务器
  1. 使用批处理文件(最简单的方法):
    1. 这将检查构建是否存在,并在需要时进行构建,然后启动服务器。
  1. 直接使用 npm:
    在 Windows 上设置 GitHub 个人访问令牌
    为了获得完整功能并避免速率限制,您需要设置 GitHub 个人访问令牌。
    选项:
    1. 将其作为参数传递给批处理文件:
      1. 将其设置为环境变量:
        Windows 问题排查
        如果遇到问题:
        1. 构建错误:确保 TypeScript 已正确安装。
          1. 权限问题:确保在具有适当权限的命令提示符中运行命令。
          1. Node.js 错误:验证您使用的是兼容的 Node.js 版本。

            使用示例

            列出仓库中的工作流:
            触发工作流:

            问题排查

            常见问题

            1. 认证错误
                • 确保您的 GitHub 令牌具有正确的权限
                • 检查令牌是否正确设置为环境变量
            1. 速率限制
                • 服务器实现了速率限制以避免达到 GitHub API 的限制
                • 如果遇到速率限制错误,请减少请求频率
            1. 类型验证错误
                • GitHub API 响应有时可能与预期模式不同
                • 服务器实现了灵活的验证以处理大多数变化
                • 如果遇到持续错误,请提交问题

            许可证

            此 MCP 服务器根据 MIT 许可证授权。
            上一篇
            Healthcare-MCP
            下一篇
            short-video-maker