should-i-use
This MCP server provides token-efficient library guidance, hard-capped at 500 tokens per response, with the following tools:
pick_library — Given a coding task (and optional ecosystem like npm/PyPI), recommends 1–3 libraries with one-line reasoning and a warning about the top pick.
should_i_use — Verdict on a library, including 4-axis scores (API stability, docs quality, maintenance, ecosystem) with reasons, skip-if items, and live maintenance signals (last push, weekly downloads).
audit_dependencies — Scans dependency files (package.json, requirements.txt, etc.) and flags only problematic entries into REPLACE, WATCH, or WORTH RECONSIDERING.
alternatives — Lists curated alternatives for a library, each with a “prefer it when” reason and verdict if indexed.
how_do_i — Returns 1–2 code snippets for a task with a specific library, plus gotchas, saving tokens compared to full docs.
docs_link — Provides official documentation URL and GitHub repository for a library, optionally scoped to a topic.
Provides guidance on npm libraries, including picking the best library, evaluating whether to use a specific library, alternatives, code snippets, and documentation links.
Provides guidance on PyPI libraries, including picking the best library, evaluating whether to use a specific library, alternatives, code snippets, and documentation links.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@should-i-useshould I use moment for date manipulation?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
531 libraries indexed. Last updated: 2026-08-07.
The index grows daily. Data comes from a curated set of npm and PyPI libraries with hand-written honest guides: 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 installThat 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 --projectThat 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-mcpBy 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):
{
"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.
Related MCP server: mcp-npm-tools
Tools
Tool | Example call | What you get back |
|
| Top 1-3 picks with one-line reasoning, plus a skip warning for the winner |
|
| Verdict, 4-axis scores with reasons, top skip-if items, last push and download signals |
|
| Only the dependencies worth a decision: unmaintained, unstable, or worth swapping |
|
| Curated alternatives with "prefer it when" lines and verdicts |
|
| The 1-2 best snippets for the task plus their gotchas, nothing else |
|
| 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 todocs_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 on 20 real coding questions, 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.
Median tokens per answer | |
should-i-use | 185 |
Context7 | 1157 |
Ratio | 6.3x |
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 hand-written guide backed by registry and repo signals, not scraped docs:
Guides and verdicts: what the library is, when to use it, when to skip it, written and reviewed 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_dependenciestherefore stays quiet on anything unindexed, and a clean audit means "nothing flagged in what I know", not "your dependencies are fine".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_linkwhen the answer looks stale.pick_libraryranks 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. 20 queries, measured on one day, and Context7's free tier rate-limits partway through, so some of their rows came from an earlier run the same day. The 6.3x ratio is a real measurement of a small sample, not a general law. 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 smokeenforces it.Data changes:
data/libraries.jsonis generated, so edits to it get overwritten by the next export. File an issue instead and the fix lands upstream.
License
Code: MIT
Data (
data/libraries.json): CC BY 4.0, attribution to mrkeyoor.com. See data/LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceA comprehensive MCP server for checking package versions and rating package quality across Python (PyPI), JavaScript/TypeScript (npm), Dart (pub.dev), and Rust (crates.io) ecosystems.Last updated5MIT
- AlicenseAqualityDmaintenanceMCP server providing npm registry search, package details, dependency auditing, bundle size estimation, and package comparison tools for AI agents.Last updated549MIT
- AlicenseAqualityAmaintenanceStop your AI agent from rebuilding what already exists. MCP server that checks GitHub, npm and Python repos for maintained alternatives before you scaffold.Last updated521492MIT
- Alicense-qualityCmaintenanceMCP server that checks npm and PyPI package health, providing maintenance signals, version info, CVE counts, and alternative suggestions.Last updatedMIT
Related MCP Connectors
Scans MCP servers for tool poisoning, prompt injection and supply chain risks.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
MCP server for accessing curated awesome list documentation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mrkeyoor/should-i-use'
If you have feedback or need assistance with the MCP directory API, please join our Discord server