mcpField
M
mergewarden

mergewarden

本地服务
github.com/sjh9714版本控制147 周前更新

关于 mergewarden

MergeWarden 检查公开 GitHub 仓库的拉取请求队列,并用确定性规则标出审查前需要关注的上下文与风险。它不使用 AI,也不会给请求打分、添加标签或评论。

主要功能

  1. 01发现缺少关联问题的请求
  2. 02识别描述过短或未用模板
  3. 03标记规模过大的变更
  4. 04扫描工作流与 Agent 指令风险
  5. 05支持 CLI 与 GitHub Action

适用场景

  1. 01审查前筛选需补充上下文的请求
  2. 02检查工作流权限和触发器变更
  3. 03审查 Agent 指令文件的修改
  4. 04在 CI 中执行拉取请求风险检查

MCP 相关

README 提及 MCP 服务,但没有说明其功能或配置方式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sjh9714-mergewarden": {
"command": "npx",
"args": [
"-y",
"mergewarden-mcp"
]
}
}
}
启动命令npx -y mergewarden-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmergewarden-mcp0.9.0

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
taskstring否用一行描述用户提出的要求。逐字记录,不作解读。
allowedPathsarray是变更范围限定到的 Glob 路径,例如 ['src/auth/**', 'test/auth/**']。根据用户实际提出的要求填写。
blockedPathsarray否明确要求不得触碰的 Glob 路径。
changedPathsarray是实际更改的相对于仓库的路径,取自 `git diff --name-only`。

详细介绍

MergeWarden

Release CI MergeWarden License

查看哪些拉取请求需要补充上下文,才能开始代码审查。

粘贴一个公开的 GitHub 仓库。MergeWarden 会标出缺失的问题链接、描述过于简略、 未使用模板以及改动过大的拉取请求。无需登录。无需 AI。

这是一个实验性工具。尚未证明它能节省审查时间,也未证明维护者会反复使用。 产品扩展目前暂停;请参阅路线图和证据限制。

审查公开仓库

打开公开审查队列

入门指南介绍了队列状态、详细的 PR 结果以及 Action 安装方式。

粘贴 owner/repository 或完整的 GitHub 仓库 URL。浏览器会读取最近 30 个未关闭的拉取请求摘要,排除可信仓库角色、基础仓库分支和已知的维护自动化,然后最多加载 10 个外部拉取请求的详细信息。

队列行按确定性事实排序,这些都是维护者在阅读代码前通常会检查的内容。

事实含义
未关联问题正文中没有问题编号、问题 URL 或关闭关键词
描述过于简略正文中的文字少于 80 个字符
未使用模板仓库有可见的 PR 模板结构,但正文没有保留该结构
改动过大改动超过 50 个文件或 1,500 行

首次贡献仅作为背景信息展示,不用于评分。MergeWarden 不会将贡献称为垃圾、低质量或 AI 生成内容。它绝不会关闭、添加标签、评分或评论拉取请求。

队列使用公开元数据和基础分支的拉取请求模板。它不会获取已更改文件的内容、执行代码、使用后端或存储目标仓库。

如需更大的已认证队列,请使用 CLI。

GH_TOKEN=... npx --yes [email protected] triage owner/repository

运行详细的 PR 风险扫描

同一页面也接受完整的拉取请求 URL 或 owner/repository#number。 队列中的每一行都会链接到此详细扫描。

详细扫描会检查四个安全边界。

检查项需要审查的内容
工作流权限工作流获得写入权限、使用危险触发器,或依赖会变动的 Action 引用
Agent 指令PR 修改了 AGENTS.md、CLAUDE.md、.mcp.json 或其他会引导编码 Agent 的文件
不可信提示词输入拉取请求文本进入工作流中的 Agent 提示词
安装脚本软件包清单新增或修改了安装时生命周期代码

配置参考列出了所有确定性规则及其严重性。

无需克隆目标仓库,即可在终端运行相同的扫描。

npx --yes [email protected] scan https://github.com/owner/repository/pull/123

添加 Action

Action 会自动执行详细的 PR 风险检查,但不会调整审核队列顺序。

创建 .github/workflows/mergewarden.yml。

name: MergeWarden PR Risk Check

on:
  pull_request:

permissions:
  contents: read
  pull-requests: write

jobs:
  mergewarden:
    runs-on: ubuntu-latest
    steps:
      - uses: sjh9714/[email protected]
        with:
          comment: auto

当没有需要处理的问题时,comment: auto 不会发送评论;发现需要关注的问题时,则会更新一条评论。现有 Action 默认值保持不变。

如需不可变安装,请固定到发布提交。

MergeWarden 不会发布或推荐可变的 v0 标签。

- uses: sjh9714/mergewarden@d63b4fc8c09c540375f039ecd30d2fce56abf31f

安全边界

  • Web 应用直接与公开的 GitHub API 通信,且不包含遥测功能。
  • 队列会读取每个 PR 的确切基础提交中的元数据和模板。详细扫描只读取确定性规则所需的文件。
  • 不会检出代码。MergeWarden 不会在 Web 应用或 Action 中执行拉取请求代码。
  • 策略取自确切的基础提交,而非不可信的 PR 头部。
  • 分析过程不会调用大模型。
  • 证据不完整时会明确报告为不完整,绝不会将其标记为通过。
  • 浏览器示例限制明确:达到 30 条摘要,或外部 PR 超出 10 条详情的限制,都不会生成完整队列。

如需了解完整的信任边界,请阅读安全模型和 证据模型。

证据与高级接口

分诊是否有帮助?记录了现有的队列测量结果及其主要局限。该研究测量的是各行是否具有区分度,而非维护者是否节省了时间。在维护者确认其价值之前,当前 Web 队列仍属于产品实验。

文档索引包含配置、Action 和 CLI 参考、编码工具集成、可复现实验以及 MCP 服务。

贡献

pnpm install --frozen-lockfile
pnpm build
pnpm test
pnpm typecheck
pnpm lint
pnpm format:check

每条新规则都需要一个通过测试的 fixture、一个失败的 fixture,以及一个报告快照。请参阅贡献指南。

简体中文

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。