dep-scout について
dep-scoutは、機能を一から実装する前にパッケージレジストリを調べるコーディングエージェント向けのMCPサーバーです。6つのエコシステムを検索し、再利用の品質で候補を順位付けしながら、セキュリティ勧告とライセンスリスクを示します。APIキーは不要です。
主な機能
- 016つのパッケージエコシステムを検索
- 02再利用品質によるパッケージの順位付け
- 03OSVセキュリティ勧告の確認
- 04ライセンスとコンプライアンスリスクの提示
- 05公式MCPレジストリの検索
活用シーン
- 01機能に適したメンテナンス中のパッケージ探し
- 02依存関係の既知の脆弱性確認
- 03パッケージのライセンスリスク確認
- 04既存のMCPサーバー探し
MCP 対応
標準入出力経由で、パッケージ検索、パッケージ検査、MCPレジストリ検索のツールをMCPクライアントに提供します。データソースは公開APIで、APIキーは不要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
dep-scout
先に調べてから作る(research before you build) — AI コーディングエージェントが車輪の再発明をするのを防ぐ MCP サーバーです。
エージェントが機能をゼロから書き始める前に、dep-scout は適切なレジストリ — crates.io(Rust)、npm(JS/TS/フロントエンド)、PyPI(Python)、pkg.go.dev(Go)、Maven Central(Java/Kotlin)、NuGet(.NET) — を検索し、すでに問題を解決している成熟したパッケージを探します。さらに、各候補を再利用品質(人気度、メンテナンスの最近の状況、バージョンの安定性、メタデータ)でスコアリングし、既知のセキュリティ勧告(OSV)とライセンスコンプライアンス上のリスクに警告を出します。エージェントは、バグのあるコードを独自に作る代わりに、実績があり安全なソリューションを再利用できます。また、公式のMCP レジストリも検索できるため、エージェントは MCP サーバーを新たに構築せず、既存のものを再利用できます。
stdio 経由で Cursor(およびあらゆる MCP クライアント)と連携します。API キーは不要です — すべてのデータソースは、キー不要の公開 API です。
理由
AI は今や多くのコードを書くようになりました — そして最悪の習慣は、解決済みの問題を再実装したり、放棄されたライブラリを選んだり、パッケージを幻覚したりすることです。dep-scout は、*「メンテナンスされているパッケージですでに実現できるなら、自分で作らない」*というベストプラクティスを、エージェントが言語を問わず自動的に呼び出すツールにします。
ツール
| ツール | 内容 |
|---|---|
find_packages | 機能の説明と ecosystem(rust | npm | python | go | maven | nuget)を指定すると、0~100 の再利用スコア、シグナル、警告とともに、順位付けされた候補を返します。 |
inspect_package | 正確な名前とエコシステムを指定して、1 つのパッケージを詳細に調査します。ライセンス(およびコンプライアンスフラグ)、既知の OSV 脆弱性、非推奨/取り下げの状態、ランタイム/バージョン要件、ダウンロード数または GitHub スター数、最終更新時期を確認できます。 |
find_mcp_servers | 公式 MCP レジストリを検索し、既存の MCP サーバー(名前、インストール情報、リポジトリ、ステータス)を探します — MCP サーバーを作り直さずに済みます。 |
ecosystem ではエイリアスを使用できます:js/ts/javascript/typescript/node/frontend → npm、
py/pip → python、golang → go、java/kotlin/gradle/jvm → maven、
dotnet/csharp/net → nuget、rs/cargo → rust。
再利用スコア(0~100)
- 人気度(≤40) — ダウンロード数を約90日間の期間に正規化します。公開ダウンロード統計がない Go/Maven では、代替指標として GitHub スター数を使用します。
- メンテナンス状況(≤30) — パッケージが最後に更新された時期。
- 安定性(≤15) — 安定版の
1.0+と0.xの比較、およびプレリリースへの減点。 - メタデータ(≤15) — リポジトリ、ドキュメント/ホームページ、ライセンスの有無。
- セキュリティ減点 — 解決されたバージョンに既知の OSV 勧告があると、スコアが下がり、候補の順位も下がります。
- ライセンスフラグ — コピーレフト/商用利用が制限されるライセンス(GPL、AGPL、LGPL、MPL、SSPL、BUSL など)をコンプライアンス上の警告として表示します。
- 減点 — 最新バージョンが取り下げられている(crates/PyPI)か、非推奨になっている(npm)場合。
判定:≥78 ✅ 強く推奨 · 58–77 🟡 利用可能 · 38–57 🟠 慎重に利用 ·
<38 🔴 代替を探してください。
ランキングではテキスト上の関連性(クエリ語との一致、名前の完全一致)と再利用スコア、レジストリ独自の並び順を組み合わせるため、関連性と品質の両方に優れた結果が得られます。
データソース(すべてキー不要)
| エコシステム | 検索 | 詳細 | 人気度 |
|---|---|---|---|
| Rust | crates.io API(関連度とダウンロード数を統合) | crates.io API | crates.io のダウンロード数(過去90日間) |
| npm | registry.npmjs.org/-/v1/search | registry.npmjs.org/{pkg}/latest | api.npmjs.org(先月) |
| Python | deps.dev の名前検索(トークンによるフォールバックあり) | pypi.org/pypi/{pkg}/json | pypistats(先月) |
| Go | deps.dev の名前検索 | deps.dev v3(GetPackage/GetVersion/GetProject) | GitHub のスター数 |
| Java/Kotlin | Maven Central の solr 検索 | deps.dev v3 | GitHub のスター数 |
| .NET | NuGet 検索 API | NuGet 検索 API | NuGet の総ダウンロード数 |
| MCP サーバー | 公式 registry.modelcontextprotocol.io | — | — |
| セキュリティ | すべてのエコシステムを対象とした OSV.dev の query(詳細)+querybatch(フラグ) |
Python に関する注意: PyPI には公開された全文検索 API がありません(レガシーな XML-RPC 検索は廃止され、ウェブ検索はボットによってブロックされています)。そのため、Python の検索は deps.dev による名前指向です。クエリがライブラリ名そのもの、またはライブラリ名を含む場合に効果を発揮します。機能を表す語句だけで検索する場合は、既知の名前を指定して
inspect_packageを使うことをおすすめします。
ビルド
最近の Rust ツールチェーン(edition 2024)が必要です。
cargo build --release
バイナリは target/release/dep-scout(Windows では .exe)に生成されます。
Cursor での使用
-
MCP サーバーを登録します。移植可能なプロジェクト設定は
.cursor/mcp.jsonにあります。cargo run --releaseを使用するため、 マシン固有のパスは必要ありません。グローバルに使用するには、~/.cursor/mcp.jsonにエントリを追加します。{ "mcpServers": { "dep-scout": { "command": "/absolute/path/to/dep-scout/target/release/dep-scout" } } }Windows では
...\\target\\release\\dep-scout.exeを使用します。バイナリへの直接パスを指定する場合は、 先にリリースバイナリをビルドしてください(上記のcargo build --release)。 -
Cursor を再起動すると、ツールが有効になった
dep-scoutが表示されます。 -
.cursor/rules/research-before-build.mdcルールにより、エージェントはビルドの前に検索を行います。クライアントに依存しない 移植可能なバージョンはskill/SKILL.mdにあります。
通信方式
公式の rmcp SDK を基盤とし、stdio 上で標準 MCP(JSON-RPC 2.0)を使用します。ログは stderr に出力されるため、stdout 上のプロトコルストリームを破損することはありません。
ロードマップ
- 対応エコシステムの拡大:Ruby(RubyGems)、PHP(Packagist)、Dart/Flutter(pub.dev)。
- エコシステムごとの人気度の調整(npm/PyPI のボリュームは crates.io を大きく上回ります)。
- NuGet の最終更新日時の新しさ、および Maven の検索ランキングの強化。
- リポジトリの健全性を示すシグナルの拡充(未解決の issue、リリース頻度、メンテナー数)。
- キュレーションされた信頼性・品質データセット — 単なるレジストリミラーに対する、本当の競争優位性です。
プロジェクト構成
src/
main.rs # MCP server + tools (find_packages / inspect_package / find_mcp_servers)
model.rs # Ecosystem enum, normalised Package, reuse scoring, relevance
sources.rs # keyless registry clients (crates.io, npm, PyPI, deps.dev, MCP registry)
.cursor/
rules/research-before-build.mdc # always-on Cursor rule
mcp.json # local server registration
skill/SKILL.md # portable skill for any MCP client
MCP Registry
公式 MCP Registry に
io.github.unievolver/dep-scout として公開されています。GitHub Releases から
.mcpb バンドルをダウンロードするか、ソースから cargo build --release でビルドしてください。
- MCP Registry 名:
mcp-name: io.github.unievolver/dep-scout
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。