Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v2.0.1

  • Disambiguation3/5

    Many tools come in pairs with and without '_by_ref' suffix, doing essentially the same operation but accepting different parameter types. While descriptions clarify the intended input, the overlap increases risk of misselection for an agent.

    Naming Consistency4/5

    Naming follows a consistent verb_noun pattern with underscore, and the '_by_ref' suffix is applied uniformly. However, the presence of both variants for multiple functions creates slight inconsistency.

    Tool Count4/5

    20 tools is on the high side but still reasonable for a comprehensive documentation and task management server. Could be streamlined by merging the '_by_ref' variants, but the count is not excessive.

    Completeness4/5

    Covers search, retrieval of docs, tasks, bugs, requirements, and related resources. Missing write operations and a generic listing function for requirements/bugs, but read coverage is good for the domain.

  • Average 3.7/5 across 20 of 20 tools scored. Lowest: 2.7/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 6 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under ISC 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.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • 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

  • Behavior1/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description 'Resolve' suggests a state-changing write operation, but the annotations declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, indicating a safe read-only operation. This is a direct contradiction, making the description misleading. No additional behavioral details (e.g., side effects, auth requirements) are provided.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with two sentences. The first sentence clearly states the action and identifier types. The second sentence provides usage guidance. No redundant or unnecessary information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Despite having an output schema (not shown), the description is incomplete due to the annotation contradiction and lack of clarity on what 'resolve' means. It does not explain the tool's effect or when it is appropriate to use. For a tool that appears to mutate state, this is a significant gap.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has one parameter 'ref' with no description (0% coverage). The description adds meaning by saying it can be a number, task id, or task URL, but does not specify format or constraints beyond the schema's minLength. This is helpful but insufficient for fully understanding the parameter.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose3/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states 'Resolve an ONES requirement by number, task id, or task URL', giving the action and resource. However, the term 'resolve' is ambiguous (could mean mark as resolved or another operation) and the readOnlyHint annotation contradicts the implication of a write operation. It does distinguish from siblings by mentioning '_by_ref' tools, but lacks clarity on the exact semantics.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description includes 'Prefer *_by_ref tools for normal workflow reads', which provides some guidance on when not to use this tool. However, it does not explicitly state when to use this tool or clarify its purpose versus the alternative tools. The contradiction with annotations further confuses usage.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true. The description adds minimal behavioral context beyond 'search by keyword', not disclosing ordering, pagination, or result handling. Given annotations cover safety, but description fails to add useful behavior details.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single sentence, front-loaded, no redundant information. Every word is necessary and immediately conveys the tool's core function.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Despite having an output schema, the description does not specify the scope of 'ONES docs' or the search domain. For a search tool with many sibling get/list tools, more context on what 'docs' includes and how results are ordered would improve completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so description must compensate. However, it only mentions 'keyword' without explaining the 'query' parameter format or the 'limit' parameter behavior. Parameters remain poorly documented.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description specifies verb 'search' and resource 'ONES docs' with parameter 'keyword'. It clearly distinguishes from sibling tools which are all get/list/retrieve operations. However, it does not explicitly differentiate from potential search siblings, but there are none.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. There is no mention of use cases, prerequisites, or exclusions. The description simply states what the tool does without context.

    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?

    Annotations already declare readOnlyHint, idempotentHint, etc. Description adds the descendant inclusion behavior but nothing about error handling or response format. Annotations carry most of the burden.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single concise sentence with no fluff, but at the cost of omitting critical parameter details. Front-loads the purpose well.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given 4 parameters, output schema, and many siblings, the description is too sparse. No explanation of output or parameter formats. Lacks completeness despite existing output schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, so description must document parameters. It only hints at include_descendants, ignoring ref, section_id, and include_resources. Insufficient compensation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it returns one outline section from a ONES doc, with optional descendants. It distinguishes from siblings like get_doc (full doc) and get_doc_outline (outline structure).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives like get_doc or get_doc_outline. No prerequisites or exclusions mentioned.

    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?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, covering safety and side effects. The description adds only that the tool 'automatically selects' content, which does not contradict annotations but also does not provide additional behavioral context such as rate limits or authorization needs.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence that is concise and front-loaded, containing no filler or redundant information. Every word contributes to the core purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has 5 parameters and no schema-level descriptions, the description is insufficient for an agent to understand how to use it correctly. The existence of an output schema mitigates the lack of return value explanation, but parameter semantics and usage context are still lacking.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description bears full responsibility for explaining parameters. It only identifies 'ref' and 'question' implicitly but does not explain 'max_chars', 'mode', or 'include_resources'. The parameter 'mode' is restricted to 'auto' but this is not clarified in the description.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: automatically select sections or chunks from a ONES document based on a question. It uses a specific verb ('select') and resource ('sections or chunks for a ONES doc ref'), and it implicitly differentiates from sibling tools that retrieve entire documents or specific sections without intelligent selection.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no explicit guidance on when to use this tool versus alternatives like get_doc_chunks or get_doc_section. It does not mention prerequisites, context, or exclusions. The agent is left to infer usage from the tool name and description alone.

    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?

    Annotations already indicate read-only, nondestructive, idempotent, open-world. The description adds no significant behavioral traits beyond the input keys. No contradictions; adequate with annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single sentence that is concise and front-loaded with the action and key inputs. No filler, every word adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the single parameter and presence of an output schema, the description is mostly complete. It could mention return multiplicity or edge cases, but the essential input-output contract is clear.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description explains that 'ref' can be a requirement number, task id, or task URL, adding meaning beyond the schema (which only defines a string). However, schema coverage is 0%, so the description partially compensates but lacks explicit format details.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool fetches execution-task candidates by requirement number, task id, or URL. However, it does not differentiate from the sibling tool 'get_execution_tasks', which may have a similar purpose, leaving ambiguity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to use this tool versus alternatives. Given the presence of siblings like 'get_execution_tasks', the description should clarify the distinction (e.g., 'candidates' vs full tasks).

    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?

    Annotations already provide readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. Description adds that the 'ref' parameter can be a task number, id, or URL, which is useful context beyond the schema. No behavioral traits like pagination or limits mentioned, but annotations cover safety and idempotency.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single sentence, directly front-loaded with essential information. No redundant words; every word contributes to meaning.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity and presence of an output schema, the description is adequate but minimal. It does not mention potential nuances like message ordering or pagination, but these may be covered by the output schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0% for the 'ref' parameter. The description clarifies that 'ref' accepts task number, id, or URL, adding meaning absent from the schema. Could be more detailed with format examples, but effectively compensates for missing schema documentation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description specifies verb 'Get', resource 'task comments/messages', and acceptable identifiers (task number, task id, or task URL). However, it does not distinguish this tool from sibling 'get_task_messages' which may serve a similar role but with different parameters.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives, such as 'get_task_messages' or other related tools. No prerequisites or conditions stated.

    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?

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. Description adds 'resolve' which is consistent but does not elaborate on behavior (e.g., what if no parent requirement exists). Minimal extra context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences efficiently convey purpose and usage guidance. No wasted words, front-loaded with the core action.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the presence of an output schema, return values are not needed. However, the description lacks context about parent requirements, error handling, and parameter usage. Adequate for agents familiar with the system but not for new users.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema descriptions coverage is 0%, and the description only mentions 'by task id' without explaining what task_id or team_id represent. No additional semantics are provided for the parameters.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool resolves the parent requirement for a bug by task ID. It distinguishes from the sibling tool get_bug_parent_requirement_by_ref but does not explain 'parent requirement' in the ONES context.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly tells when to use this tool vs. get_bug_parent_requirement_by_ref (prefer by_ref when starting from bug number/URL). No mention of when not to use or prerequisites, but the guidance is clear.

    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?

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds that the tool returns a chunk (not full document) and uses cursor pagination and a character budget, which provides useful context beyond the annotations. However, it does not describe error handling, rate limits, or what happens on invalid refs.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, well-formed sentence with no fluff. It is front-loaded with the core action and immediately conveys the tool's purpose.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the existence of an output schema (so return values are documented separately), and the annotations covering safety, the description covers the essential usage concept. It mentions cursor and character budget, which are key. However, it could briefly note pagination behavior (e.g., 'use cursor to get next chunk').

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description must compensate. It implies the role of 'ref', 'cursor', and 'max_chars' (character budget), but it does not explain 'include_resources'. This leaves a significant gap for a tool with 4 parameters.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly specifies the verb 'Return', the resource 'one cursor-based chunk from a ONES doc ref', and the mechanism 'using a character budget'. It distinguishes the tool from siblings like get_doc (full document) and get_doc_section (single section) by focusing on chunked retrieval.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description does not provide any when-to-use or when-not-to-use guidance. It lacks explicit comparisons to sibling tools or scenarios where this tool should be preferred over alternatives like get_doc or get_doc_context.

    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?

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. The description adds context about the returned data (body, fields, related task facts) and acceptable input types (bug number, task id, URL), which is informative and consistent with annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, clear sentence that efficiently conveys the tool's purpose and input. No unnecessary words or details.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple read-only tool with one parameter and an output schema, the description covers the essential information: what is retrieved and how to specify the target. It could mention error handling or limitations, but the annotations and output schema fill in many gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, but the description clarifies that the 'ref' parameter can be a bug number, task id, or task URL. However, it does not specify format, examples, or validation rules, leaving some ambiguity.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool retrieves bug body, fields, and related task facts using a bug number, task id, or task URL as input. It provides specific verb and resource details, though it does not explicitly differentiate from sibling tools like get_bug_detail.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives (e.g., get_bug_detail or get_bug_parent_requirement). There is no mention of prerequisites, exclusions, or preferred contexts.

    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?

    Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. Description adds context about 'attached or linked' references, but doesn't contradict annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences efficiently convey purpose and usage guidance with no redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    While output schema exists to describe return values, the complete lack of parameter documentation makes the description insufficient for a tool with two parameters.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description does not explain either parameter (task_id, team_id), leaving the agent with no guidance on parameter meaning or usage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool discovers wiki page references from a requirement task id, explicitly distinguishing it from the sibling tool 'get_related_wiki_pages_by_ref' which uses a different input type.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Directly advises preferring an alternative tool when starting from a requirement number or URL, providing clear usage guidance.

    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?

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint; description adds 'related task facts' but no additional behavioral disclosure. Satisfactory but not enhanced beyond annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with purpose, zero filler. Every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Clear purpose and usage guide, but omits explanation of team_id and what 'related task facts' entails. Output schema exists but description could better differentiate from siblings like get_task_messages.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema has 0% description coverage. Description explains task_id implicitly ('by task id') but does not mention team_id at all, leaving its purpose unclear.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Specifies verb 'Get', resource 'bug detail', and adds scope 'body, fields, related task facts'. Distinguishes from sibling get_bug_detail_by_ref by noting when to prefer that alternative.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly advises using get_bug_detail_by_ref when starting from bug number/URL, providing clear context. Does not cover when not to use or compare to other siblings.

    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?

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint, openWorldHint. The description adds context by specifying the resource type ('image or file') and that it uses the current login session, enhancing transparency without contradiction.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence, front-loading the action and resource, with no extraneous words. It earns its place efficiently.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple download tool with an output schema not shown, the description covers the core action and context. With strong annotations, it is sufficiently complete, though usage guidance is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The only parameter is 'url' with 0% schema description coverage. The description mentions 'by URL' but does not specify format, protocol, or constraints beyond the schema's minLength. This is minimally helpful for a simple string parameter.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Download', the resource 'ONES-authenticated image or file resource by URL', and the context 'using the current MCP login session'. It distinctly differs from sibling tools that are all getters for various entities, none of which download files.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage when a URL is available but provides no explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, though for a simple download tool it is minimally adequate.

    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?

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true. The description adds no additional behavioral context beyond that, but does not contradict annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences with no redundancy: first sentence states purpose, second provides usage guidance. Every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With 2 parameters (1 required) and no schema description coverage, the description only partially explains one parameter. An output schema exists but the description omits any mention of return value structure or behavior for missing tasks.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%. Description explains task_id's role ('by task id') but does not clarify team_id's purpose, leaving a parameter ambiguous.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'get execution-task candidates related to a requirement by task id' and distinguishes from sibling tool get_execution_tasks_by_ref by specifying when to use each.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly says 'Prefer get_execution_tasks_by_ref when starting from a requirement number or URL', providing clear when-to-use guidance and an alternative.

    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?

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds no extra behavioral context beyond purpose; no mention of rate limits, permissions, or response characteristics.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single sentence (10 words) precisely conveys purpose and parameters without any fluff; front-loaded key action and inputs.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple 1-param read-only tool with annotations covering safety and an output schema present, the description suffices. Minor gap: no usage guidance relative to sibling, but overall adequate.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, but description clarifies that 'ref' accepts task number, task ID, or task URL, adding essential meaning beyond the schema's minimal 'string with minLength 1'.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states it extracts rich-text image resources, specifying valid identifiers (task number, id, or URL). It distinguishes from sibling 'get_task_rich_resources' by emphasizing reference-based retrieval.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit guidance on when to prefer this over the sibling 'get_task_rich_resources'; usage context is implied by the 'by_ref' naming, but lacks direct comparison or exclusion hints.

    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?

    Annotations already indicate readOnlyHint, destructiveHint false, idempotentHint true, and openWorldHint true. Description adds that listing is done 'when explicitly requested,' but does not provide further behavioral context such as authorization requirements or rate limits.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with purpose and usage guidance, no wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Has output schema so return values are covered. However, missing details on pagination, ordering, or what happens if no bugs exist. The optional team_id parameter is not addressed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema has no descriptions (0% coverage), and the description does not explain what task_id or team_id represent, nor their expected formats or optionality. The tool's purpose mentions 'by task id' but lacks detail on parameter semantics.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool lists bugs under a requirement by task id and distinguishes it from the sibling tool list_requirement_bugs_by_ref by specifying when to use each.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states when to use this tool (when starting from a task ID) and when to prefer the sibling tool (when starting from requirement number or URL).

    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?

    Annotations already declare readOnlyHint=true, destructiveHint=false, so no contradiction. The description adds minimal behavioral context beyond purpose; it does not disclose potential edge cases, rate limits, or what happens if the ref is not found. However, it is consistent.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, front-loaded sentence with no extraneous words. Every word contributes to understanding the tool's purpose and parameter intent.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simple parameter, annotations, and presence of an output schema, the description covers the essential aspects. It could hint at the nature of the output (e.g., list of page references), but 'discover wiki page references' is adequate for a read-only lookup tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has one parameter 'ref' with 0% description coverage. The description compensates fully by explaining that 'ref' can be a requirement number, task id, or task URL, providing essential semantic context for correct invocation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Discover') and clearly identifies the resource ('wiki page references') and the input types (requirement number, task id, task URL). It distinguishes from sibling 'get_related_wiki_pages' by the '_by_ref' suffix and parameter focus.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage when a reference (ref) is available, but does not explicitly state when to use this tool versus alternatives like 'get_related_wiki_pages' or other lookup tools. No exclusion criteria are provided.

    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?

    Annotations provide strong safety guarantees (readOnly, not destructive, idempotent, open world). The description adds value by specifying the type of data retrieved (body, fields, related task facts), which is beyond what annotations convey.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two highly efficient sentences with no filler. The first sentence delivers purpose and scope; the second provides usage guidance. Every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simple tool (2 params, output schema provided, rich annotations), the description covers core purpose and guidance. It does not explain the optional team_id parameter or return structure, but output schema likely covers that. Adequate for the complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, meaning the description does not explain the parameters. While 'task_id' is implied by 'by task id', the optional 'team_id' is not mentioned. The description adds minimal value over the raw schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Get') and the resource ('requirement detail') including what is returned ('body, fields, and related task facts'). It also distinguishes from the sibling tool 'get_requirement_detail_by_ref' by specifying when to use each.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly prefers 'get_requirement_detail_by_ref' when starting from a requirement number or URL, implicitly guiding the agent to use this tool when a task_id is available. While not explicit about when to use this tool, the contrast is clear.

    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?

    Annotations already declare readOnlyHint true and destructiveHint false, so description adds little beyond that. Doesn't disclose potential errors or pagination, but safety profile is clear from annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two concise sentences, front-loaded with purpose, no wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Output schema exists, so return values are covered. Tool is simple with clear sibling differentiation. Complete enough for effective use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, but description only mentions task_id implicitly. team_id is not described at all. With no parameter descriptions in schema, the description should compensate but does not.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the verb 'get' and resource 'task comments/messages' with specific context 'for requirement workflow context'. It explicitly distinguishes from sibling 'get_task_messages_by_ref'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly tells when to prefer an alternative: 'Prefer get_task_messages_by_ref when starting from a number or URL.' Also provides context of use.

    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?

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint, openWorldHint, so the tool's safety is clear. The description adds that it resolves via reference, which is consistent and adds minimal extra context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single concise sentence that front-loads the core functionality without waste.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity, an output schema exists, and the description adequately explains the input. The sibling list provides context, but no additional details like output format are needed.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has no description for the 'ref' parameter (0% coverage). The description explains that ref can be a bug number, task id, or task URL, adding crucial meaning beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool resolves the parent requirement using a bug number, task id, or task URL. It distinguishes from siblings like get_bug_parent_requirement (without _by_ref) by specifying the input format.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage when you have a reference and need the parent requirement, but it does not explicitly mention when not to use it or provide alternatives among siblings.

    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?

    Annotations already declare readOnlyHint, destructiveHint, idempotentHint, and openWorldHint. Description adds specific output types (wiki pages, links, resources, hints) beyond annotations, but lacks mention of error handling for invalid task IDs.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two concise sentences: first defines purpose, second provides alternative usage. No extraneous content.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Description covers key outputs and suggests alternative path. Given existence of output schema and annotations, it is sufficiently complete for a read-only extraction tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description must compensate but only vaguely explains task_id ('requirement task id') and omits team_id entirely, leaving its purpose unclear.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states the tool extracts multiple resource types (wiki pages, links, rich resources, hints) from a requirement task ID, distinguishing it from the sibling tool by specifying task ID as input.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly recommends using extract_requirement_materials_by_ref when starting from a requirement number or URL, providing clear when-not and alternative guidance.

    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

mcp-demo MCP server

Copy to your README.md:

Score Badge

mcp-demo MCP server

Copy to your README.md:

Latest Blog Posts

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/twodogwang/mcp-demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server