mcpField
W
whichlib

whichlib

リモート
whichlib.com開発ツール0今日更新
リポジトリ公式サイト

whichlib について

whichlib は、コーディングエージェント向けに GitHub リポジトリを検索・比較・採点し、依存ライブラリの選定を支援する MCP サーバーです。勢い、保守状況、採用状況、ライセンスの評価内訳を示します。

主な機能

  1. 01要件に合うリポジトリの推薦
  2. 02リポジトリの横並び比較
  3. 03トレンドリポジトリの検索と採点
  4. 04スコアの内訳と判定の表示

活用シーン

  1. 01プロジェクト要件に合うライブラリの選定
  2. 02採用前の候補リポジトリ比較
  3. 03言語別の新しいトレンドリポジトリ探し

MCP 対応

recommend_repos、compare_repos、trending_repos の3つのツールを MCP クライアントに提供します。stdio でのローカル実行と、ホスト型 HTTP サーバーに対応します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://whichlib.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://whichlib.com/mcp認証が必要
パッケージ
npmwhichlib0.2.4

ツール

3
パラメーター型必須説明
needstringはいニーズを平易な言葉で指定します。例:"python pdf parser"、"react state management"。ライブラリ名ではなく、実現したいタスクを指定してください。
limitintegerいいえ返すリポジトリ数。1-10。
languagestringいいえGitHub の言語名。例:"TypeScript"、"Python"、"Rust"、"C++"。JavaScript は TypeScript のリポジトリにも一致し、その逆も同様です。Python は Jupyter Notebook にも一致します。省略すると全言語を検索します。

詳細

whichlib

コーディングエージェント向けの依存関係選定ツールです。どのライブラリを使うべきか尋ねると、推測ではなく、スコア付きの検証済みの回答が得られます。

whichlib は、3 つのツールを備えた MCP サーバーです。MCP 2026-07-28 に対応しており、古いクライアントでも引き続き動作します。返されるすべてのリポジトリには、透明性のある 0~100 のスコア(勢い、メンテナンス状況、npm と PyPI のダウンロード数を含む採用状況、ライセンス)、ティア、1 行の評価、詳細な内訳が付いているため、エージェントは選定理由を説明でき、あなたもその理由を確認できます。

チーム向け(ウェイトリスト): リポジトリで使われている依存関係が古くなったときのアラートと、依存関係を追加する際にチームのコーディングエージェントが守るべきルールを提供します。ウェイトリストのイシューに 👍 を付けてください。登録が 20 件に達したら開発します。whichlib 自体は無料のままです。

インストール

Claude Code:

claude mcp add whichlib -- npx -y whichlib

Cursor、Windsurf、その他の MCP クライアント:

{ "mcpServers": { "whichlib": { "command": "npx", "args": ["-y", "whichlib"] } } }

Node 22 以降が必要です。アカウントも API キーも不要です。

インストールせずに使う場合(ホスト型、Node 不要):

claude mcp add --transport http whichlib https://whichlib.com/mcp

制限事項と Web API:https://whichlib.com/docs/

ツール

ツール尋ねる内容得られるもの
recommend_repos平易な言葉での need、任意の language、limit 1~10ニーズへの適合度(スコア × 関連性)で順位付けされた最適なリポジトリ。それぞれにダウンロード数と評価が付きます
compare_reposrepos:owner/repo 形式の名前を 2~10 個リポジトリを横並びで比較した結果。最適なものから順に、同じ内訳が表示されます
trending_reposperiod day / week / month / rising、任意の language、limit指定期間に作成され、スター数が最も多いリポジトリをスコア付きで表示します。rising では、今週獲得したスター数に基づき、作成時期を問わずリポジトリを表示します

Claude Code での例:「Python の PDF パーサーはどれを使うべき?」 → MinerU、pdfplumber、pypdf と、それぞれのスコア、週間ダウンロード数、「急上昇中、週 2.6 万ダウンロード、3 日前にプッシュ、Apache-2.0」といった評価が表示されます。

スコア

項目重み指標
勢い40%7 日間のスター獲得数(利用可能な場合は日ごとのスター数を使用)。それ以外は作成後の 1 日あたりのスター数を使用し、判明している場合は npm/PyPI のダウンロード傾向に応じて調整します(0.5~2 倍)。対数スケールです。
メンテナンス状況25%最終プッシュからの経過日数。30 日で満点、1 年で 0 点です。広く使われているリポジトリ(スター 1 万以上、または週間ダウンロード数 10 万以上)は、半分未満にはなりません。
採用状況25%スター数、フォーク数、npm/PyPI の週間ダウンロード数。対数スケールです。
ライセンス10%寛容なライセンスは 1.0、弱いコピーレフトは 0.75、強いコピーレフトは 0.5、ライセンスなしは 0 です。

ティア:Strong ≥ 75、Solid ≥ 50、Watch ≥ 25、Avoid。作成から 30 日未満のリポジトリは、スコアにかかわらず New(「評価するには新しすぎます」)になります。アーカイブ済みのリポジトリのスコアは 20 が上限です。20 件のニーズを使った評価では、最上位の推奨が 75% の確率で受け入れられ、上位 5 件には 100% の確率で受け入れられる候補が含まれます。評価とレポートはリポジトリ内にあります。

環境変数(すべて任意)

  • GITHUB_TOKEN:GitHub の検索上限を 1 分あたり 10 件から 30 件に引き上げます。権限のないファイン・グレインド・トークンで十分です。推奨ツールは呼び出しごとに 3 回検索します。
  • WHICHLIB_HISTORY=off:日ごとのスター数をダウンロードしません。デフォルトでは、サーバーは直近 10 日分を ~/.whichlib/stars/ に保持し、バックグラウンドで 12 時間に 1 回を上限として raw.githubusercontent.com から更新します。そのため、勢いの指標には、各言語の上位 1,000 件のリポジトリと、新たにトレンド入りしたリポジトリについて、実際の週間スター獲得数が使われます。このダウンロードで何かが送信されることはありません。
  • FRESH_REPOS_DATA_DIR:代わりに使用する日次スナップショットまたはスター数のフォルダーです(リポジトリのデータブランチを参照)。
  • WHICHLIB_TELEMETRY=off または DO_NOT_TRACK=1:匿名の呼び出し数カウントを無効にします。カウントされる情報:ツール名、ランダムなインストール ID、バージョン、プラットフォーム、Node のメジャーバージョン、呼び出し時の MCP プロトコルバージョン。クエリ、リポジトリ名、結果は決してカウントされません。集計値は https://whichlib-telemetry.todorovskijosif.workers.dev/stats で公開されています。

ソース、ダッシュボード、データ

リポジトリ:https://github.com/josifb/whichlib(MIT)。このリポジトリには、Fresh Repos ダッシュボード(新着リポジトリのスター数ランキング、日/週/月別、並べ替え可能、HTML ファイル 1 つ)、夜間のスナップショットとエンリッチメントのジョブ、おすすめ機能の評価、80 件以上のユニットテストも含まれています。

リポジトリの whichlib/ フォルダーから開発する場合:

npm test           # unit tests, no network
npm run mcp:smoke  # start the server over stdio and call every tool live
npm run eval       # 20-need recommendation eval (set GITHUB_TOKEN)
npm run snapshot   # today's top repos per period and language -> data/snapshots/
npm run enrich     # add npm / PyPI packages and weekly downloads to the latest snapshot
npm run score      # top repos from the latest snapshot with score and verdict
npm run pull-data  # copy snapshots from the data branch

構成:

mcp/server.mjs         MCP entry (stdio)        mcp/tools.mjs       tool logic
mcp/expand.mjs         query expansion          mcp/telemetry.mjs   anonymous call counting
mcp/github-api.mjs     GitHub client + cache    mcp/data.mjs        snapshot history provider
mcp/eval/              needs, metrics, runner, inspect, results/
lib/score.js           the score, shared by browser and Node
snapshot/src/          query, normalize, github, registry, enrich, history, run, score-report, pull-data
dashboard/index.html   redirect to whichlib.com/repos (Fresh Repos)

コメント

MCP は初めてですか?

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

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