The library-picking problem is older than AI agents, but agents made it worse. A coding agent asked to add rate limiting will install the first package it half-remembers, and that package may have shipped its last release in 2023. The docs-focused MCP servers that exist today answer library questions by pasting documentation into the context window: a thousand tokens or more per question, and the model still has to figure out whether the library is actually a good idea.
should-i-use is our answer to both problems at once. It is an MCP server, installable with one command, that gives coding agents short, opinionated answers about 992 npm and PyPI libraries: a verdict, four scores, the one or two code snippets that matter, and, most importantly, who should not install the thing at all.
The skip-list is the product
Every entry in the index carries explicit skip-if conditions, grounded in the library's own documentation, changelog, and issue tracker. The dotenv entry tells you not to install dotenv on Node 20.6 or newer, because the runtime grew a built-in --env-file flag. The axios entry says plain fetch is fine for simple JSON calls. The crypto-js entry points out that a package with 19 million weekly downloads has been unmaintained since 2023, and names the alternative.
This is the same editorial stance as the rest of this site: every awesome list tells you what exists, almost nothing tells you what to avoid. An agent that knows what to avoid wastes fewer of your tokens and fewer of your afternoons.
Six tools, hard-capped
The server exposes six tools. pick_library returns top picks for a task. should_i_use returns the verdict with scores for API stability, docs quality, maintenance, and ecosystem. alternatives and docs_link do what they say. how_do_i returns version-correct snippets with their gotchas attached.
The sixth tool, audit_dependencies, is the one we use most: paste a package.json or requirements.txt and it returns only the dependencies worth worrying about, flagged as replace, watch, or reconsider. It stays silent on healthy packages, and it stays silent on packages it does not know. A clean audit means "nothing flagged in what I know", never "your dependencies are fine". That distinction is documented in the README, not buried.
Every response is hard-capped at 500 tokens, and the test suite fails if any tool breaks the cap.
The benchmark, with its homework attached
Token cost is the reason this exists, so we measured it against Context7, the best-known docs-dump server. Ten rounds of twenty library questions, libraries sampled at random from our own index, the same query sent to both servers, tokens counted as characters divided by four on the measured MCP responses. Median: 238 tokens per answer for should-i-use, 1,154 for Context7. That is a 4.8x gap, with individual rounds ranging from 3.9x to 6.2x.
One number in that paragraph deserves suspicion, so here is the homework: the full methodology and per-round tables live in the bench directory of the repository. An earlier private run showed a larger gap, and we do not quote it, because it was measured on hand-picked popular libraries where the comparison flattered us. Random sampling is the honest number.
How the index is made
Each guide is written on a fixed rubric from the library's documentation, release notes, changelog, and issue history. That is research, not a test drive: we do not install every release of every library. What we do instead is enforce the rubric with a validator that gates structure, prose, and version-correct snippets before anything publishes, and install-verify the fifty most-downloaded entries in clean containers. The latest verification run came back 49 of 50 clean. The one failure was sglang, which timed out downloading its CUDA wheel tree, exactly the behaviour its own guide warns about.
No library has paid to be listed or to change a score, and none ever will. When a guide is wrong, the fix is public: open an issue on the repository and the score gets re-checked.
Where this goes
The index grows daily and the guides refresh on a pipeline, so a library that found a new maintainer last week will catch up to reality quickly. The data itself is licensed CC BY 4.0, sitting in the repository as one JSON file, and you are welcome to build on it with attribution.
Install for Claude Code:
claude mcp add should-i-use -- npx -y should-i-use-mcp
Or let it write the config for any of nine supported agents:
npx should-i-use-mcp install
Browse the same index as web pages at mrkeyoor.com/libs, or point your tools at the hosted endpoint if you prefer answers that are always current. Either way, the next time an agent reaches for a package, something in the loop finally knows when to say no.