Token导航 LogoToken导航TokenDH.com
MCP GitHub Action logo
开发工具stdio官方级别未说明来源级核验

MCP GitHub Action

MCP Server

一个基于Deno的MCP服务,用于安全地管理GitHub Actions的版本、提交SHA检索、不可变性检查以及提供安全更新建议。

工具数

6

提示词数

0

GitHub Stars

6

资源数

0
TypeScriptClaude版本管理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Tripletex

提供方

Tripletex

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -i -e GITHUB_TOKEN ghcr.io/tripletex/mcp-github-action:latest

详细介绍

MCP GitHub操作

## ⚠️ 此存储库已移动 开发已转移到 Tripletex/mcp依赖版本. 此存储库是 已存档且不再维护。请更新您的 对新位置的引用、问题和拉取请求。所有未来 发布、修复和文档将在那里发布。

______________________________________________________________________

基于Deno的MCP(模型上下文协议)服务,可帮助您安全地 通过提供以下内容参考GitHub操作:

  • 任何GitHub操作的最新版本查找
  • 提交特定版本标签的SHA检索
  • 发布的不可变性状态检查
  • 随时可用的SHA固定引用
  • 工作流分析 具有更新级别检测(主要/次要/补丁)
  • 安全更新建议 避免破坏更改
  • 文献检索 针对特定版本的操作
  • 版本比较 识别之间的更改和中断更新

发布

为什么使用这个?

标签引用的GitHub操作(例如。, actions/checkout@v4)可能很脆弱 如果标签被移动到指向恶意代码,则可以防止供应链攻击。此MCP 服务帮助您:

  1. 查找提交SHA 对于任何操作版本
  2. 检查版本是否不可变 (防止修改)
  3. 获取安全引用 以...格式 owner/repo@sha # version

安装

先决条件

使用Claude Desktop进行设置

添加到您的Claude Desktop配置(claude_desktop_config.json):

{
  "mcpServers": {
    "github-actions": {
      "command": "deno",
      "args": [
        "run",
        "--allow-net",
        "--allow-env",
        "--allow-run=gh",
        "/path/to/mcp-github-actions/main.ts"
      ],
      "env": {
        "GITHUB_TOKEN": "your-github-token-optional"
      }
    }
  }
}

使用Claude Code CLI进行设置

claude mcp add github-actions -- deno run --allow-net --allow-env --allow-run=gh /path/to/mcp-github-actions/main.ts

使用Docker进行设置

该服务可以使用stdio传输作为Docker映像提供。

拉取图像:

docker pull ghcr.io/tripletex/mcp-github-action:latest

直接运行:

docker run --rm -i -e GITHUB_TOKEN ghcr.io/tripletex/mcp-github-action:latest

Claude桌面配置:

{
  "mcpServers": {
    "github-actions": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "GITHUB_TOKEN",
        "ghcr.io/tripletex/mcp-github-action:latest"
      ],
      "env": {
        "GITHUB_TOKEN": "your-github-token-optional"
      }
    }
  }
}

用法

配置后,让Claude查找GitHub操作:

示例提示:

  • “查找操作/签出的最新版本”
  • “获取操作的安全参考/setup-node@v4"
  • “检查是否采取行动/cache@v4.2.0不可变”
  • “列出操作/上传工件的所有版本”
  • “分析我的工作流文件以查找过时的操作”
  • “为我的CI工作流建议安全更新”
  • “actions/checkout的最新v4.x版本是什么?”
  • “显示操作文档/checkout@v4"
  • “比较操作之间的变化/setup-node@v4.0.0v6.0.0“

工具: lookup_action

参数

参数类型必填说明
actionstringYes动作引用(例如。, actions/checkoutactions/checkout@v4)
include_all_versionsboolean列出所有可用版本(默认值:false)

输出示例

Action: actions/checkout

Latest Version: v6.0.1
  Commit SHA: 8e8c483db84b4bee98b60c0593521ed34d9990e8
  Immutable: No
  Published: 2025-12-02T16:38:59Z

Recommended Usage (SHA-pinned):
  uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

Security Notes:
  - WARNING: This release is NOT immutable. The tag could potentially be moved to a different commit.
  - Using the SHA-pinned reference provides protection against tag tampering.
  - SHA-pinned references prevent supply chain attacks by ensuring you always use the exact same code.

工具: analyze_workflow

分析GitHub Actions工作流文件,并显示所有操作的版本状态。 报告当前版本与最新版本、更新级别(主要/次要/补丁)和风险 评估。

参数

参数类型必填说明
workflow_contentstring要分析的工作流YAML内容
only_updatesboolean仅显示需要更新的操作(默认值:false)

输出示例

## Summary
Total actions: 6
Up to date: 1
Major updates available: 2 ⚠️
Minor updates available: 2
Patch updates available: 1

## Actions

| Action | Current | Latest | Update | Risk |
|--------|---------|--------|--------|------|
| actions/checkout | v4.2.2 | v6.0.1 | ⚠️ Major | 🔴 High |
| actions/setup-node | v4.1.0 | v6.2.0 | ⚠️ Major | 🔴 High |
| docker/login-action | v3.3.0 | v3.6.0 | 📦 Minor | 🟡 Medium |
| docker/build-push-action | v6.9.0 | v6.18.0 | 📦 Minor | 🟡 Medium |
| appleboy/ssh-action | v1.2.0 | v1.2.4 | 🔧 Patch | 🟢 Low |

## Safe Updates (Minor/Patch)
...

## Major Updates (Review Required)
...

工具: suggest_updates

在工作流中为GitHub Actions建议安全更新。仅返回安全更新 (次要/补丁)以及在主要版本中保持最新的建议。

参数

参数类型必填说明
workflow_contentstring要分析的工作流YAML内容
risk_tolerancestring"patch" =仅补丁, "minor" =补丁+次要(默认), "all" =全部

输出示例

## Summary
Total actions analyzed: 6
Already up to date: 1
Safe updates available: 3
Actions with major updates: 2 (staying on current major)

## Safe Updates
These updates are safe to apply:

### 📦 docker/login-action: v3.3.0 → v3.6.0
Minor version update - new features, backwards compatible

uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.6.0

### 🔧 appleboy/ssh-action: v1.2.0 → v1.2.4
Patch version update - bug fixes only

uses: appleboy/ssh-action@2ead5e36573714d0d3cfcbac3646c3e0f09ec849 # v1.2.4

## Updates Within Current Major
These actions have major updates available, but you can safely update within your current major version:

### actions/checkout: v4.2.2 → v4.2.2
Safe update within v4.x (latest overall is v6.0.1)

uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

工具: get_latest_in_major

在同一主版本中获取GitHub Action的最新版本。有用的 以确保安全更新,避免破坏更改。

参数

参数类型必填说明
actionstringYes带版本的动作引用(例如。, actions/checkout@v4@v4.1.0)

输出示例

Action: actions/checkout
Current Version: v4
Major Version: v4

Latest in v4.x: v4.2.2
  Commit SHA: 11bd71901bbe5b1630ceea73d27597364c9af683
  Immutable: Yes

Note: Latest overall is v6.0.1

Recommended Usage (SHA-pinned):
  uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

工具: get_action_documentation

获取特定版本GitHub Action的README文档。有用 了解如何在特定版本中使用操作。

参数

参数类型必填说明
actionstringYes动作引用(例如。, actions/checkoutactions/checkout@v4)
refstring可选的引用覆盖(标记/分支/提交)。默认为版本或主分支

输出示例

# actions/checkout Documentation
Ref: v4.2.0

---

[Full README markdown content for the action at the specified version]

工具: compare_action_versions

比较GitHub Action的两个版本之间的更改。显示发行说明和 标识版本更新级别,以帮助做出升级决策。

参数

参数类型必填说明
actionstringYes当前版本的操作(例如。, actions/checkout@v4.0.2)
target_versionstring目标版本(默认为最新版本)

输出示例

# Version Comparison: actions/checkout

From: v4.0.0
To: v4.2.0

## Summary
- Total releases: 3
- Major updates: 0
- Minor updates: 2
- Patch updates: 1

## Release History (chronological)

### v4.1.0 (2025-02-15) - Minor Update
Added support for sparse checkouts and improved performance.

### v4.1.1 (2025-02-20) - Patch Update
Fixed bug with submodule handling on Windows.

### v4.2.0 (2025-03-01) - Minor Update
Added new input parameter for custom checkout paths.

---

Note: Major version updates (marked with ⚠️) may contain breaking changes.
Review the release notes above to understand the impact of each update.

认证

该服务支持多种身份验证方法,请在下面进行检查 订单:

  1. 组织特定令牌 (GITHUB_TOKEN_)-适用于多组织场景
  2. 环境变量 (GITHUB_TOKEN)-显式令牌配置
  3. GitHub命令行界面 (gh auth token)-登录后自动生成令牌 gh 命令行界面
  4. 未认证 -仅具有速率限制的公共存储库

无令牌(未经身份验证)

  • 仅适用于公共存储库
  • 速率限制:60个请求/小时
  • 无需设置

使用GitHub CLI(建议用于开发)

如果你有 安装和 已验证:

gh auth login

该服务将自动使用您的 gh 没有显式令牌时的CLI令牌 已配置。这便于当地发展,不需要 管理单独的令牌。

权限说明: 服务需求 --allow-run=gh 执行许可 这 gh 命令。

使用环境令牌

设置 GITHUB_TOKEN 环境变量:

  • 适用于 私有存储库
  • 速率限制:5000个请求/小时
  • 组织私人行动所需
  • 建议用于生产部署

多组织支持

要跨多个组织访问私有存储库,请配置 组织特定令牌:

# Org-specific tokens (format: GITHUB_TOKEN_)
# Hyphens in org names become underscores, all uppercase
GITHUB_TOKEN_MY_ORG=ghp_xxx...            # For My-Org
GITHUB_TOKEN_OTHER_ORG=ghp_yyy...         # For Other-Org
GITHUB_TOKEN=ghp_zzz...                    # Fallback for public repos

令牌解析顺序:

  1. 组织特定令牌(GITHUB_TOKEN_)
  2. 回退令牌(GITHUB_TOKEN)
  3. GitHub CLI令牌(gh auth token)
  4. 未经身份验证(仅限公共存储库)

支持的令牌类型和所需权限:

令牌类型所需权限备注
细粒PATContents: Read + Metadata: Read推荐-适用于特定的repos/org
经典PATrepo 范围更广泛的访问-仅在细粒度不合适时使用
GitHub应用程序Contents: Read推荐给组织
注: 对于私有存储库,令牌必须具有读取权限 存储库内容。如果没有适当的权限,您将收到404错误 在查找私人行为时。

多组织的Claude桌面配置示例:

{
  "mcpServers": {
    "github-actions": {
      "command": "deno",
      "args": [
        "run",
        "--allow-net",
        "--allow-env",
        "--allow-run=gh",
        "/path/to/mcp-github-actions/main.ts"
      ],
      "env": {
        "GITHUB_TOKEN_MY_ORG": "ghs_xxx...",
        "GITHUB_TOKEN_OTHER_ORG": "ghs_yyy...",
        "GITHUB_TOKEN": "ghp_zzz..."
      }
    }
  }
}

配置

最低释放年龄

避免使用太新的版本(可能包含未发现的错误或 成为供应链攻击的一部分),您可以配置最低年龄要求:

# Skip releases published within the last 5 days
MIN_RELEASE_AGE_DAYS=5

设置后,服务将:

  1. 如果绝对最新版本比阈值新,则跳过该版本
  2. 返回符合年龄要求的最新版本
  3. 在输出中显示发布时间
  4. 当筛选处于活动状态时,在安全注释中添加注释

最低年龄示例:

Action: actions/checkout

Latest Version: v6.0.1
  Commit SHA: 8e8c483db84b4bee98b60c0593521ed34d9990e8
  Immutable: No
  Published: 2025-12-02T16:38:59Z (52 days ago)

Security Notes:
  - Minimum release age filter active: only considering releases at least 5 days old.

如果没有符合年龄要求的版本,将返回一个错误,指示 最新版本的年龄。

最低年龄的Claude桌面配置:

{
  "mcpServers": {
    "github-actions": {
      "command": "deno",
      "args": [
        "run",
        "--allow-net",
        "--allow-env",
        "--allow-run=gh",
        "/path/to/mcp-github-actions/main.ts"
      ],
      "env": {
        "GITHUB_TOKEN": "ghp_xxx...",
        "MIN_RELEASE_AGE_DAYS": "5"
      }
    }
  }
}

发展

# Run the server
deno task start

# Run with watch mode (auto-reload)
deno task dev

# Type check
deno task check

# Lint
deno task lint

# Format
deno task fmt

# Compile to binary
deno task compile

安全最佳实践

  1. 始终使用SHA固定引用 生产工作流程中
  2. 检查不变性状态 -不可变版本不能修改
  3. 添加版本注释 为了可维护性: @sha # v4.2.0
  4. 使用Dependabot/Renovate 保持SHA参考的更新

参考文献

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude版本管理GitHubActions本地部署安全更新工作流分析SHA检索

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP