Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: get_contract_role focuses on contract roles, get_protocol and get_protocol_summary provide different levels of protocol detail, get_protocol_contracts lists contracts, get_protocols lists protocols, identify_application and identify_asset handle different resource types, and the name tools (resolve_name, reverse_resolve_address, search_names) are clearly scoped to static registry operations. An agent can easily distinguish between them based on their specific targets.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with snake_case, using verbs like 'get', 'identify', 'resolve', 'reverse_resolve', and 'search' paired with specific nouns (e.g., contract_role, protocol, protocols, application, asset, name, address). This predictability makes it easy for an agent to understand the action and target from the name alone.

    Tool Count5/5

    With 10 tools, the count is well-scoped for the domain of Voi ecosystem information and static name registry operations. Each tool serves a unique function, covering protocol discovery, contract details, asset/application identification, and name resolution without redundancy, making the set efficient and focused.

    Completeness4/5

    The tool set provides comprehensive coverage for querying Voi protocols, contracts, assets, applications, and static name registry data, with clear CRUD-like operations (e.g., get, list, identify, resolve). A minor gap exists as the server defers live name resolution to another MCP server (UluCoreMCP), but this is explicitly noted and does not hinder core functionality, allowing agents to work around it.

  • Average 3.4/5 across 10 of 10 tools scored.

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

    • No community issues in the last 6 months
    • 0 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.

  • 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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation ('Get'), but doesn't mention permissions, rate limits, error handling, or output format. For a tool with zero annotation coverage, this lack of behavioral details is a significant gap, though it doesn't contradict any 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, efficient sentence that front-loads the core purpose with helpful examples. There is no wasted text, making it highly concise and well-structured for quick understanding.

    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 complexity of querying contract roles on a blockchain (Voi), the description is incomplete. With no annotations and no output schema, it lacks details on behavioral traits, return values, or error cases. The description alone doesn't provide enough context for an agent to use the tool effectively beyond basic parameter input.

    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 description coverage is 100%, with the parameter 'appId' fully documented in the schema as 'Application ID on Voi'. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints, so it meets the baseline score of 3.

    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 action ('Get') and the target ('role and purpose of a specific contract on Voi'), with examples like 'liquidity-pool, bridge, registry' that help distinguish it from siblings like 'get_protocol' or 'identify_application'. However, it doesn't explicitly differentiate from all siblings, such as 'identify_asset' or 'resolve_name', which might also involve contract-related queries.

    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 guidance on when to use this tool versus alternatives. It mentions examples of contract roles but doesn't specify prerequisites, exclusions, or direct comparisons to sibling tools like 'get_protocol_contracts' or 'identify_application', leaving the agent to infer usage context.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'List' implies a read-only operation, the description doesn't address important behavioral aspects like whether this requires authentication, what format the results are returned in, whether there's pagination, or any rate limits. It provides minimal context beyond the basic purpose.

    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, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded with the essential 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?

    For a tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'application contracts' are in this context, what data format the list returns, or any behavioral constraints. Given the complexity of protocol/contract systems and the lack of structured metadata, the description should provide more contextual information.

    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 input schema has 100% description coverage, with the single parameter 'protocolId' clearly documented in the schema. The description doesn't add any meaningful parameter semantics beyond what's already in the schema (which provides examples like 'humble-swap, envoi, aramid-bridge'). Baseline score of 3 is appropriate when schema does the heavy lifting.

    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 action ('List') and resource ('all known application contracts for a Voi protocol'), providing a specific verb+resource combination. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_protocol' or 'get_protocol_summary', which might also provide protocol-related information but with different scope.

    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 guidance on when to use this tool versus alternatives. There are multiple sibling tools (e.g., get_protocol, get_protocol_summary) that might overlap in purpose, but the description offers no explicit when/when-not instructions or named alternatives.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves a summary but doesn't cover aspects like whether it's a read-only operation, potential rate limits, authentication needs, or error handling. This is a significant gap for a tool with no annotation coverage.

    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?

    The description is a single, efficient sentence that front-loads the key action and resource. It avoids unnecessary words, though it could be slightly more structured by explicitly listing the tool's output format or limitations.

    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 (1 parameter, no output schema, no annotations), the description is adequate but incomplete. It covers the purpose but lacks behavioral context and usage guidelines, which are needed for a tool with no annotations to be fully helpful.

    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 description coverage is 100%, with the single parameter 'protocolId' fully documented in the schema. The description doesn't add any parameter-specific details beyond what the schema provides, such as examples or constraints, so it meets the baseline for high schema coverage.

    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 action ('Get a human-readable summary') and resource ('a Voi protocol'), specifying what information is included ('purpose, contracts, and assets'). However, it doesn't explicitly differentiate from sibling tools like 'get_protocol' or 'get_protocol_contracts', which likely provide more technical or detailed data.

    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. The description doesn't mention sibling tools or contexts where a human-readable summary is preferred over other protocol-related tools, leaving usage decisions unclear.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the return fields but doesn't cover important aspects like error handling, authentication needs, rate limits, or whether this is a read-only operation. The description is too minimal for a tool with no annotation support.

    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 extremely concise and front-loaded with essential information in a single sentence. Every word serves a purpose with no wasted text, making it easy for an agent to parse quickly.

    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 no annotations and no output schema, the description is incomplete. It mentions return fields but doesn't explain their format, potential null values, or error conditions. For a tool that presumably queries an external system, more behavioral context is needed.

    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 description coverage is 100%, so the schema already documents the single 'appId' parameter. The description doesn't add any meaningful parameter semantics beyond what the schema provides, such as format examples or constraints. This meets the baseline for high schema coverage.

    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 action ('identify') and resource ('Voi application by ID'), specifying what information is returned (protocol, role, type, description). However, it doesn't explicitly differentiate this tool from its siblings like 'identify_asset' or 'resolve_name', which prevents a perfect score.

    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 guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, leaving the agent with no usage direction beyond the basic purpose.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves information, implying it's a read-only operation, but doesn't mention any behavioral traits such as authentication requirements, rate limits, error handling, or what 'detailed information' includes. This leaves significant gaps in understanding how the tool behaves beyond its basic purpose.

    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, efficient sentence that front-loads the core purpose ('Get detailed information about a specific Voi ecosystem protocol by ID'). There is no wasted wording, and every part of the sentence contributes directly to understanding the tool's function, making it highly concise and well-structured.

    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 (1 parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks context on usage guidelines, behavioral details, and how it differs from siblings. For a read operation, this might suffice, but the absence of output information and sibling differentiation reduces completeness.

    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 input schema has 100% description coverage, with the single parameter 'protocolId' documented as 'Protocol identifier (e.g. humble-swap, envoi, aramid-bridge)'. The description adds no additional meaning beyond this, as it only repeats the need for a 'protocol ID' without elaborating on format, validation, or examples. With high schema coverage, the baseline score of 3 is appropriate.

    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's purpose with a specific verb ('Get') and resource ('detailed information about a specific Voi ecosystem protocol by ID'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate this tool from its sibling 'get_protocol_summary' or 'get_protocols', which likely provide different levels or scopes of protocol information.

    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 guidance on when to use this tool versus alternatives like 'get_protocol_summary' or 'get_protocols'. It mentions retrieving 'detailed information' but doesn't clarify what constitutes 'detailed' compared to other tools, leaving the agent without explicit usage context or exclusions.

    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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states this is a list operation, implying it's read-only and non-destructive, but doesn't address potential limitations like pagination, rate limits, or authentication requirements. The description adds minimal behavioral context beyond the basic action.

    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, efficient sentence that front-loads the core purpose without unnecessary words. It directly communicates what the tool does, making it easy to parse and understand quickly.

    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 low complexity (one optional parameter, no output schema, no annotations), the description is adequate but minimal. It covers the basic purpose but lacks context on usage guidelines, behavioral traits, or output details, leaving gaps for an agent to infer correct invocation.

    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 description coverage is 100%, with the single parameter 'type' documented as a filter for protocol types. The description adds no additional parameter semantics beyond what the schema provides, such as examples or usage nuances. With high schema coverage, the baseline score of 3 is appropriate.

    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 action ('List all known') and resource ('Voi ecosystem protocols') with specific attributes ('with type and description'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like get_protocol or get_protocol_summary, which likely provide more detailed or filtered information.

    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 guidance on when to use this tool versus alternatives such as get_protocol or get_protocol_summary. It mentions filtering by type in the parameter description, but this is part of the input schema, not explicit usage instructions for tool selection.

    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 full burden. It discloses the return data structure (name, symbol, type, protocol, category) which is helpful, but doesn't mention error conditions, rate limits, authentication needs, or whether this is a read-only operation. The description adds some behavioral context but leaves significant gaps.

    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, efficient sentence that states the action, required input, and expected output. Every word serves a purpose with zero waste, making it appropriately sized and front-loaded.

    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 moderate complexity (single parameter lookup with multiple return fields), no annotations, and no output schema, the description is minimally adequate. It specifies what data is returned but doesn't cover error handling, edge cases, or format details. For a tool without structured output documentation, more completeness would be helpful.

    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 description coverage is 100%, so the schema already documents the single parameter 'assetId' as an integer representing an asset or ARC-200 contract ID. The description doesn't add any parameter semantics beyond what's in the schema, but with complete schema coverage, the baseline is 3.

    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's purpose with a specific verb ('identify') and resource ('Voi asset by ID'), and specifies what information is returned. However, it doesn't explicitly differentiate from sibling tools like 'identify_application' or 'resolve_name', which prevents a perfect score.

    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 guidance on when to use this tool versus alternatives. With multiple sibling tools that might overlap (e.g., 'identify_application', 'resolve_name'), there's no indication of when this specific asset identification tool is appropriate versus other lookup tools.

    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 full burden of behavioral disclosure. It mentions the data source ('static registry') and implies read-only behavior, but lacks details on error handling, rate limits, or response format. While it adds some context, it doesn't fully compensate for the absence of annotations, leaving gaps in behavioral understanding.

    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 highly concise and front-loaded, consisting of two sentences that directly convey the tool's purpose and usage guidelines without any wasted words. Each sentence earns its place by providing essential information, making it efficient and well-structured.

    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 moderate complexity (single parameter, no output schema, no annotations), the description is partially complete. It covers purpose and usage well but lacks details on behavioral aspects like error cases or return values. Without annotations or output schema, the description should do more to compensate, but it meets minimum viability with clear 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 description coverage is 100%, so the schema already documents the single parameter 'address' adequately. The description adds no additional semantic information about the parameter beyond what the schema provides, such as format examples or constraints. Baseline 3 is appropriate as the schema handles the parameter documentation.

    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 specific action ('look up well-known enVoi names') and resource ('associated with a Voi address from the static registry'). It explicitly distinguishes this tool from its sibling 'resolve_name' by specifying the static registry source and mentioning an alternative for live resolution, making the purpose distinct and well-defined.

    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?

    The description provides explicit guidance on when to use this tool ('from the static registry') and when not to ('For live resolution, use UluCoreMCP's envoi tools'). It clearly differentiates this tool from alternatives, including sibling tools like 'resolve_name', by specifying the context and naming an external alternative, ensuring proper tool selection.

    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 full burden. It discloses the data source ('static registry') and output type ('address and metadata'), which is helpful. However, it doesn't mention potential limitations like rate limits, error conditions, or whether this requires authentication. For a resolution tool with zero annotation coverage, this leaves behavioral gaps.

    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 zero waste. First sentence states purpose and output, second provides crucial usage guidance. Every word earns its place, and information is front-loaded appropriately.

    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 single-parameter lookup tool with no annotations and no output schema, the description provides good context about scope (static vs live) and output type. However, it doesn't describe the metadata structure or potential error responses, which would be helpful given the lack of output schema. Still, it's reasonably complete for its complexity.

    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 description coverage is 100%, so the schema already fully documents the single 'name' parameter. The description adds minimal value by providing an example ('shelly.voi') and clarifying it's an 'enVoi name', but doesn't explain format constraints beyond what the schema implies. Baseline 3 is appropriate when schema does the heavy lifting.

    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 specific action ('resolve'), target resource ('enVoi name'), and output ('address and metadata from the static registry'). It distinguishes from sibling 'reverse_resolve_address' by specifying direction and from 'search_names' by focusing on single resolution. The mention of 'static registry' further clarifies scope.

    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 ('static registry') versus alternatives ('For live resolution, use UluCoreMCP's envoi tools'). This provides clear context for choosing between static and live resolution methods, directly addressing the sibling tool differentiation.

    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 full burden. It mentions the tool searches a 'static' registry by 'pattern' with 'substring match,' which adds useful behavioral context beyond the schema. However, it doesn't cover aspects like rate limits, error conditions, or what happens with no matches, leaving some gaps in behavioral disclosure.

    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 two sentences with zero waste: the first states the purpose and scope, the second provides explicit usage guidance. It's front-loaded and every sentence earns its place by adding critical context.

    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 low complexity (1 parameter, no output schema, no annotations), the description is mostly complete. It covers purpose, usage guidelines, and some behavioral context. However, without annotations or output schema, it could benefit from more details on return values or error handling, slightly limiting completeness.

    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 description coverage is 100%, so the schema already documents the 'pattern' parameter fully. The description adds marginal value by implying the pattern is for 'substring match against registered names,' but this is essentially restating the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 specific action ('Search') and resource ('static enVoi name registry'), and distinguishes it from alternatives by mentioning 'For live search, use UluCoreMCP's envoi tools.' This provides explicit differentiation from sibling tools like 'resolve_name' or 'reverse_resolve_address' by specifying it's for static registry pattern matching.

    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?

    The description explicitly states when to use this tool ('Search the static enVoi name registry by pattern') and when not to use it ('For live search, use UluCoreMCP's envoi tools'), providing clear alternatives and context. This helps the agent choose between this static search and other dynamic resolution tools.

    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

UluVoiMCP MCP server

Copy to your README.md:

Score Badge

UluVoiMCP 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/MaidToShelly/UluVoiMCP'

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