x402-repohealth-mcp について
x402-repohealth-mcpは、GitHubリポジトリの保守状況を調べるMCPサーバーです。エージェントや開発者向けに、最新データから0〜100のスコアを算出し、指標とともに判定を示します。
主な機能
- 01GitHubリポジトリの最新状況を確認
- 024項目による0〜100のスコア
- 03保守状況と放棄の可能性を判定
- 04指標の内訳と数値に基づく説明
活用シーン
- 01依存関係に追加する前のリポジトリ評価
- 02既存の依存先が保守中かどうかの確認
MCP 対応
MCPクライアントに`check_repo_health`ツールを提供します。呼び出しごとにGitHub公開REST APIからデータを取得し、スコア、判定、指標、説明を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| repo | string | はい | GitHub リポジトリ名(例:"react") |
| owner | string | はい | GitHub リポジトリの所有者/組織(例:"facebook") |
詳細
x402-repohealth-mcp
ライブの GitHub データからGitHub リポジトリのメンテナンス状況/放棄状況の健全性スコアを算出する、無料の MCP(Model Context Protocol)サーバーです。リポジトリは積極的にメンテナンスされているのか、活動が鈍化しているのか、放棄された可能性が高いのか、アーカイブされているのかを判定します。API キーも支払いも、レート制限を回避するための工夫も不要です。あらゆる MCP クライアントから呼び出せる MCP ツールです。
これは、有料の x402 ゲート付き HTTP API のオープンな導入用ツールです。
x402-repohealth-poc.theliminalguy.workers.dev
— GET /repo-health/:owner/:repo。本番環境や大量利用、または MCP を使わない(通常の HTTP)利用/エージェントによる自動利用向けに、x402 payment protocol経由で Base 上の USDC を呼び出しごとに $0.01 支払います。スコアリングロジックと出力は同じで、MCP 経由で無料ではなく、呼び出しごとに課金されます。
このプロジェクトの目的
依存関係、ツール、ライブラリを選ぶエージェントは、リポジトリに依存しても安全かどうか、つまり積極的にメンテナンスされているのか、活動が鈍化しているのか、事実上停止しているのかを把握する必要があります。GitHub の API が提供するのはコミット、イシュー、リリースなどの生の指標だけで、それらから導き出される判断ではありません。この MCP サーバーは、そのギャップを埋めるための無料かつローカルで利用できる部分です。MCP 経由で無料で試し、大量に利用する場合や MCP クライアント以外から利用する場合は、有料の HTTP エンドポイントをお使いください。
機能
1 つのツール check_repo_health に GitHub の owner と repo を渡すと、4 つの重み付けされた観点(コミットの新しさ、コミット活動、イシュー/PR への対応状況、リリース頻度。それぞれ 0~25 点)から0~100 の健全性スコアを算出し、判定を返します。
archived— GitHub のarchivedフラグが true(スコアより優先)actively maintained— スコア >= 75slowing down— スコア 45~74likely abandoned— スコア < 45
レスポンスには、スコアの詳細な内訳、算出された指標(最終コミットからの日数、直近 90 日間のコミット数、イシューのクローズ率など)、および実際の数値に基づく人間が読める reasoning 配列が含まれます。リポジトリごとにハードコードされた値はなく、GitHub の実際の公開 REST API から取得したデータを呼び出し時にスコアリングします。
インストールと実行
npx x402-repohealth-mcp
または、MCP クライアントの設定に追加します(例:Claude Desktop の
claude_desktop_config.json)。
{
"mcpServers": {
"repohealth": {
"command": "npx",
"args": ["-y", "x402-repohealth-mcp"]
}
}
}
ツール:check_repo_health
入力:
{
"owner": "facebook",
"repo": "react"
}
出力(MCP ツールのテキストコンテンツ、JSON 文字列化):
{
"owner": "facebook",
"repo": "react",
"fetchedAt": "2026-08-01T22:00:00.000Z",
"repoMeta": { "fullName": "facebook/react", "archived": false, "stargazersCount": 230000, "...": "..." },
"metrics": { "daysSinceLastCommit": 1, "commitsLast90Days": 100, "...": "..." },
"scoreBreakdown": { "commitRecency": 25, "commitActivity": 25, "issueResponsiveness": 17, "releaseCadence": 17 },
"score": 84,
"verdict": "actively maintained",
"reasoning": [
"Last commit 1 day ago (2026-07-31T...).",
"100+ commits in the last 90 days.",
"..."
]
}
スコアリングの詳細
| 観点 | 点数 | ロジック |
|---|---|---|
| コミットの新しさ | 0-25 | 最終コミットからの日数:<=14d->25、<=30d->21、<=90d->15、<=180d->9、<=365d->4、それ以外は 0 |
| コミット活動 | 0-25 | 直近 90 日間のコミット数:0->0、1-2->6、3-9->13、10-29->20、30+->25 |
| イシュー/PR への対応状況 | 0-25 | 直近 90 日間に更新されたイシュー/PR のうち、クローズ率 >=0.6 かつクローズまでの中央値 <=14d->25、>=0.4->17、>=0.15->9、それ以外は->3。最近の活動がない場合は中立の 14 |
| リリース頻度 | 0-25 | 最新のタグ付きリリースからの日数:<=180d->25、<=365d->17、<=730d->9、それ以外は 3。リリースが一度もない場合は中立の 12 |
GitHub の archived: true は、スコアに基づく判定より常に優先されます。アーカイブ済みリポジトリは単に「放棄された可能性が高い」のではなく、メンテナー自身の操作によって停止が確認されています。
実際の機能と制限事項
- 実際のデータを使用: GitHub API の各呼び出し、スコアリング計算、MCP ツールのレスポンスはすべて、呼び出し時に対象リポジトリの実際の GitHub データから算出されます。ハードコードやモックはありません。
- GitHub の認証なし: GitHub の認証不要の公開 REST API を使用します(この MCP サーバーをローカルで実行するユーザー間で共有される、IP あたり 1 時間 60 リクエストの制限があります)。
check_repo_healthの呼び出しごとに GitHub リクエストを約 3~4 件消費します。無料/ローカルでの少量の MCP 利用には十分です。有料の Worker では、サーバー側でGITHUB_TOKEN(1 時間あたり 5,000 リクエスト)を追加します。 - キャッシュなし: 呼び出しごとに GitHub からデータを再取得します。
ローカル開発
npm install
npm run dev # runs src/index.ts directly on stdio via tsx
npm run build # compiles to dist/ for the published npm package
npm run test:health # calls getRepoHealth() directly against real repos, no MCP transport
src/github.ts、src/score.ts、src/health.ts、src/types.ts は、有料 Worker と同じ GitHub データ取得およびスコアリングロジックを使用しています。この MCP サーバーは、getRepoHealth() を呼び出す薄い src/index.ts ラッパーです。
有料の HTTP 版を使う場合
有料 Worker の GET /repo-health/:owner/:repo
を使い、次の場合はこの MCP サーバーを使わないでください。
- MCP クライアント以外(通常の HTTP、任意の言語)から呼び出す場合。
- 本番環境や大量の利用が必要で、この MCP サーバーの認証なしの GitHub 利用枠(60 req/hr)を共有するのではなく、呼び出しごとに支払いたい場合。
- エージェントがすでに x402(例:
x402-fetch/x402-axios経由)に対応しており、リクエストごとに Base 上で $0.01 USDC を支払える場合。
どちらの方法もまったく同じスコアリング関数を呼び出すため、出力は同一です。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。