mcpField
X
x402-repohealth-mcp

x402-repohealth-mcp

ローカル
github.com/liminalpepeバージョン管理013 週間前に更新

x402-repohealth-mcp について

x402-repohealth-mcpは、GitHubリポジトリの保守状況を調べるMCPサーバーです。エージェントや開発者向けに、最新データから0〜100のスコアを算出し、指標とともに判定を示します。

主な機能

  1. 01GitHubリポジトリの最新状況を確認
  2. 024項目による0〜100のスコア
  3. 03保守状況と放棄の可能性を判定
  4. 04指標の内訳と数値に基づく説明

活用シーン

  1. 01依存関係に追加する前のリポジトリ評価
  2. 02既存の依存先が保守中かどうかの確認

MCP 対応

MCPクライアントに`check_repo_health`ツールを提供します。呼び出しごとにGitHub公開REST APIからデータを取得し、スコア、判定、指標、説明を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"liminalpepe-x402-repohealth": {
"command": "npx",
"args": [
"-y",
"x402-repohealth-mcp"
]
}
}
}
起動コマンドnpx -y x402-repohealth-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmx402-repohealth-mcp0.1.0

ツール

1

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
repostringはいGitHub リポジトリ名(例:"react")
ownerstringはい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 — スコア >= 75
  • slowing down — スコア 45~74
  • likely 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

コメント

MCP は初めてですか?

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

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