Should I Use

io.github.mrkeyoor由 GitHub 账号 mrkeyoor 发布v0.3.2更新于 Oct 24, 2026

Honest library picks for coding agents in 25-360 tokens. Tells your agent what NOT to install.

已验证Streamable HTTP可网页运行知识与记忆开发者工具

概览

AI 生成的概览

为编码助手提供简短、有观点的库推荐、评估、替代方案、代码片段和依赖审计,数据来自精选索引。

可以做什么
  • 针对编码任务推荐 1-3 个库,附理由和避坑提醒
  • 对指定库给出评估:四维评分、何时不该用、维护信号
  • 列出精选替代方案及“何时优先选它”的说明
  • 返回某任务的最佳代码片段及其注意事项
  • 审计 package.json、requirements.txt 或 pyproject.toml 内容中的失修或不稳定依赖
  • 返回库的官方文档与仓库链接
适用场景
适合助手在安装某个库之前做选型,或在陌生代码库中快速检查依赖状况。回答刻意精简,适合上下文预算紧张的代理。
运行要求
本地 npm 包(npx should-i-use-mcp)需要 Node 20+;无需 API 密钥、数据库,运行时也不需要联网。另提供托管的 streamable-HTTP 端点。可选设置 SHOULD_I_USE_DATA 指向自己的快照文件。
安装前请注意
安装器会写入已有的代理配置文件(先备份为 .bak),使用 --with-policy 时还会向 CLAUDE.md 或 AGENTS.md 追加一行依赖策略。索引只覆盖精选子集,审计无告警不代表依赖安全,评估结论属于个人观点。

安装

在 SourceWeft 中

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

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.mrkeyoor%2Fshould-i-use/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "should-i-use": {
      "type": "http",
      "url": "https://mrkeyoor.com/mcp"
    }
  }
}

README

should-i-use

The MCP that tells your agent what NOT to install.

Most library docs MCP servers dump thousands of tokens of documentation into your context and let the model sort it out. This one answers the actual question: which library to pick, which to skip, and how to do the thing. Typical answers run 25 to 360 tokens. Every response is hard-clamped at 500.

992 libraries indexed. Last updated: 2026-08-16.

The index grows daily. Data comes from a curated set of npm and PyPI libraries with honest guides written to a fixed rubric and grounded in each library's own docs: what a library is actually like to set up, when you should not use it, verified alternatives, 4-axis scorecards, and version-correct code snippets. If a library is not indexed, the tools say so plainly instead of guessing.

If you want a Context7 alternative that treats context as a budget rather than a bucket, this is it.

Quickstart

No API key, no database. The index ships inside the package.

npx should-i-use-mcp install

That writes the server entry into whichever agent configs already exist on your machine: Claude Code, Claude Desktop, Cursor, Windsurf, Cline, VS Code, Zed, Codex, Gemini CLI. Each file it touches is backed up as .bak first. Restart your agent afterwards.

For a repo-local config instead of your home directory:

npx should-i-use-mcp install --project

That writes .mcp.json and .cursor/mcp.json in the current directory, so everyone who clones the repo gets the server.

Claude Code, one line

claude mcp add should-i-use -- npx -y should-i-use-mcp

By hand

If you would rather edit the JSON yourself, add this to your client's MCP config (~/.cursor/mcp.json for Cursor, ~/.codeium/windsurf/mcp_config.json for Windsurf, the Claude Desktop config on macOS or Windows, and so on):

json
{  "mcpServers": {    "should-i-use": {      "command": "npx",      "args": ["-y", "should-i-use-mcp"]    }  }}

Any other MCP client: command npx, args ["-y", "should-i-use-mcp"]. Running from a local checkout: command node, args ["/path/to/should-i-use/server.js"]. VS Code puts the same object under servers instead of mcpServers, and Zed under context_servers; the installer handles both.

Hosted endpoint (rolling out)

A hosted streamable-HTTP endpoint is rolling out at https://mrkeyoor.com/mcp. It serves the live index, so it can be a day fresher than the npm snapshot. The npx install above is the stable path today.

Tools

ToolExample callWhat you get back
pick_librarypick_library("parse CSV files in node")Top 1-3 picks with one-line reasoning, plus a skip warning for the winner
should_i_useshould_i_use("moment")Verdict, 4-axis scores with reasons, top skip-if items, last push and download signals
audit_dependenciesaudit_dependencies(<contents of package.json>)Only the dependencies worth a decision: unmaintained, unstable, or worth swapping
alternativesalternatives("axios")Curated alternatives with "prefer it when" lines and verdicts
how_do_ihow_do_i("got", "retry a failed request")The 1-2 best snippets for the task plus their gotchas, nothing else
docs_linkdocs_link("fastapi", "middleware")Docs URL and repo link, one line each

audit_dependencies

The pitch is "ask before you npm install". This is the tool for the codebase you did not write, where the installing already happened.

Pass it the contents of package.json, requirements.txt, pyproject.toml, or just a newline-separated list of names. It returns only the dependencies that need a human decision, sorted into REPLACE (unmaintained), WATCH (unstable API or thin maintenance), and WORTH RECONSIDERING (a documented reason to skip plus a named alternative). It stays quiet about the boring majority, and it says nothing at all about packages that are not in the index rather than inventing an opinion.

Real output, unedited:

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.

Both of those are popular packages in current use. Download count is not a maintenance signal, and that is the gap this tool is for.

A good first prompt after installing: "audit my dependencies".

Token budget, measured

  • Typical answer: 25 to 360 tokens, depending on the tool and how much the library page has to say.
  • Hard cap: 500 tokens per response, enforced in clamp.js. Long answers are cut at sentence boundaries with a pointer to docs_link.
  • The smoke test (npm run smoke) spawns the server, calls every tool against the bundled data, and fails if any response breaks the cap. The budget is a test, not a promise.

Measured against Context7 across 10 rounds of 20 queries on libraries sampled at random from this index, tokens estimated as chars/4. Ours is one how_do_i call; theirs is the two calls an agent actually makes, resolve-library-id plus the docs call at its default budget. Query text was authored from each library's description only, never from our stored answers.

Median tokens per answer
should-i-use238
Context71154
Ratio4.8x (round range 3.9x-6.2x)

Of 200 rows, 199 were answered by both servers; Context7 had no usable entry for 1 library, this index for 0.

Every number there is a measured MCP response, not a vendor claim. See the limitations below for what that ratio does and does not prove.

How the data is made

Every entry is a guide written to a fixed rubric, grounded in the library's own docs and validator-gated, backed by registry and repo signals — not scraped docs:

  • Guides and verdicts: what the library is, when to use it, when to skip it, published at mrkeyoor.com/libs by Keyoor.
  • Scores: 4 axes (API stability, docs quality, maintenance, ecosystem), 1-5 each, with a one-line reason per score.
  • Signals: last push, weekly downloads, and stars refreshed daily from the registries and GitHub.
  • Snippets: checked against the indexed version, each with its gotcha.

The bundled snapshot (data/libraries.json) is exported daily from that index. Honest means the index will tell you to skip the popular option when the maintenance signals say so. No library has paid to be listed or to change a score.

Set SHOULD_I_USE_DATA=/path/to/libraries.json to point the server at your own snapshot (same shape: a JSON array of library docs).

Requirements

  • Node 20+
  • Nothing else. No database, no network access at runtime.

Limitations

Worth knowing before you rely on it:

  • Coverage is curated, not complete. A few hundred libraries, not every package on npm and PyPI. audit_dependencies therefore stays quiet on anything unindexed, and a clean audit means "nothing flagged in what I know", not "your dependencies are fine".
  • The tools are advisory unless you add the policy line. An agent calls MCP tools when it decides to, so on its own this is a strong suggestion, not an interceptor: nothing forces every npm install through a check. To make the check near-automatic, run npx should-i-use-mcp install --with-policy inside a project: it appends a one-line dependency policy to your CLAUDE.md/AGENTS.md (creating AGENTS.md if neither exists), and agents that read project rules will then consult the index before adding any dependency.
  • Guides are research, not test drives. Each guide is grounded in the library's documentation, release notes, changelog, and issue history on a fixed rubric, not a hands-on install of every release. The 50 most-downloaded entries are additionally install-verified in clean containers (latest run: 49/50 clean; the one timeout was sglang's CUDA wheel tree, which its own guide warns about).
  • Guides are point-in-time. Signals refresh daily and guides are reviewed on a pipeline, so a library that shipped a big release or found a new maintainer this week can be ahead of what the guide says. Check docs_link when the answer looks stale.
  • pick_library ranks on keywords, not embeddings. Plain phrasing works well; unusual or metaphorical phrasing can miss entirely. If nothing matches, it says so instead of returning a shrug, but you may need to reword.
  • The benchmark is indicative, not definitive. 10 rounds of 20 queries on randomly sampled libraries, measured across two days. The 4.8x ratio is a real measurement with a 3.9x-6.2x round range, not a general law. The method and every row are in bench/; rerun it yourself if the number matters to you.
  • Verdicts are opinions. Informed, sourced, and argued, but still one person's judgment call. Disagreeing with one is a valid bug report.

Contributing

  • Missing library or wrong verdict? Open an issue. Challenges to verdicts are how the index gets better.
  • Code changes: PRs welcome for the server (server.js, tools.js, clamp.js, data.js, install.js). Keep responses inside the 500 token cap; npm run smoke enforces it.
  • Data changes: data/libraries.json is generated, so edits to it get overwritten by the next export. File an issue instead and the fix lands upstream.

License

来源:README.md,提交 aa3c0f1

工具

6

pick_library

Pick a library

Given a coding task, recommend 1-3 libraries from the should-i-use index with one-line reasoning and an honest warning about the top pick. Use before installing anything.

输入参数task必填ecosystem

should_i_use

Should I use this library?

Honest verdict on a specific library: 4-axis scores with reasons, when to skip it, and maintenance signals (last push, weekly downloads).

输入参数library必填

alternatives

Library alternatives

Curated alternatives to a library, each with a one-line "prefer it when" and a verdict if the alternative is also indexed.

输入参数library必填

how_do_i

How do I do this?

Return the 1-2 best code snippets for a task with a library, plus the gotcha for each. Snippets are correct for the indexed version. Far cheaper in tokens than a docs dump.

输入参数task必填library必填

audit_dependencies

Audit dependencies

Audit a project's dependencies for unmaintained packages, unstable APIs, and documented reasons to switch. Pass the contents of package.json, requirements.txt, or pyproject.toml. Returns only the dependencies worth a decision, not a report on every line. Run this before working in an unfamiliar codebase.

输入参数manifest必填ecosystem

版本历史

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

评分

已满足适用检查项的 90%

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

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。