should-i-use
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a distinct role: discovering libraries for a task (pick_library), evaluating a known library (should_i_use), exploring alternatives (alternatives), getting usage snippets (how_do_i), and finding documentation (docs_link). There is no overlap in purpose or input type.
Naming Consistency2/5Tool names are a mix of verb phrases (pick_library, how_do_i), noun phrases (alternatives, docs_link), and a sentence-like phrase (should_i_use). While all lowercase with underscores, the lack of a consistent syntactic pattern makes the naming unpredictable.
Tool Count5/5With 5 tools, the server is well-scoped and each tool serves a clear, distinct function. The count falls comfortably within the ideal 3-15 range for a focused toolkit.
Completeness5/5The tool set covers the complete library decision workflow: discovering candidates, evaluating a library, comparing alternatives, obtaining usage code, and accessing official docs. There are no obvious gaps for the server's stated purpose.
Average 3.9/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 23 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that results are 'curated' and include a conditional verdict 'if the alternative is also indexed,' which adds some behavioral context. However, it does not mention potential outcomes (e.g., unknown library), output format details, or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose ('Curated alternatives to a library') and packs key output features without unnecessary words. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the primary output (alternatives with 'prefer it when' and verdict) but lacks details about error cases, the source/nature of the curation, or how the alternative indexing verdict is determined. For a one-parameter tool with no output schema, this is adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully documents the 'library' parameter as 'Library name as published on npm or PyPI' (100% coverage). The description adds no new parameter-level details, so the schema carries the load, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns curated alternatives to a library, with each alternative accompanied by a 'prefer it when' line and a verdict. This distinguishes it from sibling tools like docs_link and how_do_i, though it doesn't use an explicit verb like 'list' or 'get'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the user needs alternative library options, but it does not explicitly state when to use this tool versus alternatives like should_i_use or pick_library. No exclusions or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It mentions useful outputs like 'when to skip it' and 'maintenance signals,' but it does not state whether the tool fetches live data, is subjective, or has side effects. This leaves some behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the purpose ('Honest verdict') and lists key output components in a readable, colon-separated format. Every phrase contributes meaning; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema or annotations, the description adequately conveys the tool's purpose and return contents. The vague reference to '4-axis scores' is a minor gap, but overall it is sufficiently complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for the single 'library' parameter, so the baseline is 3. The description adds no parameter-specific details beyond the schema, merely referring to 'a specific library.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly identifies the tool as producing an 'Honest verdict' on a library, with specific output components like scores and maintenance signals. This distinguishes it from sibling tools, though the exact 4 axes are not enumerated, preventing a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use when evaluating whether to adopt a library. It does not explicitly contrast with sibling tools like 'alternatives' or 'how_do_i,' so no clear exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It mentions the output format (one line each) and the nature of the links (official), but it does not describe edge cases like library not found or whether the tool performs verification. This is adequate for a simple lookup but not deeply detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loading the purpose and adding a usage condition. Every word earns its place, with no unnecessary repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, no output schema) and the description covers its main function and usage context. However, the phrase 'clamped answers' is ambiguous and could confuse an agent. Also, the effect of the optional topic parameter is not elaborated, but the schema covers it. Overall, reasonably complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover both parameters (library and topic) fully, with library described as 'Library name as published on npm or PyPI' and topic as 'Optional topic to look up in the docs'. Since schema coverage is 100%, the description does not need to add extra parameter detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool returns the official docs URL and GitHub repo for a library, with a one-line output for each. This specific verb+resource combination distinguishes it from sibling tools like should_i_use or alternatives, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Use when the clamped answers are not enough' provides a specific context, indicating that this tool is a fallback when other answer sources are insufficient. It does not name sibling tools explicitly, but the conditional usage is clear enough for an agent to know when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a key behavioral caveat: 'Snippets are correct for the indexed version,' warning that they may not be correct for other versions. It also mentions the gotcha per snippet and the token cost, adding useful context beyond a simple description. It does not cover error cases or exact response format, but it provides meaningful behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences, front-loaded with the action and result. Each sentence earns its place: the first states what the tool returns, the second adds the critical version accuracy caveat, and the third gives a cost efficiency reason. There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two well-documented parameters, and no output schema exists. The description adequately explains the return content: 1-2 best snippets and their gotchas. Given the tool's simplicity, it provides a sufficient overview, though it could mention the response structure or ordering. It feels complete for the use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning both parameters (library and task) are already fully documented in the schema. The description reinforces their semantics by saying 'for a task with a library' but provides no additional format, syntax, or usage details beyond what the schema already states. Thus, the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Return' and names the resource: '1-2 best code snippets for a task with a library.' It also adds a distinctive detail about the 'gotcha for each.' However, unlike the TDQS 4.3 example, it does not explicitly distinguish itself from sibling tools like pick_library or docs_link, though the function is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you have a specific library and task. It also gives a practical guideline by noting it is 'far cheaper in tokens than a docs dump,' which helps the agent decide between this and a documentation lookup. It lacks explicit exclusions or alternative tool mentions, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It reveals the output behavior (1-3 libraries, one-line reasoning, honest warning) and implies a non-destructive read-only operation via 'Use before installing anything.' This exceeds the minimum for a recommendation tool but doesn't go into deeper side effects or requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, info-dense sentence that front-loads the core purpose and then adds usage guidance. Every word earns its place, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only 2 simple parameters and no output schema, the description fully covers purpose, output format, and usage timing. It also hints at the data source (should-i-use index) and differentiates from siblings. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'task' and 'ecosystem' are already well documented. The tool description does not add parameter-specific details, but it doesn't need to—the schema handles it. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'recommend 1-3 libraries from the should-i-use index' with reasoning and a warning. It distinguishes from sibling tools like 'should_i_use' (which likely evaluates a specific library) and 'alternatives' (which suggests substitutes) by focusing on task-based recommendations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context with 'Given a coding task' and explicit timing guidance: 'Use before installing anything.' It doesn't explicitly name alternatives or exclusions, but the directive is unambiguous and gives the agent enough to know when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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