should-i-use について
should-i-use は、コーディングエージェント向けにライブラリ選定、依存関係の確認、コード例を簡潔に案内する MCP サーバーです。内蔵インデックスにより実行時のネットワーク接続が不要で、応答は 500 トークン以内です。
主な機能
- 01ライブラリ候補と避ける理由を提示
- 02依存関係の保守状況と安定性を確認
- 03精選した代替案と評価を検索
- 04タスクに合ったコードスニペットを提示
- 05ドキュメントのリンクを検索
活用シーン
- 01依存関係を追加する前にライブラリを選ぶ
- 02既存プロジェクトの依存関係を確認
- 03注意点付きの使用例を探す
MCP 対応
ライブラリ選定、依存関係監査、代替案、使い方、ドキュメントリンクのツールを MCP クライアントに提供します。内蔵インデックスを使い、ネットワーク接続なしでローカル実行できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mrkeyoor.com/mcpclaude mcp add --transport http mrkeyoor-should-i-use https://mrkeyoor.com/mcp{"mcpServers":{"mrkeyoor-should-i-use":{"type":"http","url":"https://mrkeyoor.com/mcp"}}}Cursor で開く{"servers":{"mrkeyoor-should-i-use":{"type":"http","url":"https://mrkeyoor.com/mcp"}}}VS Code で開く{"mcpServers":{"mrkeyoor-should-i-use":{"type":"http","url":"https://mrkeyoor.com/mcp"}}}{"mcpServers":{"mrkeyoor-should-i-use":{"serverUrl":"https://mrkeyoor.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
6| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| task | string | はい | 実行したい作業(例:"parse CSV files in node") |
| ecosystem | enum | いいえ | 任意のレジストリフィルターnpm | pypi |
詳細
should-i-use
エージェントに何をインストールすべきでないかを教える MCP です。
多くのライブラリドキュメント用 MCP サーバーは、何千ものトークンに及ぶドキュメントをコンテキストに投入し、モデルに整理させます。このツールは、どのライブラリを選ぶべきか、どれを避けるべきか、そしてその方法を直接答えます。回答は通常 25〜360 トークンです。すべての回答は 500 トークンを上限としています。
992 件のライブラリをインデックス化済み。最終更新日:2026-08-16。
インデックスは毎日拡大しています。データは、厳選した npm および PyPI ライブラリのセットをもとにしています。各ライブラリ独自のドキュメントに基づき、定められた基準に沿って率直にまとめられたガイドには、実際のセットアップ方法、使うべきでない場面、検証済みの代替案、4 軸のスコアカード、バージョンに適合したコードスニペットが含まれます。ライブラリがインデックスにない場合は、推測せずにその旨を明確に伝えます。
コンテキストを無制限の入れ物ではなく予算として扱う Context7 の代替ツールをお探しなら、これが最適です。
クイックスタート
API キーもデータベースも不要です。インデックスはパッケージに同梱されています。
npx should-i-use-mcp install
これにより、お使いのマシンにすでに存在するエージェント設定ファイルに、サーバーのエントリーが書き込まれます。対応するのは Claude Code、Claude Desktop、Cursor、Windsurf、Cline、VS Code、Zed、Codex、Gemini CLI です。変更するファイルは、まず .bak としてバックアップされます。その後、エージェントを再起動してください。
ホームディレクトリではなく、リポジトリ内の設定にする場合:
npx should-i-use-mcp install --project
カレントディレクトリに .mcp.json と .cursor/mcp.json が書き込まれるため、リポジトリをクローンした全員がサーバーを使えます。
Claude Code で 1 行
claude mcp add should-i-use -- npx -y should-i-use-mcp
手動で設定する
JSON を自分で編集する場合は、クライアントの MCP 設定に以下を追加してください(Cursor なら ~/.cursor/mcp.json、Windsurf なら ~/.codeium/windsurf/mcp_config.json、macOS または Windows の Claude Desktop 設定など)。
{
"mcpServers": {
"should-i-use": {
"command": "npx",
"args": ["-y", "should-i-use-mcp"]
}
}
}
その他の MCP クライアントでは、コマンドに npx、引数に ["-y", "should-i-use-mcp"] を指定します。ローカルのチェックアウトから実行する場合は、コマンドに node、引数に ["/path/to/should-i-use/server.js"] を指定します。VS Code では同じオブジェクトを mcpServers ではなく servers の下に置き、Zed では context_servers の下に置きます。インストーラーはどちらにも対応しています。
ホスト型エンドポイント(順次公開中)
ホスト型のストリーミング可能な HTTP エンドポイント https://mrkeyoor.com/mcp を順次公開しています。ライブインデックスを提供するため、npm のスナップショットより 1 日ほど新しい場合があります。現在は、上記の npx によるインストールが安定した方法です。
ツール
| ツール | 呼び出し例 | 戻り値 |
|---|---|---|
pick_library | pick_library("parse CSV files in node") | 上位 1〜3 件の候補と 1 行の理由、さらに最有力候補を避けるべき場合の警告 |
should_i_use | should_i_use("moment") | 判定、理由付きの 4 軸スコア、優先度の高い回避条件、最終プッシュおよびダウンロード状況 |
audit_dependencies | audit_dependencies(<contents of package.json>) | 判断する価値のある依存関係のみ:メンテナンスされていないもの、不安定なもの、入れ替えを検討する価値があるもの |
alternatives | alternatives("axios") | 「この場合はこちらを優先」の説明と判定を添えた、厳選済みの代替案 |
how_do_i | how_do_i("got", "retry a failed request") | タスクに最適な 1〜2 件のコードスニペットと注意点のみ |
docs_link | docs_link("fastapi", "middleware") | ドキュメントの URL とリポジトリのリンクをそれぞれ 1 行で表示 |
audit_dependencies
コンセプトは「npm install の前に確認する」です。このツールは、自分で書いていないコードベースで、すでにインストールが行われてしまった場合に使います。
package.json、requirements.txt、pyproject.toml の内容、または改行区切りの名前のリストを渡します。人が判断する必要がある依存関係だけを返し、REPLACE(メンテナンスされていない)、WATCH(API が不安定、またはメンテナンスが手薄)、WORTH RECONSIDERING(見送る理由と代替案を明記)のカテゴリに分類します。大多数を占める問題のない依存関係については何も言わず、インデックスにないパッケージについては、意見をでっち上げず何も返しません。
実際の出力(編集なし):
REPLACE (1 unmaintained):
- crypto-js: last push 2.0y ago, still 19.3M/wk. Nineteen million weekly
downloads of pure inertia behind a library whose own README tells you to
stop using it. Consider @noble/hashes or @noble/ciphers.
REPLACE (1 unmaintained):
- python-jose: last push 4mo ago, still 10.6M/wk. It works, it is widely
deployed, and the API is pleasant, but a cryptography library with a
three-and-a-half-year release gap and a ten-month turnaround on two
critical advisories is not where new code should start. Consider pyjwt
or joserfc.
どちらも現在広く使われている人気のパッケージです。ダウンロード数はメンテナンス状況を示す指標ではありません。それこそが、このツールが埋めるギャップです。
インストール後に試す最初のプロンプトとしておすすめです:「依存関係を監査して」。
測定したトークン予算
- 通常の回答:ツールやライブラリのページに記載されている情報量に応じて、25〜360 トークンです。
- 上限:1 回の応答につき 500 トークンです。
clamp.jsで制限されます。長い回答は文の区切りで切り、docs_linkへのリンクを付けます。 - スモークテスト(
npm run smoke)ではサーバーを起動し、バンドルされたデータに対してすべてのツールを呼び出して、応答が上限を超えると失敗します。この予算はテストであり、保証ではありません。
このインデックスから無作為に選んだライブラリについて、20 件のクエリを 10 ラウンド行い、Context7 と比較しました。トークン数は文字数÷4で推定しています。こちらは how_do_i の 1 回の呼び出し、Context7 はエージェントが実際に行う 2 回の呼び出し、つまり resolve-library-id と既定の予算でのドキュメント呼び出しを対象としています。クエリ文は各ライブラリの説明だけをもとに作成し、保存済みの回答は参照していません。
| 回答あたりのトークン数(中央値) | |
|---|---|
| should-i-use | 238 |
| Context7 | 1154 |
| 比率 | 4.8x(各ラウンドの範囲は 3.9x〜6.2x) |
200 件のうち、199 件は両方のサーバーが回答しました。Context7 には利用できる項目がないライブラリが 1 件あり、このインデックスにはありませんでした。
ここに示した数値はすべて実測した MCP の応答に基づくもので、ベンダーの主張ではありません。この比率が証明することと、証明しないことについては、以下の制限事項をご覧ください。
データの作成方法
各項目は、ライブラリの公式ドキュメントに基づいて固定の評価基準で作成されたガイドで、バリデーターによる検証を通過し、レジストリとリポジトリのシグナルで裏付けられています。ドキュメントをスクレイピングしたものではありません。
- ガイドと評価結果:ライブラリの概要、使用する場合、見送る場合。Keyoor が mrkeyoor.com/libs で公開しています。
- スコア:4 つの軸(API の安定性、ドキュメントの品質、メンテナンス、エコシステム)をそれぞれ 1〜5 で評価し、各スコアに 1 行の理由を添えています。
- シグナル:最終プッシュ日時、週間ダウンロード数、スター数をレジストリと GitHub から毎日更新しています。
- スニペット:インデックス対象のバージョンで検証し、それぞれに注意点を付けています。
バンドルされたスナップショット(data/libraries.json)は、毎日このインデックスからエクスポートされます。誠実さとは、メンテナンス状況のシグナルがそう示す場合、人気の選択肢でも見送るよう伝えることです。掲載やスコア変更のために料金を支払ったライブラリはありません。
SHOULD_I_USE_DATA=/path/to/libraries.json を設定すると、独自のスナップショット(同じ形式:ライブラリドキュメントの JSON 配列)をサーバーに指定できます。
要件
- Node 20+
- ほかには何も必要ありません。データベースも、実行時のネットワークアクセスも不要です。
制限事項
利用する前に知っておくとよい点:
- 対象範囲は厳選されており、網羅的ではありません。 数百のライブラリを対象としており、npm や PyPI のすべてのパッケージを扱うわけではありません。そのため、
audit_dependenciesはインデックスにないものについては何も報告せず、監査結果に問題がない場合も、「把握している範囲で指摘事項がない」という意味であり、「依存関係に問題がない」という意味ではありません。 - ポリシー行を追加しない限り、ツールからの助言にとどまります。 エージェントは必要と判断したときに MCP ツールを呼び出すため、単独では強い推奨にすぎず、インターセプターとしては機能しません。すべての
npm installにチェックを強制するものではありません。チェックをほぼ自動化するには、プロジェクト内でnpx should-i-use-mcp install --with-policyを実行します。これにより、依存関係に関するポリシーが1行追記されます。CLAUDE.md/AGENTS.mdのどちらも存在しない場合は、AGENTS.mdが作成されます。プロジェクトのルールを読むエージェントは、依存関係を追加する前にインデックスを確認するようになります。 - ガイドは調査に基づくもので、実機検証ではありません。 各ガイドは、一定の評価基準に基づき、ライブラリのドキュメント、リリースノート、変更履歴、イシュー履歴を調査して作成されています。各リリースを実際にインストールして試したものではありません。ダウンロード数上位50件については、クリーンなコンテナーでのインストール検証も行っています(直近の実行では49/50件が問題なく完了。タイムアウトした1件は sglang の CUDA ホイールツリーで、ライブラリ独自のガイドにも注意書きがあります)。
- ガイドは作成時点の情報です。 シグナルは毎日更新され、ガイドはパイプラインでレビューされています。そのため、今週大規模なリリースを行ったライブラリや、新しいメンテナーが見つかったライブラリについて、ガイドの内容が最新情報に追いついていない場合があります。回答が古く見える場合は、
docs_linkを確認してください。 pick_libraryは埋め込み表現ではなく、キーワードで順位付けします。 平易な表現ならうまく機能しますが、珍しい言い回しや比喩的な表現では、まったく一致しないことがあります。一致するものがない場合は、曖昧な回答を返すのではなく、その旨を伝えますが、表現を変える必要があるかもしれません。- ベンチマークは参考値であり、決定的なものではありません。 ランダムに抽出したライブラリを対象に、20件のクエリを10ラウンド実行し、2日間にわたって測定しました。4.8倍という比率は実測値であり、ラウンドごとの範囲は3.9倍~6.2倍です。一般法則ではありません。手法とすべての結果は bench/ にあります。数値が重要であれば、ご自身で再実行してください。
- 判定は見解です。 情報に基づき、出典を示して論じていますが、それでも一個人の判断です。判定に異議を唱えることは、正当なバグ報告です。
コントリビューション
- ライブラリが見つからない、または判定が誤っている場合は? イシューを作成してください。判定への異議によって、インデックスは改善されていきます。
- コードの変更:サーバー(
server.js、tools.js、clamp.js、data.js、install.js)への PR を歓迎します。レスポンスは500トークン以内にしてください。npm run smokeでチェックされます。 - データの変更:
data/libraries.jsonは自動生成されるため、編集しても次回のエクスポートで上書きされます。代わりにイシューを作成してください。修正は上流に反映されます。
ライセンス
- コード:MIT
- データ(
data/libraries.json):CC BY 4.0。mrkeyoor.com をクレジット表記してください。data/LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。