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
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.
為編碼助理提供簡短、有主見的函式庫推薦、評價、替代方案、程式碼片段與相依性稽核,資料來自精選索引。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.mrkeyoor%2Fshould-i-use/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"should-i-use": {
"type": "http",
"url": "https://mrkeyoor.com/mcp"
}
}
}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.
No API key, no database. The index ships inside the package.
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:
That writes .mcp.json and .cursor/mcp.json in the current directory, so everyone who clones the repo gets the server.
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):
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.
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.
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:
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".
clamp.js. Long answers are cut at sentence boundaries with a pointer to docs_link.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.
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.
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:
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).
Worth knowing before you rely on it:
audit_dependencies therefore stays quiet on anything unindexed, and a clean audit means "nothing flagged in what I know", not "your dependencies are fine".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.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.server.js, tools.js, clamp.js, data.js, install.js). Keep responses inside the 500 token cap; npm run smoke enforces it.data/libraries.json is generated, so edits to it get overwritten by the next export. File an issue instead and the fix lands upstream.data/libraries.json): CC BY 4.0, attribution to mrkeyoor.com. See data/LICENSE.來源:README.md,提交 aa3c0f1
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必填ecosystemShould 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必填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 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 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必填ecosystemDocs link
Official docs URL and GitHub repo for a library, one line each. Use when the clamped answers are not enough.
topiclibrary必填已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在儲存庫或註冊中心條目中宣告授權條款。
npx should-i-use-mcp installnpx should-i-use-mcp install --projectclaude mcp add should-i-use -- npx -y should-i-use-mcp{ "mcpServers": { "should-i-use": { "command": "npx", "args": ["-y", "should-i-use-mcp"] } }}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.