mcpField
C
claimcheck

claimcheck

本地服务
github.com/CloudCorpRecords版本控制03 天前更新

关于 claimcheck

claimcheck 扫描 GitHub 仓库中的过期认领和分支上未提交为 PR 的修复,帮助开源维护者与贡献者发现停滞工作。它提供命令行和 MCP 工具,并区分有 PR 跟进的进行中认领。

主要功能

  1. 01识别议题中的认领及其时效
  2. 02检查分支是否领先上游且没有 PR
  3. 03查询单个议题的认领状态
  4. 04按年龄和状态排列结果
  5. 05支持 JSON 输出与缓存

适用场景

  1. 01查找可能已放弃的议题认领
  2. 02发现 fork 上未提交的修复
  3. 03编码前确认议题是否有人认领

MCP 相关

MCP 服务提供 `stale_claims`、`parked_branches` 和 `issue_claim_status` 工具,用于检查认领、停放分支及议题状态。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-claimcheck": {
"command": "npx",
"args": [
"-y",
"@reneturcios/claimcheck"
]
}
}
}
启动命令npx -y @reneturcios/claimcheck

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

安装包
npm@reneturcios/claimcheck0.1.4
ocighcr.io/cloudcorprecords/claimcheck:0.1.4

工具

3

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

参数类型必填说明
repostring是owner/repo,例如 modelcontextprotocol/python-sdk
stale_daysnumber否过期判定天数(默认值:45)

详细介绍

claimcheck

开源项目有两种悄无声息的失速方式,及早追踪,避免让它们耗掉你数周时间:

  1. 过期认领。 有人在 issue 下留言“我来处理”,然后就消失了。issue 仍显示“未分配”,于是下一位志愿者写出的代码可能会撞上一个幽灵。
  2. 搁置的修复。 已完成的工作留在 fork 分支上,始终没有变成 PR。提交是真实的,差异是真实的,但完全无人知晓。

claimcheck 会扫描这两种情况。它是 greenlight 的后续工具:greenlight 会问“这个 issue 适合合并吗?”,claimcheck 会问“所有说愿意处理的人都真的出现了吗,他们的工作最终发布了吗?”

安装

npm install -g @reneturcios/claimcheck
# or
npx @reneturcios/claimcheck claims owner/repo

需要 Node 20+。设置 GITHUB_TOKEN(或 GH_TOKEN),即可获得每小时 5000 次的认证请求速率限制;不设置则每小时只有 60 次。响应会缓存在 ~/.cache/claimcheck 中。

CLI

查找仓库中过期的认领
claimcheck claims modelcontextprotocol/python-sdk

扫描未分配的开放 issue,检测认领评论(明确认领、工作意向、分配请求;排除机器人、维护者和 issue 作者),检查是否曾出现相关 PR,并按最早的认领优先对结果排序:

Stale claims in modelcontextprotocol/python-sdk: 2 stale of 5 claimed issues (threshold 45d)

[STALE] modelcontextprotocol/python-sdk#3287
  Fix: handle empty result sets
  https://github.com/modelcontextprotocol/python-sdk/issues/3287
  claimant: helpfuldev, 63d ago (want-to-work)

[IN FLIGHT] modelcontextprotocol/python-sdk#3290
  ...
  claimant: shipitdev, 5d ago (explicit-claim)

标志:--days 45 可更改过期阈值,--json 会输出机器可读结果。

认领时长分类

分类时长含义
FRESH<14 天认领者可能仍在积极处理
WATCH14 到 44 天重复工作前先确认
STALE45 到 89 天可提出异议,很可能已被放弃
DEAD90+ 天几乎可以确定已被放弃
WORK_IN_FLIGHT任意存在相关 PR,工作确实在进行
查找 fork 上搁置的修复
claimcheck parked CloudCorpRecords/pdfcn

列出 fork 上的分支(不包括默认分支),将各分支与上游默认分支进行比较,并检查是否存在来自该 fork 的开放 PR。分支领先 1 个或更多提交且没有开放 PR 时,会标记为 PARKED:

Parked branches on CloudCorpRecords/pdfcn (upstream shadcn-labs/pdfcn): 1 parked of 4 branches

[PARKED_STALE] fix-typos
  ahead by 5 commit(s), last commit 20d ago
  no open PR on upstream

搁置时长分类(根据分支尖端提交日期计算)

判定时长含义
PARKED_RECENT<7 天可能仍在收尾
PARKED_STALE7 到 30 天很可能已被遗忘,容易重新推进
PARKED_DEAD30+ 天可能需要基于上游分支变基

存在开放 PR 的分支会显示为 IN_PR,与上游进度相同的分支会显示为 EVEN。两者都不属于搁置状态。

查看单个 issue 的认领状态
claimcheck issue https://github.com/modelcontextprotocol/python-sdk/issues/3287

列出评论中发现的每位认领者、其时长分类,以及是否存在相关 PR。

使用 Docker 运行

claimcheck 也以容器镜像的形式发布在 GHCR:ghcr.io/cloudcorprecords/claimcheck。

将其用作 stdio MCP 服务:

docker run -i ghcr.io/cloudcorprecords/claimcheck

可以在镜像名称后传入任何 CLI 命令,替代默认的 mcp 参数:

docker run ghcr.io/cloudcorprecords/claimcheck <command> [args]

MCP 服务

将同一套引擎作为工具提供,供应先检查再评论或编写代码的 Agent 使用:

{
  "mcpServers": {
    "claimcheck": {
      "command": "npx",
      "args": ["-y", "claimcheck", "mcp"],
      "env": { "GITHUB_TOKEN": "ghp_your_token_here" }
    }
  }
}
工具输入返回内容
stale_claimsrepo(owner/repo),可选的 stale_days按最早优先排序的过期认领
parked_branchesfork(owner/repo)含比较数据的搁置分支,以及全部分支
issue_claim_statusurl(issue URL)认领者、时长分类、相关 PR、摘要

也可以直接运行服务端:npx @reneturcios/claimcheck mcp(stdio)。

检测方式

认领启发式规则(根据 greenlight 实际使用中验证过的模式重新实现):

  • 明确认领:“我想接手这个”“请把它分配给我”“我正在处理这个”“我已经开始处理这个”“PR 即将提交”等类似表述。
  • 一般意向:“很乐意帮忙”“对此感兴趣”“正在了解这个”。会记录,但绝不会视为认领。
  • **排除项:**机器人账号、仓库维护者(他们说“我来处理”属于问题分流,不是可提出异议的认领),以及 issue 作者;除非作者表示确实会提交 PR。

只要认领者有任何相关 PR,无论经过多久,状态都会是 WORK_IN_FLIGHT:认领者确实完成了工作,只是还没有合并。只有没有 PR 的认领才会随着时间推移进入 STALE 和 DEAD 状态。

开发

npm install
npm test        # 23 offline tests, node:test via tsx
npm run build   # tsc to dist/

引擎(src/claims.ts、src/parked.ts)是基于获取的数据运行的纯函数,可使用 test/fixtures/ 中的样例离线进行完整测试。src/github.ts 包含 REST 客户端(议题、评论、PR 搜索、分支、比较、Fork 信息),并提供文件缓存。

许可证

MIT,Rene Turcios 2026 年。

工具套件

此工具是开源贡献工作生命周期中四款工具之一,均以 @reneturcios npm 作用域发布,且都提供 CLI 和 MCP 服务(<tool> mcp):

  1. gatefile(npx @reneturcios/gatefile)提取仓库的贡献门槛,并将其写入已提交的 contribution-gates.json。
  2. greenlight(npx @reneturcios/greenlight)预检议题(GO / RISKY / TAKEN / GATED / STALE),在 check 和 scan 中使用 gatefile 的输出,然后认领议题、做好准备并提交 PR。
  3. claimcheck(npx @reneturcios/claimcheck)监控过期认领,以及停放在 Fork 上的修复。
  4. prwatch(npx @reneturcios/prwatch)根据哪些开放 PR 需要你立即处理,为其进行分类。

评论

支持 Markdown

第一次接触 MCP?

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

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