返回 MCP 目录
public公开dns本地运行

github-action-trigger-mcp

一个用于GitHub Actions集成的MCP服务器,提供获取Actions列表、触发工作流、获取发布信息等功能,支持通过多种方式配置GitHub令牌。

article

README

🚀 GitHub Action 操作指南

本指南详细介绍了如何使用一系列工具对 GitHub 仓库进行操作,包括获取仓库中的操作、工作流、发布版本等,以及如何触发工作流和删除发布版本。

🚀 快速开始

工具使用说明

以下是不同操作对应的工具及其使用方法:

  1. 获取仓库中的操作:使用 get_github_action 工具获取指定仓库中的操作。
  2. 获取具体操作的详细信息:使用 get_github_action_info 工具获取指定操作的具体信息。
  3. 触发 GitHub 工作流:使用 trigger_github_workflow 工具触发指定的 GitHub 工作流。
  4. 获取仓库中的工作流:使用 list_github_workflows 工具获取指定仓库中的所有工作流。
  5. 获取仓库的最新发布版本:使用 get_github_release 工具获取指定仓库的最新发布版本。
  6. 获取仓库的所有发布版本:使用 list_github_releases 工具获取指定仓库的所有发布版本。
  7. 删除仓库的发布版本:使用 delete_github_release 工具删除指定仓库的特定发布版本。

💻 使用示例

1. 获取仓库中的操作

请求格式

{
  "owner": "仓库所有者",
  "repo": "仓库名称"
}

示例响应

{
  "count": 2,
  "actions": [
    {
      "name": "构建项目",
      "description": "使用 Node.js 构建项目并生成构建包。",
      "author": "GitHub Actions 团队",
      "inputs": [
        {
          "名称": "源代码分支",
          "描述": "要构建的源代码分支,默认值: main",
          "是否必填": true
        },
        {
          "名称": "目标目录",
          "描述": "构建输出的目标目录。",
          "默认值": "dist",
          "是否必填": false
        }
      ],
      "runs": {
        "运行环境": "node16",
        "主文件": "scripts/build.js"
      }
    },
    {
      "name": "运行测试",
      "description": "执行项目中的所有单元测试。",
      "author": "GitHub Actions 团队",
      "inputs": [
        {
          "名称": "测试环境",
          "描述": "指定测试环境(开发/生产)。",
          "默认值": "开发",
          "是否必填": false
        }
      ],
      "runs": {
        "运行环境": "node16",
        "主文件": "scripts/test.js"
      }
    }
  ]
}

2. 获取具体操作的详细信息

请求格式

{
  "owner": "操作所有者",
  "repo": "操作仓库名称",
  "action_id": "操作ID"
}

示例响应

{
  "name": "构建项目",
  "description": "使用 Node.js 构建项目并生成构建包。",
  "author": "GitHub Actions 团队",
  "inputs": [
    {
      "名称": "源代码分支",
      "描述": "要构建的源代码分支,默认值: main",
      "是否必填": true
    },
    {
      "名称": "目标目录",
      "描述": "构建输出的目标目录。",
      "默认值": "dist",
      "是否必填": false
    }
  ],
  "runs": {
    "运行环境": "node16",
    "主文件": "scripts/build.js"
  },
  "usage_count": 500,
  "rating": 4.8,
  "review_count": 231
}

3. 触发 GitHub 工作流

请求格式

{
  "owner": "仓库所有者",
  "repo": "仓库名称",
  "workflow_id": "工作流文件名",
  "inputs": {
    "参数1": "值1",
    "参数2": "值2"
  }
}

示例响应

{
  "success": true,
  "message": "工作流触发成功。",
  "run": {
    "id": 12345678,
    "url": "https://github.com/owner/repo/actions/runs/12345678",
    "状态": "排队中",
    "结论": null,
    "创建时间": "2025-03-19T06:45:12Z",
    "触发人": "user1"
  }
}

4. 获取仓库中的工作流

请求格式

{
  "owner": "仓库所有者",
  "repo": "仓库名称"
}

示例响应

{
  "count": 3,
  "workflows": [
    {
      "name": "每日构建检查",
      "description": "每天定时运行构建和测试。",
      "creator": "GitHub Actions 团队",
      "created_at": "2024-01-01T00:00:00Z"
    },
    {
      "name": "合并请求检查",
      "description": "在每次合并请求时运行检查。",
      "creator": "开发团队",
      "created_at": "2024-06-01T00:00:00Z"
    },
    {
      "name": "每周报告生成",
      "description": "每周生成项目报告并发送到Slack频道。",
      "creator": "数据团队",
      "created_at": "2024-03-01T00:00:00Z"
    }
  ]
}

5. 获取仓库的最新发布版本

请求格式

{
  "owner": "仓库所有者",
  "repo": "仓库名称"
}

示例响应

{
  "tag_name": "v1.0.0",
  "name": "项目发行版1.0.0",
  "body": "## 发行说明\n- 新增功能A\n- 优化性能\n- 修复已知bug",
  "author": "开发团队",
  "published_at": "2024-10-01T00:00:00Z"
}

6. 获取仓库的所有发布版本

请求格式

{
  "owner": "仓库所有者",
  "repo": "仓库名称"
}

示例响应

{
  "count": 5,
  "releases": [
    {
      "tag_name": "v1.0.0",
      "name": "项目发行版1.0.0",
      "body": "## 发行说明\n- 新增功能A\n- 优化性能\n- 修复已知bug",
      "author": "开发团队",
      "published_at": "2024-10-01T00:00:00Z"
    },
    {
      "tag_name": "v0.9.0",
      "name": "项目发行版0.9.0",
      "body": "## 发行说明\n- 初始版本发布",
      "author": "开发团队",
      "published_at": "2024-09-01T00:00:00Z"
    },
    {
      "tag_name": "v0.8.0",
      "name": "项目发行版0.8.0",
      "body": "## 发行说明\n- 修复一些小问题",
      "author": "开发团队",
      "published_at": "2024-08-01T00:00:00Z"
    },
    {
      "tag_name": "v0.7.0",
      "name": "项目发行版0.7.0",
      "body": "## 发行说明\n- 增加新功能B",
      "author": "开发团队",
      "published_at": "2024-07-01T00:00:00Z"
    },
    {
      "tag_name": "v0.6.0",
      "name": "项目发行版0.6.0",
      "body": "## 发行说明\n- 优化代码结构",
      "author": "开发团队",
      "published_at": "2024-06-01T00:00:00Z"
    }
  ]
}

7. 删除仓库的发布版本

请求格式

{
  "owner": "仓库所有者",
  "repo": "仓库名称",
  "tag_name": "要删除的版本号"
}

示例响应

{
  "message": "删除成功",
  "deleted_tag": "v0.6.0"
}

⚠️ 注意事项

⚠️ 重要提示

  1. 权限要求:执行这些操作需要有相应的权限。例如,删除发布版本可能需要更高的权限。
  2. API限制:某些操作可能会受到API速率限制的影响,具体取决于GitHub的设置和您的计划(如免费层、Pro层等)。
  3. 验证信息:确保您提供的身份验证信息(如token)是有效的,并且具有执行相应操作的权限。
即贴即用配置

MCP 客户端配置生成器

选择客户端,补齐所需环境变量,再复制根据当前 MCP 公开配置生成的完整文件

terminal
环境变量lock填写内容仅保留在当前浏览器标签页,不会上传或保存
Claude Desktop
{
  "mcpServers": {
    "github-action-trigger-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@nextdrive/github-action-trigger-mcp"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
      }
    }
  }
}
建议保存到claude_desktop_config.json
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端