Skip to main content
Glama
HellioSolutions

Hellio Messaging MCP server

Official

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct operation (send, list, create, etc.) on a specific resource (SMS, voice, OTP, webhook, USSD, etc.). The verb+noun pattern combined with resource-specific prefixes makes it easy to distinguish even related tools like send_sms, send_voice, and send_otp.

    Naming Consistency5/5

    All tools follow the consistent pattern 'hellio_<verb>_<noun>' using snake_case. Verbs are standard (get, list, create, update, delete, send, verify, etc.) and nouns correspond to API resources. No mixing of conventions.

    Tool Count4/5

    With 28 tools, the server covers a broad range of messaging functionalities. While it is on the higher end, the tools are logically grouped (SMS, voice, OTP, USSD, etc.) and each serves a clear purpose, so the count feels justified rather than excessive.

    Completeness4/5

    The tool surface covers the main messaging cycles (send, get, list) for SMS, voice, OTP, email verification, number lookup, and USSD. However, there is no tool to delete or update a webhook, and campaign management lacks a delete/update tool, which are minor gaps.

  • Average 4/5 across 28 of 28 tools scored. Lowest: 2.9/5.

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

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

  • Behavior3/5

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

    Annotations already indicate non-destructive behavior and no read-only hint. The description adds the scope requirement and return value, but does not disclose side effects or error handling.

    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 concise with two sentences, all relevant. No fluff, but could be slightly more structured (e.g., using bullet points for clarity).

    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 (one required, three optional without descriptions) and no output schema, the description fails to explain how to specify the destination or handle errors. Lacks completeness for a verification 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?

    Only 'code' has a description in the schema. The optional parameters (email, channel, mobile_number) lack descriptions, and the tool description does not explain how they identify the destination, leaving 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 checks a user-entered code against the most recent OTP for a destination and returns a boolean. It distinguishes from siblings like hellio_send_otp by focusing on verification.

    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 vs alternatives (e.g., after sending an OTP). The requirement for the 'otp' scope is mentioned but not contextualized.

    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=false and destructiveHint=false. The description adds the behavioral trait 'Requires the `ussd` scope,' which is useful. However, it does not disclose implications of required parameters or mutability details beyond the schema.

    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, front-loading the core purpose with no wasted words. It efficiently conveys the action and a key requirement.

    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, no output schema, and low schema coverage, the description lacks sufficient detail. It does not clarify required vs optional parameters, update semantics (e.g., partial vs full), or error scenarios, leaving the agent underinformed.

    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 only 25% (only 'id' documented). The description lists the fields 'name, callback URL, or active state' but does not explain them meaningfully beyond the schema types. It omits the required 'id' parameter, and the 'or' phrasing is misleading given schema constraints.

    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 it 'Updates an app's name, callback URL, or active state,' specifying the verb and resources. It distinguishes from sibling tools like `hellio_ussd_create_app`. However, the use of 'or' implies partial updates, but the schema requires both name and callback_url, creating slight 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?

    The description provides no guidance on when to use this tool over alternatives like `hellio_ussd_switch_app_mode` or `hellio_ussd_rotate_app_secret`. It only mentions the required scope, not 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.

  • Behavior4/5

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

    Annotations provide readOnlyHint, and the description adds the requirement for the 'reports' scope, which is behavioral context not covered by annotations. No contradictions.

    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 front-loaded key information: return type and identifier format. No unnecessary 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?

    Given the low complexity (1 param, no output schema), the description provides essential information but lacks details on error handling or return format beyond 'delivery-status breakdown'.

    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 100%, so baseline 3 applies. The description's mention of 'reference (uuid) or numeric id' mirrors the schema's parameter description, adding no new semantics.

    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 returns a campaign with a delivery-status breakdown, using specific verbs and resource. It distinguishes from sibling hellio_list_campaigns by focusing on a single campaign with detailed breakdown.

    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 does not explicitly state when to use this tool versus alternatives like hellio_list_campaigns. It implies usage for retrieving a single campaign summary but lacks guidance on selection criteria.

    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?

    The description adds behavioral details beyond the annotations (readOnlyHint, openWorldHint) by specifying cursor-paginated, newest-first ordering, and the scope requirement, enhancing transparency about its operation.

    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, using two clear sentences that front-load the key information (paginated list, ordering, scope) without any unnecessary 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?

    Given the tool has three optional parameters and no output schema, the description adequately covers the purpose and prerequisites but could be more complete by hinting at the return format or typical use cases, such as filtering by status.

    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 67% (two of three parameters have descriptions). The tool description does not provide additional parameter details beyond what the schema already offers, so it meets the baseline without adding extra value.

    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 lists messages with cursor-based pagination and newest-first ordering, and it distinguishes from sibling tools like hellio_get_message by focusing on a list, but it does not explicitly name alternatives.

    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 mentions the required 'reports' scope, which is a prerequisite, but it does not provide guidance on when to use this tool versus alternatives like hellio_get_message or hellio_list_campaigns, nor does it explain when not to use it.

    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 destructiveHint=true. The description adds the scope requirement, which is useful. However, it does not mention irreversibility or side effects beyond the scope requirement.

    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: purpose and requirement. No unnecessary words. Front-loaded with the 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?

    For a destructive tool with one parameter and no output schema, the description is adequate but minimal. It covers the action and a key requirement, but lacks details on what happens after deletion or any warnings.

    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 100%, and the description does not add any new meaning beyond the parameter description in the schema ('The app id.'). Baseline 3 is appropriate.

    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 explicitly states 'Deletes a USSD app', which is a clear verb and resource. It distinguishes from sibling tools like create, update, and list.

    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 mentions a prerequisite ('Requires the `ussd` scope') but provides no guidance on when to use this tool versus alternatives. No explicit when-to-use or when-not-to-use information.

    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 indicate non-read-only (readOnlyHint=false) and non-destructive (destructiveHint=false), but description adds valuable context: deducts balance, queues asynchronously, confirms accepted count, and requires scope. This goes beyond annotations, though it omits details like retries, error handling, or quota 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?

    Three concise sentences, each adding distinct information: cost, action, asynchronous nature, response confirmation, and scope requirement. No redundancy or fluff.

    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?

    The description explains async behavior and response confirmation but lacks details on response format, error scenarios, or what HLR provides. Without an output schema, more description of return values would improve 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 coverage is 100%, with both parameters (numbers, scheduled_at) described. The description adds only that lookups are 'batched' and response confirms accepted count, which is minimal extra meaning. Baseline 3 is appropriate.

    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 'queues a batch of HLR number lookups' and deducts from wallet. The verb 'queues' and resource 'HLR number lookups' are specific and distinct from sibling tools, which include SMS, voice, USSD, and email operations.

    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 mentions deducting wallet balance and requiring the 'lookup' scope, implying usage when you need number verification and have sufficient funds/permissions. However, it does not explicitly state when to use this tool versus alternatives (though no direct alternatives exist among siblings), nor provide when-not-to-use guidance.

    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 indicate it's a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds crucial behavioral context: it deducts from wallet balance, attaches an idempotency key, and returns a reference UUID for tracking. These details go beyond annotations and help the agent understand side effects.

    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 four sentences, front-loading the critical cost implication ('Deducts from your wallet balance'). Every sentence adds value: cost, core functionality, return reference and tracking, idempotency, and required scope. No redundant or unnecessary text.

    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 5 optional parameters and no output schema, the description covers the return value and idempotency but omits details like default OTP length, channel behavior when both email and mobile are absent, or that the OTP should be verified via hellio_verify_otp. The openWorldHint allows some leeway, but for a payment-incurring tool, more completeness is expected.

    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, so the baseline is 3. The description does not elaborate on parameter usage beyond what the schema provides. It mentions the reference return value but does not add parameter-specific constraints or relationships (e.g., required combinations of email and mobile_number). The description adds no new 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 it generates a one-time passcode and delivers it via SMS, voice, or email, deducting from wallet. The title 'Send an OTP' and the mention of 'otp scope' distinguish it from generic messaging tools like hellio_send_sms. The verb 'send' and resource 'OTP' are specific and unambiguous.

    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 mentions the required 'otp' scope and that the reference can be tracked with hellio_get_message, implying a use case for OTP delivery. However, it does not explicitly state when to use this tool over alternatives like hellio_send_sms or hellio_send_voice, nor does it mention the complementary tool hellio_verify_otp. Usage guidance is implied but not direct.

    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=true and openWorldHint=true. The description adds pagination behavior (cursor-paginated, newest first) and scope requirement. No 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?

    Single sentence, no unnecessary words. Front-loaded with key information: pagination type, resource, ordering, and scope requirement.

    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 is a simple list with pagination, the description covers pagination method, ordering, and scope. No output schema exists, but for a list tool this is acceptable. Could mention result shape.

    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 50% (only 'cursor' is described). The description adds no parameter information beyond what's in the schema, failing to compensate for the undocumented 'per_page' 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 'list', the resource 'your rented extensions', and ordering 'newest first'. It distinguishes from sibling tools like hellio_ussd_list_apps by specifying 'extensions'.

    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 mentions the required 'ussd' scope but does not explicitly instruct when to use this tool versus alternatives like hellio_ussd_check_extension_availability. No when-not or 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 already indicate it is not read-only. The description adds valuable behavioral details: the signing secret is returned only once, requiring storage, and the need for the 'webhooks' scope. This goes beyond what annotations provide, though it could detail idempotency or side effects.

    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 three short sentences, front-loading the purpose and adding critical details (secret storage, scope) without superfluous text. It is efficient and well-structured.

    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 creation tool with two parameters and no output schema, the description covers the core purpose, unique secret handling, and auth requirement. It omits return value format but is sufficient given the openWorldHint and lack of output schema.

    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 100%, so baseline is 3. The description does not add parameter-specific meaning beyond what the schema already describes for 'url' and 'events'. No extra context is provided.

    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 registers an endpoint for delivery receipts, specifying the purpose with a specific verb and resource. It distinguishes itself from sibling tools like hellio_list_webhooks by focusing on creation.

    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 for receiving delivery receipts and mentions the 'webhooks' scope, but does not provide explicit guidance on when to use versus alternatives or when not to use it. No exclusions or comparative context are given.

    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 mark it as read-only and open-world. The description adds the required `reports` scope, which is behavioral context beyond annotations. No contradictions.

    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 with no wasted words; it is perfectly concise for the tool's simplicity.

    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, the description covers purpose, scope requirement, and identifier. It lacks any mention of response format, but given no output schema, this is not a major 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?

    Schema coverage is 100%, and the description repeats the parameter's `reference` (uuid) nature without adding new details 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 verb ('Returns'), the resource ('delivery status of a single message'), and the identifier ('reference (uuid)'). It distinguishes itself from sibling tools like `hellio_list_messages` by specifying 'single message'.

    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 for a single message but does not explicitly state when not to use it or mention alternatives like `hellio_list_messages` for bulk queries. The context is clear but lacks explicit exclusions.

    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?

    Description adds pagination, ordering, and scope requirements beyond annotations (readOnlyHint, openWorldHint). No contradictions.

    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, front-loaded sentences with no wasted text.

    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?

    No output schema, and description only says 'list of your campaigns' without detailing what each campaign contains. Adequate but incomplete.

    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?

    Only the 'status' parameter has a schema description; the description provides no additional meaning for 'cursor' or 'per_page'. With 33% schema coverage, description should compensate but doesn't.

    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 campaigns with cursor-based pagination and newest-first ordering, and differentiates from siblings like hellio_get_campaign.

    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?

    Specifies required 'reports' scope, but does not explicitly compare to alternative tools like hellio_get_campaign for single campaign retrieval.

    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=true and openWorldHint=true, so the agent knows it is safe and possibly not exhaustive. The description adds only the scope requirement, no further behavioral traits (e.g., response format, pagination). With annotations covering safety, a 3 is appropriate.

    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?

    Description is one concise sentence that front-loads the core action. No unnecessary words, and it efficiently communicates the tool's purpose and prerequisite.

    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 list tool with no parameters and annotations present, the description is largely complete. It lacks explicit mention of return format (e.g., a list), but the title and context make it inferable. Still 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?

    Input schema has 0 parameters, and schema coverage is 100%. Per instructions, baseline is 4 for zero parameters. Description adds no parameter info, which is acceptable.

    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 lists webhook endpoints, with a specific verb and resource. It distinguishes from sibling tools like hellio_create_webhook (create) and others (get balance, etc.). The required scope adds clarity.

    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 mentions the required 'webhooks' scope as a precondition, which is useful. However, it does not explicitly state when to use this tool over alternatives or provide any usage context beyond the scope requirement.

    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?

    The description discloses important behaviors beyond annotations: wallet deduction, queuing, upfront cost reservation, idempotency key, and return of campaign reference. No contradictions 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?

    Three sentences covering key points: cost, queuing, tracking, idempotency, and auth. No wasted words; front-loaded with wallet deduction.

    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?

    Although no output schema, the description states a campaign reference is returned for tracking. Covers auth, cost, and idempotency. Missing any note about rate limits or status updates, but acceptable for a campaign send tool.

    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 100%, so baseline is 3. The description adds no new parameter-specific semantics beyond what the schema already provides (e.g., approved sender ID).

    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 specifies the verb 'Send' and resource 'SMS campaign', and distinguishes from siblings like hellio_send_otp and hellio_send_voice by targeting multiple recipients and returning a campaign reference.

    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 mentions the required 'sms:send' scope but does not explicitly state when to use this tool versus alternatives (e.g., for one-time OTPs). The context of 'campaign' implies batch sending, but no direct comparison.

    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 indicate a write operation without destructiveness. The description adds context: starts in test mode, returns secrets shown once, requires ussd scope. No contradiction 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 three sentences, concise, and front-loaded with the core action. Every sentence adds value without redundancy.

    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 3 parameters, no output schema, and many siblings, the description covers creation mode, secrets, and prerequisites. It lacks explicit return value format but mentions key outputs (test_secret, live_secret).

    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 only 33% (callback_url has a description). The tool description reinforces callback_url must be public but provides no additional details for name or active parameters, leaving room for ambiguity.

    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 creates a USSD app that points a short code to a callback URL. It distinguishes itself from sibling tools like hellio_ussd_delete_app and hellio_ussd_update_app by specifying creation with test mode and secret return.

    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 for creating a USSD app and mentions prerequisites (public callback URL, ussd scope), but does not explicitly state when to use this tool over alternatives or when not to use it.

    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 destructive and non-read-only behavior. Description adds scope requirement but no further behavioral details 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, no superfluous words. Front-loaded with verb and resource.

    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?

    Simple tool with one required parameter and clear annotations. No output schema, but description is sufficient for the straightforward operation.

    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?

    Parameter 'id' has a description in schema (100% coverage). Description does not add additional 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?

    States specific verb 'release' and resource 'extension'. Distinguishes from sibling tool 'rent_extension' as the inverse operation.

    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?

    Mentions required scope, providing context for use. Does not explicitly state when not to use or list alternatives, but the inverse relation to rent_extension 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?

    The description discloses that the tool deducts from a separate balance (USSD balance) and requires a scope, which adds behavioral context beyond the annotations (readOnlyHint=false, destructiveHint=false). However, it does not cover other aspects like failure behavior, rate limits, or idempotency, which are still unclear.

    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, each sentence adds unique value: first states the balance deduction, second states the action and pricing. No redundancy, front-loaded key information.

    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 has 3 parameters, no output schema, and moderate annotation coverage, the description covers purpose, financial implication, pricing logic, and scope requirement. It lacks mention of prerequisite steps (e.g., checking availability) but is still fairly complete for a simple rental operation.

    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?

    With 100% schema description coverage, the schema already documents parameters (code, app_id, short_code). The description adds general context (e.g., numeric extension, shared short code) but does not provide specific parameter-level guidance beyond what is in 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 it deducts from USSD balance and rents a numeric extension on a shared short code, with pricing by digit length. This distinguishes it from sibling tools like hellio_ussd_check_extension_availability, hellio_ussd_list_extensions, and hellio_ussd_release_extension because it explicitly uses the verb 'rents' and mentions the financial transaction.

    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 provides context on when to use: it requires the 'ussd' scope and explains pricing implications (shorter digits are premium). It does not explicitly state when not to use or directly compare with alternatives, but the context is clear enough for an agent to understand prerequisites and cost considerations.

    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?

    ReadOnlyHint annotation is reinforced by description ('Reports'). Adds context about what is checked (length, availability, price) beyond annotations. No contradictions.

    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 core function, no waste.

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

    Completeness5/5

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

    Simple tool with one parameter and no output schema. Description sufficiently covers what the tool returns and prerequisites.

    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 100% with a clear description for 'code'. Description adds tool context but no new parameter details beyond 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?

    Clearly states verb ('Reports'), resource ('extension code'), and what it checks (valid length, free to rent, monthly price). Distinct from siblings like rent or release.

    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?

    Implied usage (check before renting) but no explicit when-to-use or when-not. Only prerequisite 'ussd scope' is mentioned.

    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 the tool as read-only, and the description adds value by specifying the return content (developer steps, amount charged) and the required scope, which goes beyond the 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 two concise sentences with key information upfront, wasting no words.

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

    Completeness5/5

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

    For a simple parameter-less (except one id) tool with no output schema, the description, combined with annotations and schema, provides sufficient context for correct use.

    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 100%, so the description adds minimal additional meaning beyond confirming the id is a UUID, which is already implied by the schema format.

    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 returns a single session by its UUID, including developer steps and amount charged, which distinguishes it from list-oriented sibling tools.

    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 mentions the required `ussd` scope but does not explicitly provide when-to-use guidance or alternatives, though the purpose is implied by the resource and operation.

    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?

    The description adds value beyond annotations by explaining that the simulation involves no telco, no purchased extension, and no charge. It details the loop behavior and end condition. Annotations already declare readOnlyHint=false and destructiveHint=false, and the description is consistent with those.

    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 compact and well-structured: two sentences. The first sentence states the purpose and key benefits, the second explains the usage pattern. No unnecessary 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?

    Given the tool's moderate complexity and lack of output schema, the description is mostly complete. It explains the simulation flow and end condition. However, it does not describe the response structure beyond the 'action: end' field, which is notable for an iterative tool.

    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% coverage with descriptions for all 6 parameters. The description adds context for the interaction pattern (how to use new_session and input together), but does not significantly enrich parameter 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 it drives a USSD session against one of your own apps in test mode. It uses the specific verb 'drives' and identifies the resource as a USSD session, distinguishing it from sibling tools like send_sms or get_session.

    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 provides explicit step-by-step usage: open with new_session=true and empty input, then repeat with same session_id and next input until action: end. It also notes the requirement for the ussd scope. However, it does not explicitly contrast with other USSD tools like hellio_ussd_get_session or hellio_ussd_list_sessions.

    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 indicate mutating (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds that it requires the 'ussd' scope and can return a 402 error if extension missing, providing useful behavioral context 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 concise sentences, front-loaded with purpose and followed by key condition. No filler or redundancy.

    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?

    Description covers purpose, precondition, and error case, but lacks mention of successful return value or how to verify the switch. Without output schema, this gap 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?

    Schema coverage is 50% (id described, mode not). Description mentions mode values ('test'/'live') but adds little extra beyond the enum; id is not elaborated. Baseline 3 due to moderate coverage, and description partially compensates for mode.

    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 switches an app between 'test' and 'live' modes, with the specific verb 'Switches' and resource 'app'. It distinguishes from sibling tools (e.g., create, delete) by focusing on mode change.

    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 provides context on when to use (switching mode) and a precondition for 'live' mode (requires active extension). It implies when not to use (if no extension for live), but does not explicitly state alternatives.

    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 only indicate non-read-only (false) and non-destructive (false). Description adds critical context: wallet deduction, per-address billing, required scope, and specific checks. This is valuable 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?

    Three short sentences each add unique value: billing, checks, scope. No redundancy, fully front-loaded with the most critical info first.

    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?

    Explains what the tool does and its side effects, but does not describe the return value or output format. Since no output schema exists, the agent lacks information on what the tool returns, which is a notable gap.

    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 describes 'emails' as an array with format email. Description enriches by explaining the purpose of the checks performed on these addresses, going beyond the schema's minimal 'One or more email addresses.'

    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?

    Clearly states verb 'Checks' and resource 'email addresses for deliverability', listing specific checks (syntax, MX, mailbox, disposable, role-account). Distinct from all sibling tools which handle SMS, voice, USSD, webhooks, etc.

    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?

    Implies usage for verifying email deliverability and notes billing, but does not explicitly advise when to use or not use, nor mention alternatives. No direct alternative exists among siblings, but guidance is minimal.

    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=true and openWorldHint=true, so the description's simple 'Returns' statement is consistent. The description does not add behavioral details beyond what annotations offer (no mention of rate limits, side effects, or data freshness). With annotations present, a score of 3 is appropriate.

    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 efficiently conveys the tool's purpose and a key requirement. No fluff or redundancy.

    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?

    The tool is simple (no parameters, no output schema), and the description adequately states what is returned. Given the annotations cover safety profiles, the description is sufficient for an agent to decide to invoke it. However, it could optionally mention the return format or any pagination, but not required for completeness.

    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 input schema has no parameters (0 params, 100% schema coverage). The description adds no parameter explanations, but none are needed. Per guidelines, with 0 parameters baseline is 4, and the description does not need to compensate.

    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 returns specific USSD pricing data: 'shared short code, per-network session prices, and per-length monthly extension rentals.' The name includes 'ussd' which distinguishes it from the sibling 'hellio_get_pricing' likely for SMS pricing.

    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 mentions a required scope ('Requires the `ussd` scope.'), providing clear authentication context. However, it does not explicitly state when to use this tool versus alternatives, nor when not to use it. The context implies it's for fetching pricing, which is distinct 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?

    The description adds pagination type (cursor), ordering (newest first), and auth requirement beyond the annotations (readOnlyHint, openWorldHint). It does not detail potential side effects or rate limits, but for a read-only list, these are less critical.

    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?

    One sentence, front-loaded with the most important information (list, pagination, ordering, scope). Every part is essential and there is no redundancy.

    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 list tool with readOnlyHint and openWorldHint, the description covers the main behavioral aspects. No output schema is provided, which could be a small gap, but the description is otherwise sufficient for an agent to understand usage.

    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 50%; only cursor has a description in schema. The tool description mentions 'cursor-paginated' which adds context for cursor param but does not explain per_page further. It partially compensates for the schema gap but still leaves per_page under-described.

    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 'Cursor-paginated list of your USSD apps, newest first.' This specifies the verb (list), resource (USSD apps), and key traits (paginated, ordering). It distinguishes itself from sibling tools like create, delete, or update.

    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 mentions the required 'ussd' scope, giving a prerequisite. It does not explicitly compare to alternatives, but the purpose is clear enough for a simple read operation. Lacks explicit when-not-to-use guidance.

    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?

    Adds critical behavioral detail: 'The old secret stops working immediately', which goes beyond the destructiveHint annotation. Also mentions scope requirement, though schema annotations already indicate non-read-only and destructive nature.

    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, 15 words, with front-loaded purpose. No redundant information.

    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 rotation tool with 2 required parameters, the description provides the essential action, effect, and requirement. No output schema needed. Slightly lacking in explaining the return value but acceptable.

    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 already fully describes both parameters (id, mode) with details like UUID format and enum values. The description does not add extra semantic meaning beyond referencing 'mode'.

    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 'Rotates' and identifies the resource 'signing secret' for a single mode, clearly distinguishing this action from sibling tools like 'update_app' or 'switch_app_mode'.

    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?

    Clearly states the required 'ussd' scope and implies use when rotating a secret for a specific mode. However, no explicit guidance on when not to use or alternatives is 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?

    Description adds the scope requirement beyond annotations (readOnlyHint true), and is consistent with read-only nature. No contradictions.

    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, no fluff, front-loaded with core purpose.

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

    Completeness5/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 optional param and no output schema, the description covers purpose, usage, and prerequisite completely.

    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 100% and the description just restates the ISO-2 filter example from the schema, adding no new meaning.

    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 price per SMS segment per network with optional country filter, distinguishing it from sibling tools like balance or send operations.

    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?

    It explicitly says 'Use it to estimate cost before sending' and mentions required 'balance' scope, but doesn't mention when not to use or compare to alternatives.

    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 indicate read-only and open-world behavior. The description adds that results are cursor-paginated, newest first, and filterable by status with specific values. This goes beyond the annotations to clarify ordering, filtering, and pagination strategy.

    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 fluff. The first sentence front-loads the core action and ordering. The second adds filtering and scope requirements. Every word earns its place.

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

    Completeness5/5

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

    For a list tool with readOnlyHint and openWorldHint, the description covers pagination, ordering, filtering, and auth scope. No output schema exists, but the purpose is clear enough for an agent to infer return format. No gaps identified.

    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 33% (only cursor described). The description adds filter values for status but does not explain cursor or per_page behavior beyond what the schema provides. It partially compensates for the undocumented parameters but does not fully clarify their 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 it lists USSD sessions with cursor pagination and newest-first ordering, distinguishing it from siblings like hellio_ussd_get_session (single session) and other list tools. The verb 'list' and resource 'USSD sessions' are specific and unambiguous.

    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 mentions the required 'ussd' scope as a prerequisite and implies use for fetching collections. However, it does not explicitly contrast with alternatives like hellio_ussd_get_session, though the context from sibling names makes it clear that this is for listing. A direct 'use this when you need to retrieve multiple sessions' would be better.

    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 indicate no read-only or destructive behavior, and the description adds important context: wallet deduction, queuing, billing per second, and required `voice` scope. No contradictions.

    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 four sentences long, front-loaded with the most critical information (billing, queueing, alternatives), and every sentence adds essential 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?

    Despite lacking an output schema, the description covers inputs, side effects (billing, queuing), scope requirement, and idempotency, making it sufficient for this action-oriented tool.

    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 100%, but the description adds value by explaining the mutual exclusivity of `text` and `audio_url`, default voice, and billing implications.

    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 sends a voice broadcast, deducts wallet balance, and queues calls. It explicitly distinguishes from sibling tools by specifying 'voice broadcast' and mentioning alternatives like `text` and `audio_url`.

    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 explains when to use `text` vs `audio_url` and notes billing per second, but does not explicitly state when not to use this tool or compare it to alternatives like hellio_send_sms.

    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 indicate readOnlyHint and openWorldHint. The description adds value by specifying the exact data returned (balance, reserved, spendable) and the required scope, beyond the annotations. No contradictions.

    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 with no wasted words, front-loaded with key information.

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

    Completeness5/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 no output schema, the description fully covers what the tool returns and its prerequisite, making it complete.

    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?

    No parameters exist, schema coverage is 100%. Baseline score of 4 applies; the description does not need to add param info.

    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 wallet balance, reserved amount, and spendable amount. It uses a specific verb ('Returns') and resource, distinguishing it from sibling tools that deal with campaigns, messages, webhooks, etc.

    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?

    Description mentions required scope ('balance'), providing a prerequisite. It is clear when to use this tool (when wallet balance is needed), though no explicit alternatives or when-not-to-use are stated. However, given the straightforward nature, it is sufficient.

    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

hellio-mcp MCP server

Copy to your README.md:

Score Badge

hellio-mcp 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/HellioSolutions/hellio-mcp'

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