should-i-use
Honest library picks for coding agents in 25-360 tokens. Tells your agent what NOT to install.
Should I use this
Quality & Safety
Findings (3)
- LOWin alternatives
- LOWin how_do_i
- LOWin docs_link
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"should-i-use": {
"command": "npx",
"args": [
"should-i-use-mcp"
]
}
}
}Runnable packages
0.3.2stdioRemote endpoints
https://mrkeyoor.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢pick_library(task, ecosystem)
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.
Input Schema
{
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "What you are trying to do, e.g. \"parse CSV files in node\""
},
"ecosystem": {
"type": "string",
"enum": [
"npm",
"pypi"
],
"description": "Optional registry filter"
}
},
"required": [
"task"
]
}Output Schema
{
"type": "object",
"properties": {
"answer": {
"type": "string",
"description": "The clamped text answer (hard limit ~500 tokens)"
}
},
"required": [
"answer"
]
}🟢should_i_use(library)
Honest verdict on a specific library: 4-axis scores with reasons, when to skip it, and maintenance signals (last push, weekly downloads).
Input Schema
{
"type": "object",
"properties": {
"library": {
"type": "string",
"description": "Library name as published on npm or PyPI"
}
},
"required": [
"library"
]
}Output Schema
{
"type": "object",
"properties": {
"answer": {
"type": "string",
"description": "The clamped text answer (hard limit ~500 tokens)"
}
},
"required": [
"answer"
]
}🟢alternatives(library)
Curated alternatives to a library, each with a one-line "prefer it when" and a verdict if the alternative is also indexed.
Input Schema
{
"type": "object",
"properties": {
"library": {
"type": "string",
"description": "Library name as published on npm or PyPI"
}
},
"required": [
"library"
]
}Output Schema
{
"type": "object",
"properties": {
"answer": {
"type": "string",
"description": "The clamped text answer (hard limit ~500 tokens)"
}
},
"required": [
"answer"
]
}🟢how_do_i(library, task)
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.
Input Schema
{
"type": "object",
"properties": {
"library": {
"type": "string",
"description": "Library name as published on npm or PyPI"
},
"task": {
"type": "string",
"description": "What you want to do, e.g. \"retry a failed request\""
}
},
"required": [
"library",
"task"
]
}Output Schema
{
"type": "object",
"properties": {
"answer": {
"type": "string",
"description": "The clamped text answer (hard limit ~500 tokens)"
}
},
"required": [
"answer"
]
}🟢audit_dependencies(manifest, ecosystem)
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.
Input Schema
{
"type": "object",
"properties": {
"manifest": {
"type": "string",
"description": "Contents of package.json, requirements.txt, pyproject.toml, or a newline-separated list of package names"
},
"ecosystem": {
"type": "string",
"enum": [
"npm",
"pypi"
],
"description": "Optional hint when the manifest format is ambiguous"
}
},
"required": [
"manifest"
]
}Output Schema
{
"type": "object",
"properties": {
"answer": {
"type": "string",
"description": "The clamped text answer (hard limit ~500 tokens)"
}
},
"required": [
"answer"
]
}🟢docs_link(library, topic)
Official docs URL and GitHub repo for a library, one line each. Use when the clamped answers are not enough.
Input Schema
{
"type": "object",
"properties": {
"library": {
"type": "string",
"description": "Library name as published on npm or PyPI"
},
"topic": {
"type": "string",
"description": "Optional topic to look up in the docs"
}
},
"required": [
"library"
]
}Output Schema
{
"type": "object",
"properties": {
"answer": {
"type": "string",
"description": "The clamped text answer (hard limit ~500 tokens)"
}
},
"required": [
"answer"
]
}Community
Evidence