dep-scout

io.github.unievolver由 GitHub 账号 unievolver 发布v0.2.0更新于 Oct 25, 2026

Help AI agents find and evaluate mature packages across 6 ecosystems instead of reinventing them.

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

一个本地 MCP 服务器,让编程助手在六个包仓库中查找成熟库、评估复用质量,并检查安全与许可证风险。

可以做什么
在 crates.io、npm、PyPI、Go、Maven Central 和 NuGet 中按功能描述搜索包,返回带 0–100 复用评分和警告的排序候选。按精确名称和生态深入查看单个包的许可证、已知 OSV 漏洞、弃用或撤回状态、版本要求、流行度和最近更新时间。搜索官方 MCP 注册表,找到现成的 MCP 服务器,避免重复开发。
适用场景
适合在 AI 编程助手准备从零实现某个功能时,先确认是否已有维护良好的包可用;也适合在引入某个依赖前快速了解其健康状况、许可证和已知漏洞。
运行要求
以本地 stdio 进程运行,可通过 .mcpb 包分发,或用较新的 Rust 工具链(edition 2024)从源码构建。无需 API 密钥或环境变量,所有数据源都是公开的免密钥 API,但需要网络访问。
安装前请注意
仅做只读查询,但查询内容和包名会发送给第三方公共服务(crates.io、npm、PyPI、deps.dev、Maven Central、NuGet、OSV、MCP 注册表)。评分以及许可证、漏洞标记只是参考性启发式结果,不能替代自行审查。

安装

在 SourceWeft 中

  1. 打开 控制台中的 dep-scout,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

dep-scout

先查再造 (research before you build) — an MCP server that stops AI coding agents from reinventing the wheel.

Before an agent writes a feature from scratch, dep-scout searches the right registry — crates.io (Rust), npm (JS/TS/frontend), PyPI (Python), pkg.go.dev (Go), Maven Central (Java/Kotlin) or NuGet (.NET) — for a mature package that already solves the problem, and scores each candidate on reuse quality (popularity, maintenance recency, version stability, metadata) — and flags known security advisories (OSV) and license-compliance risks. The agent then reuses a proven, safe solution instead of hand-rolling buggy code. It can also search the official MCP registry so the agent reuses an existing MCP server instead of building one.

Works with Cursor (and any MCP client) over stdio. No API keys — every data source is a keyless public API.

Why

AI now writes a lot of code — and its worst habit is reimplementing solved problems, picking abandoned libraries, or hallucinating packages. dep-scout turns the best practice "don't build it if a maintained package already does it" into a tool the agent calls automatically, across languages.

Tools

ToolWhat it does
find_packagesGiven a feature description + ecosystem (rust | npm | python | go | maven | nuget), returns ranked candidates with a 0–100 reuse score, signals, and warnings.
inspect_packageDeep-dives one package by exact name + ecosystem: license (+ compliance flag), known OSV vulnerabilities, deprecation/yank status, runtime/version requirements, downloads or GitHub stars, last-update recency.
find_mcp_serversSearches the official MCP registry for existing MCP servers (name, install info, repo, status) — so you don't rebuild one.

ecosystem accepts aliases: js/ts/javascript/typescript/node/frontend → npm, py/pip → python, golang → go, java/kotlin/gradle/jvm → maven, dotnet/csharp/net → nuget, rs/cargo → rust.

Reuse score (0–100)

  • Popularity (≤40) — downloads normalised to a ~90-day window; for Go/Maven (no public download stats) GitHub stars are used as a proxy.
  • Maintenance (≤30) — how recently the package was updated.
  • Stability (≤15) — stable 1.0+ vs 0.x; penalty for pre-releases.
  • Metadata (≤15) — repository, docs/homepage, license present.
  • Security penalty — known OSV advisories on the resolved version sink the score and de-rank the candidate.
  • License flag — copyleft / commercially-restricted licenses (GPL, AGPL, LGPL, MPL, SSPL, BUSL…) are surfaced as compliance warnings.
  • Penalty — latest version yanked (crates/PyPI) or deprecated (npm).

Verdicts: ≥78 ✅ strongly recommend · 58–77 🟡 usable · 38–57 🟠 cautious · <38 🔴 find an alternative.

Ranking blends textual relevance (query-term overlap, exact-name match) with the reuse score and the registry's own ordering, so results are both on-topic and high quality.

Data sources (all keyless)

EcosystemSearchDetailsPopularity
Rustcrates.io API (relevance + downloads merge)crates.io APIcrates.io downloads (90-day)
npmregistry.npmjs.org/-/v1/searchregistry.npmjs.org/{pkg}/latestapi.npmjs.org (last-month)
Pythondeps.dev name search (+ token fallback)pypi.org/pypi/{pkg}/jsonpypistats (last-month)
Godeps.dev name searchdeps.dev v3 (GetPackage/GetVersion/GetProject)GitHub stars
Java/KotlinMaven Central solr searchdeps.dev v3GitHub stars
.NETNuGet search APINuGet search APINuGet total downloads
MCP serversofficial registry.modelcontextprotocol.io——
SecurityOSV.dev query (detail) + querybatch (flag) across all ecosystems

Python note: PyPI has no public full-text search API (the legacy XML-RPC search is gone and the web search is bot-blocked), so Python search is name-oriented via deps.dev. It excels when the query is/contains the library name; for pure capability phrases, prefer inspect_package with a known name.

Build

Requires a recent Rust toolchain (edition 2024).

bash
cargo build --release

The binary is produced at target/release/dep-scout (.exe on Windows).

Use in Cursor

  1. Register the MCP server. A portable project config lives at .cursor/mcp.json — it uses cargo run --release so no machine-specific paths are required. For global use, add an entry to ~/.cursor/mcp.json:

    json
    {  "mcpServers": {    "dep-scout": {      "command": "/absolute/path/to/dep-scout/target/release/dep-scout"    }  }}

    On Windows use ...\\target\\release\\dep-scout.exe. Build the release binary first (cargo build --release above) when using a direct binary path.

  2. Restart Cursor; you should see dep-scout with its tools enabled.

  3. The .cursor/rules/research-before-build.mdc rule makes the agent search before building. A portable, client-agnostic version lives at skill/SKILL.md.

How it talks

Standard MCP over stdio (JSON-RPC 2.0), built on the official rmcp SDK. Logs go to stderr so they never corrupt the protocol stream on stdout.

Roadmap

  • More ecosystems: Ruby (RubyGems), PHP (Packagist), Dart/Flutter (pub.dev).
  • Per-ecosystem popularity calibration (npm/PyPI volumes dwarf crates.io).
  • Last-update recency for NuGet; richer Maven search ranking.
  • Deeper repo health signals (open issues, release cadence, maintainer count).
  • A curated trust/quality dataset — the real moat over a plain registry mirror.

Project layout

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 registrationskill/SKILL.md                      # portable skill for any MCP client

MCP Registry

Published to the official MCP Registry as io.github.unievolver/dep-scout. Download the .mcpb bundle from GitHub Releases or build from source with cargo build --release.

  • MCP Registry name: mcp-name: io.github.unievolver/dep-scout

License

MIT

来源:README.md,提交 0de4f9e

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分