mcpField
C
claimcheck

claimcheck

ローカル
github.com/CloudCorpRecordsバージョン管理03 日前に更新

claimcheck について

claimcheckはGitHubリポジトリを調べ、古くなったイシューの着手表明や、プルリクエストにならずフォークに残った修正を見つけます。オープンソースのメンテナーやコントリビューター向けに、CLIとMCPツールを提供し、PRに結び付いた進行中の作業も区別します。

主な機能

  1. 01イシューの着手表明と経過期間を検出
  2. 02PRのない上流先行ブランチを検索
  3. 03単一イシューの着手状況を確認
  4. 04経過期間と状態で結果を並べ替え
  5. 05JSON出力とキャッシュに対応

活用シーン

  1. 01放棄された可能性のある着手表明を探す
  2. 02PRになっていないフォーク上の修正を見つける
  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

オープンソースプロジェクトがひっそりと終わりを迎える、2つのケースを何週間もの損失が出る前に追跡します。

  1. 古い着手表明。 誰かがイシューに「担当します」とコメントした後、姿を消します。イシューは「未割り当て」のままなので、次のボランティアが幽霊と競合するコードを書いてしまいます。
  2. 放置された修正。 完成した作業がフォークのブランチに残り、PR にならないままです。実際のコミット、実際の差分があるのに、誰の目にも触れません。

claimcheck はこの両方をスキャンします。greenlight の後継で、greenlight が「このイシューはマージできる状態か?」と尋ねるのに対し、claimcheck は「やると言った人は実際に作業に着手したか、その作業はリリースされたか?」と尋ねます。

インストール

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

Node 20 以上が必要です。認証済みのレート制限(1 時間あたり 5000 件)を利用するには、GITHUB_TOKEN(または GH_TOKEN)を設定してください。設定しない場合、1 時間あたり 60 件になります。レスポンスは ~/.cache/claimcheck にキャッシュされます。

CLI

リポジトリ内の古い着手表明を見つける
claimcheck claims modelcontextprotocol/python-sdk

オープン中で未割り当てのイシューをスキャンし、着手表明のコメント(明示的な着手表明、作業の意思表明、割り当ての依頼。ボット、メンテナー、イシューの作成者は除外)を検出します。関連する 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 があり、作業は実際に進行中です
フォーク上で放置された修正を見つける
claimcheck parked CloudCorpRecords/pdfcn

フォークのブランチ(デフォルトブランチを除く)を一覧表示し、それぞれをアップストリームのデフォルトブランチと比較して、そのフォークからのオープン中の 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 と表示されます。どちらも放置された状態ではありません。

1 つのイシューの着手状況を確認する
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

デフォルトの mcp 引数の代わりに、イメージ名の後ろに任意の CLI コマンドを指定できます。

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

MCP サーバー

コメントやコーディングの前に確認するエージェント向けに、同じエンジンをツールとして提供します。

{
  "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(イシューの URL)着手表明者、経過期間の区分、関連する PR、概要

サーバーを直接実行することもできます:npx @reneturcios/claimcheck mcp(stdio)。

検出の仕組み

着手表明のヒューリスティック(greenlight の実運用で有効性が確認されたパターンをクリーンに再実装しています):

  • 強い着手表明: 「これを担当したいです」「私に割り当ててください」「この作業に取り組んでいます」「この作業を始めました」「PR を出します」など。
  • 弱い関心表明: 「喜んで手伝います」「関心があります」「調べています」など。記録はされますが、着手表明として扱われることはありません。
  • 除外対象: ボットアカウント、リポジトリのメンテナー(「担当します」は異議を唱えられる着手表明ではなく、トリアージの一環です)、実際の 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 検索、ブランチ、比較、フォーク情報)が含まれています。

ライセンス

MIT、Rene Turcios 2026。

ツールキット

このツールは、オープンソースへの貢献作業のライフサイクルを構成する4つのツールのうちの1つです。すべて @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)は、古くなった確保済みイシューや、フォーク上で保留中の修正を監視します。
  4. prwatch(npx @reneturcios/prwatch)は、今すぐ対応が必要な内容に基づいて、オープン中の PR をトリアージします。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。