mcpField
A
abandoncheck

abandoncheck

ローカル
github.com/CloudCorpRecords開発ツール01 週間前に更新

abandoncheck について

abandoncheckは、利用者が渡すリポジトリの情報から依存関係の保守状況を評価し、依存関係を確認するチームを支援します。リポジトリ取得やコード調査をせず、固定のローカルルールで判定と理由を返します。

主な機能

  1. 01リポジトリの保守状況シグナルを評価
  2. 02判定、スコア、理由を返却
  3. 03リリースとコミットの経過期間を分類
  4. 04項目を特定して入力エラーを検証

活用シーン

  1. 01保守作業で依存関係の状態を確認
  2. 02入力したシグナルを使って依存関係を比較

MCP 対応

MCPサーバーは`check_dep_maintenance`を公開し、利用者が渡したシグナルから判定、スコア、シグナル、理由を返します。ネットワーク照会は行いません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-abandoncheck": {
"command": "npx",
"args": [
"-y",
"@reneturcios/abandoncheck"
]
}
}
}
起動コマンドnpx -y @reneturcios/abandoncheck

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

パッケージ
npm@reneturcios/abandoncheck0.1.0
ocighcr.io/cloudcorprecords/abandoncheck:0.1.0

ツール

1

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

パラメーター型必須説明
namestringはい依存関係の名前
archivedbooleanはい依存関係のリポジトリがアーカイブされているかどうか
open_issuesintegerいいえ未解決 issue 数(任意;報告のみで、スコアには含めません)
last_commit_daysintegerいいえ前回のコミットからの日数(任意;不明な場合は省略)
maintainer_countintegerいいえアクティブなメンテナー数(任意)
last_release_daysintegerいいえ前回のリリースからの日数(任意;リリースがない場合は省略)
recent_commits_90dintegerいいえ過去 90 日間のコミット数(任意)

詳細

abandoncheck

依存関係ツリー内の依存関係は、どれもいつか選ばれたもので、多くの場合、何年も前のことです。後になって重要になるのは、「今も誰かがこれを見守っているのか」という単純な問いです。abandoncheck は推測せずに答えます。すでに把握している事実に基づくシグナル(リポジトリがアーカイブされているか、最後のリリースと最後のコミットからどれだけ経過したか、過去 90 日間に何件のコミットがあったか、アクティブなメンテナーが何人いるか、未解決のイシューが何件あるか)を入力すると、判定、スコア、各シグナルが該当する区分、そしてその数値になった正確な理由を返します。

何も取得せず、コード自体について何かを推論することもありません。リポジトリがアーカイブ済みなら、それだけで判定が決まります。他のシグナルがどれだけ新しく見えても、スコアは 0、判定は abandoned です。それ以外の場合、スコアは 100 から始まり、リリース情報の欠落または古さ、コミット情報の欠落または古さ、過去 90 日間の活動の停止、メンテナーの不足について、決められた順序でポイントを減算します。スコアは 0 を下回りません。未解決イシュー数はシグナルに含めて返しますが、意図的に採点には使いません。トラッカーの活発さは、人気のあるプロジェクトを示す場合も、放置されたプロジェクトを示す場合もあるためです。このツールは、一方向の判断につながるシグナルに絞っています。

区分によって、スコアをひと目で検証できます。リリースから 180 日以内は fresh、365 日までは aging、730 日までは stale、それを超えると dormant です。リリース情報がない場合、区分は unknown です。コミットは、より短い期間で判定します。90 日以内は active、180 日までは slowing、365 日までは quiet、それを超えると silent です。スコアが 80 以上なら maintained、50 以上なら at_risk、0 より大きければ likely_abandoned、0 なら abandoned です。減点が一切ない場合、理由は「no adverse signals」のみです。それ以外の場合は、適用された順に、該当する減点の理由がそれぞれ示されます。

入力に不備がある場合(name がない、空、または文字列でない場合、archived がない、または真偽値でない場合、あるいは任意の数値が 0 以上の整数でない場合)、該当するパスを示す検証エラーとなり、部分的な結果は返されません。未定義の追加フィールドは無視されます。計算は純粋かつローカルで行われ、ネットワーク接続も設定も不要で、リポジトリの読み取りや変更も行いません。

CLI

npx @reneturcios/abandoncheck check --input args.json
npx @reneturcios/abandoncheck --version

args.json には、引数オブジェクト全体を記述します。

{
  "name": "leftpad",
  "archived": false,
  "last_release_days": 45,
  "last_commit_days": 12,
  "recent_commits_90d": 18,
  "maintainer_count": 3,
  "open_issues": 27
}

結果は JSON として出力されます。

{
  "name": "leftpad",
  "verdict": "maintained",
  "score": 100,
  "signals": {
    "archived": false,
    "last_release_band": "fresh",
    "last_commit_band": "active",
    "recent_commits_90d": 18,
    "maintainer_count": 3,
    "open_issues": 27
  },
  "reasons": ["no adverse signals"]
}

指定されていない任意のシグナルは、signals では null として返され、区分は "unknown" になります。終了コード:成功時は 0、実行時エラー(読み取れない入力ファイル、無効な入力ファイル、または無効な入力を含む)では 1、使用方法のエラーでは 2 です。

MCP サーバー

npx -y @reneturcios/abandoncheck mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "abandoncheck": {
      "command": "npx",
      "args": ["-y", "@reneturcios/abandoncheck", "mcp"]
    }
  }
}
ツール
  • check_dep_maintenance — 呼び出し元が指定した事実に基づくシグナルのみから、1 つの依存関係が保守されているかを判定します。

    • name(文字列、必須、空でない)— 依存関係の名前
    • archived(真偽値、必須)— 依存関係のリポジトリがアーカイブされているかどうか
    • last_release_days(整数、任意、0 以上)— 最後のリリースからの日数。リリースがない場合は省略
    • last_commit_days(整数、任意、0 以上)— 最後のコミットからの日数。不明な場合は省略
    • recent_commits_90d(整数、任意、0 以上)— 過去 90 日間のコミット数
    • maintainer_count(整数、任意、0 以上)— アクティブなメンテナーの数
    • open_issues(整数、任意、0 以上)— 未解決イシュー数。報告されますが、採点には使われません

    {name, verdict, score, signals, reasons} を返します。signals は {archived, last_release_band, last_commit_band, recent_commits_90d, maintainer_count, open_issues} です。

Docker

docker run -i ghcr.io/cloudcorprecords/abandoncheck
docker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/abandoncheck check --input /w/args.json

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (pure local, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

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

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