Skip to main content
Glama
dudu1111685

WAHA MCP Server

by dudu1111685

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes targeting specific WhatsApp actions like sending messages, managing groups, or handling sessions. However, some overlap exists, such as waha_send_text, waha_send_image, and waha_send_video, which could be confused as variants of a general send function, though their descriptions clarify media types. Overall, the set is well-differentiated with minimal ambiguity.

    Naming Consistency5/5

    All tools follow a consistent waha_verb_noun naming pattern, using snake_case uniformly. This predictability makes it easy for agents to understand and navigate the toolset, with no deviations in style or structure across the 63 tools.

    Tool Count2/5

    With 63 tools, the count is excessive for a WhatsApp API server, likely overwhelming agents and causing decision paralysis. A more focused set of 15-25 tools could cover the same functionality without redundancy, such as consolidating send operations into fewer tools. This high number feels heavy and unnecessary for the domain.

    Completeness5/5

    The toolset provides comprehensive coverage for WhatsApp operations, including messaging (text, media, polls), group management (create, update, participants), session handling (start, stop, QR codes), and chat features (archive, mute, labels). No obvious gaps exist; it supports full CRUD and lifecycle management for the domain.

  • Average 3/5 across 63 of 63 tools scored.

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

    • No community issues in the last 6 months
    • 11 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, the description carries full burden but only states the action without disclosing behavioral traits. It doesn't mention permissions needed, whether labels are global or session-specific, rate limits, or what happens on duplicate names. For a mutation tool, this is inadequate.

    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 with zero waste. It's front-loaded and appropriately sized for a simple tool, though it could benefit from more detail given the lack of annotations.

    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, no output schema, and a mutation tool with 3 parameters, the description is incomplete. It doesn't cover behavioral aspects, usage context, or return values, leaving significant gaps for an AI agent to operate effectively.

    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 parameters are documented in the schema. The description adds no meaning beyond the schema—it doesn't explain label naming constraints, color index ranges, or session context. Baseline 3 is appropriate as the schema does the work.

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

    Purpose3/5

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

    The description 'Create a new label' clearly states the action (create) and resource (label), but it's vague about what kind of label (e.g., chat label, contact label) and doesn't differentiate from sibling tools like 'waha_add_label_to_chat' or 'waha_remove_label_from_chat'. It's functional but lacks specificity.

    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 like 'waha_add_label_to_chat' or 'waha_get_labels'. The description doesn't mention prerequisites (e.g., session must be active) or context for label creation, leaving usage 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 'Add participants to a group' which implies a mutation operation, but lacks details on permissions required, error handling (e.g., if participants are invalid), side effects (e.g., notifications sent), or response format. This is inadequate for a mutation tool with zero 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.

    Conciseness5/5

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

    The description is a single, direct sentence with zero wasted words. It front-loads the core action and target efficiently, making it easy to parse quickly without unnecessary elaboration.

    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 mutation tool with no annotations and no output schema, the description is insufficient. It doesn't cover behavioral aspects like success/error responses, prerequisites, or integration with sibling tools. Given the complexity of group management in WhatsApp, more context is needed to ensure safe and effective 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?

    The schema description coverage is 100%, with clear documentation for all three parameters (groupId, participants, session). The description adds no additional semantic context beyond what the schema provides, such as explaining what a 'Group ID' represents or how participants are identified. This meets the baseline score when schema coverage is high.

    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 ('Add') and target ('participants to a group'), making the purpose immediately understandable. It distinguishes from siblings like 'waha_remove_group_participants' by specifying addition rather than removal, though it doesn't explicitly contrast with other group management tools like 'waha_promote_group_participant' or 'waha_create_group'.

    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 prerequisites (e.g., needing an existing group), exclusions (e.g., not for creating groups), or comparisons to sibling tools like 'waha_create_group' for initial setup or 'waha_get_group_participants' for viewing members.

    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 full burden for behavioral disclosure. It states the action ('add a label') but doesn't explain what happens if the label or chat doesn't exist, whether this requires specific permissions, if it's idempotent, or what the response looks like. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding behavior.

    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 with zero waste. It's front-loaded and directly states the tool's purpose without unnecessary words, making it easy 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 this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like error conditions, side effects, or return values. For a tool that modifies data, more context is needed to use it effectively and safely.

    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%, with clear parameter descriptions in the schema (e.g., 'Label ID', 'Chat ID to label', 'Session name'). The description doesn't add any meaning beyond what the schema provides, such as explaining where to get labelId or chatId values. Baseline 3 is appropriate since the 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 'Add a label to a chat' clearly states the verb ('add') and resource ('label to a chat'), making the purpose immediately understandable. It distinguishes from siblings like 'waha_remove_label_from_chat' by specifying the opposite action, though it doesn't explicitly contrast with other labeling tools like 'waha_create_label' or 'waha_get_labels'.

    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. It doesn't mention prerequisites (e.g., needing an existing label and chat), when not to use it, or how it relates to sibling tools like 'waha_remove_label_from_chat' or 'waha_get_labels'. The agent must infer usage from the name alone.

    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 full burden but offers minimal behavioral context. It states the action but doesn't explain what archiving means in this system, whether it's reversible, permission requirements, or what happens to archived chats. This is inadequate for a mutation tool.

    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 perfectly concise - a single sentence that communicates the core functionality without any wasted words. It's front-loaded and efficiently structured.

    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 mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what archiving entails in this system, what the response looks like, or important behavioral aspects. The completeness is poor given the tool's complexity and lack of structured metadata.

    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 all three parameters thoroughly. The description doesn't add any parameter information beyond what's in the schema, meeting the baseline expectation when schema coverage is complete.

    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 verb ('Archive or unarchive') and resource ('a chat'), making the purpose immediately understandable. It doesn't distinguish from siblings like 'waha_delete_chat' or 'waha_mute_chat', which would require more specific scope 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?

    No guidance is provided about when to use this tool versus alternatives. There's no mention of prerequisites, consequences, or how this differs from similar sibling tools like 'waha_delete_chat' or 'waha_mute_chat'.

    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 full burden for behavioral disclosure. It states the action (block/unblock) but lacks critical details: whether this requires specific permissions, if it's reversible (beyond the block parameter), rate limits, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

    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 ('Block or unblock a contact') that front-loads the core purpose with zero waste. Every word earns its place, making it appropriately sized for a tool with clear parameters.

    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 this is a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects (permissions, reversibility), error handling, or return values. For a tool that modifies contact access, more context is needed to ensure safe and correct 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 description coverage is 100%, so parameters are fully documented in the schema. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain contactId format beyond '@c.us', session implications, or default behavior). Baseline 3 is appropriate when the 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 tool's purpose as 'Block or unblock a contact', which specifies the action (block/unblock) and target resource (contact). It distinguishes from siblings like waha_get_contact (read-only) or waha_delete_chat (different resource), though it doesn't explicitly differentiate from other contact-modification tools, which are absent from the sibling list.

    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 (e.g., needing an active session), consequences (e.g., blocked contacts can't send messages), or related tools (e.g., waha_get_contact to verify contactId). Usage is implied only by the tool name and parameters.

    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 full burden. 'Clear all messages' implies a destructive mutation, but it doesn't disclose whether this is reversible, requires specific permissions, affects chat metadata, or has side effects (e.g., notifications). For a destructive tool with zero annotation coverage, this is a significant gap in behavioral context.

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

    Conciseness5/5

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

    The description is a single, direct sentence with zero waste: 'Clear all messages in a chat'. It's front-loaded with the core action and resource, making it highly efficient and easy to parse. Every word earns its place.

    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 this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral traits (e.g., irreversibility, permissions), output format, or error conditions. For a tool that permanently modifies data, more context is needed to ensure safe and correct 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 description coverage is 100%, with both parameters ('chatId', 'session') clearly documented in the schema. The description adds no parameter-specific information beyond implying 'chatId' is needed. Since the schema does the heavy lifting, the baseline 3 is appropriate—no extra value is added, but no harm is done.

    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 'Clear all messages in a chat' clearly states the verb ('clear') and resource ('all messages in a chat'), making the purpose unambiguous. It distinguishes from siblings like 'waha_delete_message' (single message) and 'waha_delete_chat' (entire chat). However, it doesn't explicitly mention the platform (WhatsApp) or differentiate from similar tools like 'waha_archive_chat', so it's not a perfect 5.

    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 (e.g., chat must exist), when not to use it (e.g., for partial clearing), or compare it to siblings like 'waha_delete_chat' or 'waha_archive_chat'. The agent must infer usage from the name and context alone.

    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 it's a creation tool, implying a write operation, but doesn't cover critical aspects like required permissions, whether it returns a group ID, error conditions (e.g., invalid participants), or side effects (e.g., notifications to participants). For a mutation tool with zero annotation coverage, this is a significant gap.

    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 front-loaded with the core action and resource, making it easy to parse. There's no redundancy or fluff, earning a perfect score for conciseness.

    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 a group creation tool (a mutation with multiple parameters), the lack of annotations and output schema means the description should do more. It doesn't explain what happens upon success (e.g., returns a group ID), error handling, or dependencies (e.g., session must be active). For a tool with no structured output or safety hints, this is incomplete.

    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 clear descriptions for all parameters (name, participants, session). The description adds no additional parameter semantics beyond what's in the schema, such as format examples for 'participants' or default behavior for 'session'. Since the schema does the heavy lifting, 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 'Create a new WhatsApp group' clearly states the action (create) and resource (WhatsApp group), making the purpose immediately understandable. It distinguishes from siblings like 'waha_update_group_subject' or 'waha_leave_group' by focusing on creation. However, it doesn't specify what distinguishes it from similar creation tools (e.g., 'waha_create_session'), so it's not a perfect 5.

    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 (e.g., needing an active session), compare it to related tools (e.g., 'waha_add_group_participants' for modifying existing groups), or specify when not to use it (e.g., for updating groups). This lack of context leaves the agent to infer usage from the name alone.

    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. 'Create a new WhatsApp session' implies a write operation that likely requires specific permissions or setup, but it doesn't disclose what 'create' entails—whether it initializes a session with QR scanning, sets up webhooks, or has side effects like data syncing. It also omits details on error conditions, rate limits, or what happens if a session already exists. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

    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—'Create a new WhatsApp session'—that is front-loaded with the core action. There is no wasted verbiage or redundancy, making it highly concise and easy to parse. Every word earns its place by directly conveying the tool's purpose.

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

    Completeness2/5

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

    Given the complexity of creating a WhatsApp session (a mutation with 5 parameters, no annotations, and no output schema), the description is incomplete. It lacks crucial context: what the tool returns (e.g., session ID, status), behavioral traits (e.g., whether it's idempotent, requires QR scanning), and error handling. Without annotations or an output schema, the description should provide more guidance on outcomes and usage, but it does not.

    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 each parameter well-documented (e.g., 'Session name', 'Webhook URL for events'). The description adds no additional parameter semantics beyond what the schema provides, such as explaining how parameters interact (e.g., if 'enableStore' affects 'fullSync'). Since the schema does the heavy lifting, the baseline score of 3 is appropriate, but the description doesn't compensate with extra context.

    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 'Create a new WhatsApp session' clearly states the verb ('Create') and resource ('WhatsApp session'), making the purpose immediately understandable. It distinguishes from siblings like 'waha_start_session' (which likely activates an existing session) and 'waha_get_session' (which retrieves session info), though it doesn't explicitly mention these distinctions. The description avoids tautology by not just restating the tool name.

    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 (e.g., authentication status), when to choose this over 'waha_start_session' (which might resume an existing session), or any dependencies. The agent must infer usage from the tool name alone, which is insufficient for informed selection.

    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 deletes a chat entirely, implying a destructive and irreversible action, but doesn't specify permissions required, whether it's reversible, or any side effects (e.g., impact on messages or participants). This is inadequate for a mutation tool with zero 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.

    Conciseness5/5

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

    The description is a single, direct sentence with no wasted words, making it highly concise and front-loaded. Every word contributes to stating the tool's purpose efficiently.

    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 this is a destructive mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical context such as what 'delete entirely' entails (e.g., permanent removal vs. soft delete), error conditions, or return values, leaving significant gaps for an AI agent to operate safely and effectively.

    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 fully documents both parameters (chatId and session). The description adds no additional meaning beyond what the schema provides, such as explaining what a 'chatId' represents or how 'session' affects the operation. Baseline 3 is appropriate when the schema handles parameter documentation.

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

    Purpose4/5

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

    The description clearly states the action ('Delete') and target ('a chat entirely'), making the purpose unambiguous. However, it doesn't differentiate from sibling tools like 'waha_clear_chat' or 'waha_archive_chat', which might offer similar but distinct functionality for chat management.

    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 such as 'waha_clear_chat' or 'waha_archive_chat'. The description lacks context about prerequisites, consequences, or specific scenarios where deletion is appropriate, leaving the agent without usage direction.

    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 full burden for behavioral disclosure. 'Delete a label' implies a destructive operation but doesn't specify whether deletion is permanent, reversible, or requires specific permissions. No information about error conditions, side effects, or what happens to associated chats/labels is provided.

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

    Conciseness5/5

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

    The description is extremely concise at just three words, front-loading the essential information with zero waste. Every word earns its place in this minimal but complete statement of function.

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

    Completeness2/5

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

    For a destructive operation with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after deletion, whether the action is reversible, what permissions are required, or what the response looks like. The minimal description leaves critical behavioral questions unanswered.

    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 both parameters (labelId and session). The description adds no additional parameter context beyond what's in the schema. 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 'Delete a label' clearly states the action (delete) and resource (label), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'waha_remove_label_from_chat' which also involves label removal, so it doesn't achieve full distinction.

    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's no mention of prerequisites, consequences, or when to choose this over similar tools like 'waha_remove_label_from_chat' or 'waha_create_label' for label management workflows.

    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 'Delete' implies a destructive mutation, the description doesn't specify whether this action is reversible, requires specific permissions, has side effects (e.g., notifying participants), or follows WhatsApp's deletion policies. This leaves significant gaps for an agent to understand the tool's behavior.

    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, direct sentence with zero wasted words. It's front-loaded with the core action and resource, making it highly efficient and easy to parse.

    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 a destructive operation in a messaging platform with no annotations and no output schema, the description is insufficient. It lacks crucial context about permissions, reversibility, side effects, and expected outcomes, which are essential for safe and effective tool 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?

    Schema description coverage is 100%, so the schema already documents all three parameters (chatId, messageId, session) with clear descriptions. The description doesn't add any additional meaning beyond what the schema provides, such as explaining parameter relationships or constraints, which aligns with the baseline score when schema coverage is high.

    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 ('Delete') and resource ('a message from a WhatsApp chat'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'waha_clear_chat' or 'waha_delete_chat', which also involve deletion operations in WhatsApp.

    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 (e.g., needing an active session), exclusions, or comparisons to similar tools like 'waha_clear_chat' (which clears entire chats) or 'waha_delete_chat' (which deletes entire chats).

    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 full burden. It discloses the permanent nature of deletion ('permanently'), which is crucial behavioral context. However, it lacks other important details: required permissions, whether deletion is reversible, what happens to associated data, or error conditions. For a destructive operation, this is insufficient.

    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 core purpose without unnecessary words. It's front-loaded with the key action and qualifies it appropriately. Every word earns its place.

    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 destructive operation with no annotations and no output schema, the description is incomplete. It doesn't explain what 'permanently' entails operationally, what confirmation (if any) is required, what the tool returns, or error handling. Given the complexity and risk of session deletion, more 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?

    Schema description coverage is 100% with one parameter fully documented in the schema. The description adds no parameter-specific information beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline is 3 even without parameter details in the description.

    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 ('Delete') and target ('WhatsApp session') with the qualifier 'permanently' adding specificity. It distinguishes from sibling tools like waha_logout_session or waha_stop_session by emphasizing permanent deletion rather than temporary deactivation. However, it doesn't explicitly contrast with all siblings like waha_delete_chat or waha_delete_label.

    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 (e.g., session must exist), consequences of deletion, or when to choose this over similar tools like waha_logout_session. The agent must infer usage from the name alone.

    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 full burden for behavioral disclosure. It states the action but doesn't cover critical aspects like required permissions, whether the operation is reversible, error conditions, or rate limits. This leaves significant gaps for a mutation tool.

    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 with zero waste. It's front-loaded with the core action and target, making it easy to parse quickly without unnecessary elaboration.

    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 mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, error handling, and what the tool returns, leaving the agent with insufficient context to use it effectively beyond basic parameter passing.

    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 parameters are well-documented in the schema. The description doesn't add meaning beyond implying 'groupId' and 'participants' are needed, which the schema already covers. 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.

    Purpose4/5

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

    The description clearly states the action ('demote') and target ('admin(s) to regular participant in a group'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from its sibling 'waha_promote_group_participant' or other group management tools, 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 like 'waha_remove_group_participants' or 'waha_promote_group_participant'. It lacks context about prerequisites (e.g., needing admin rights) or exclusions, offering minimal usage direction.

    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 full burden but offers minimal behavioral insight. It doesn't disclose permissions needed, whether edits are reversible, rate limits, or how edits appear to recipients. 'Edit' implies mutation, but without details on consequences or constraints, transparency is inadequate for a tool that modifies existing content.

    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 with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable without unnecessary elaboration.

    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 mutation tool with no annotations and no output schema, the description is insufficient. It lacks details on behavioral traits, error conditions, or return values, leaving significant gaps in understanding how the tool operates and what results to expect.

    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 parameters are fully documented in the schema. The description adds no additional meaning about parameters beyond implying 'text' is the new content. This meets the baseline of 3 since the schema handles the heavy lifting, but no extra context is provided.

    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 ('Edit') and target resource ('a previously sent message'), which is specific and unambiguous. It doesn't differentiate from sibling tools like 'waha_delete_message' or 'waha_react_to_message', but the purpose is well-defined for a message modification operation.

    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 like 'waha_delete_message' or 'waha_send_text' for corrections. The description only states what it does, not when it's appropriate, leaving the agent to infer usage context from the tool name alone.

    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 full burden for behavioral disclosure. It states the action ('forward') but doesn't clarify whether this is a read-only or destructive operation, what permissions are required, if there are rate limits, or what happens on success/failure. This leaves significant gaps for an agent to understand the tool's behavior.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately understandable without unnecessary elaboration.

    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 mutation tool (forwarding implies modifying chat state) with no annotations and no output schema, the description is incomplete. It doesn't address behavioral aspects like side effects, error conditions, or return values, which are critical for an agent to use this tool effectively in a WhatsApp automation context.

    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 all four parameters (chatId, messageId, toChatId, session). The description adds no additional meaning beyond what's in the schema, such as explaining relationships between parameters or usage nuances. 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 ('forward') and resource ('a message to another chat'), making the purpose immediately understandable. It doesn't specifically differentiate from sibling tools like 'waha_send_text' or 'waha_edit_message', but the verb 'forward' is distinct enough for basic identification.

    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 'waha_send_text' for new messages or 'waha_edit_message' for modifying existing ones. It lacks any context about prerequisites, such as needing an existing message to forward, or exclusions for when forwarding might not be appropriate.

    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 it 'gets detailed info' but doesn't specify what that info includes, whether it's a read-only operation, potential errors, or any side effects. For a tool with no annotation coverage, this leaves significant 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?

    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 zero waste.

    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 doesn't explain what 'detailed info' includes, the format of the response, or any behavioral aspects like error handling. For a tool with rich sibling context and no structured support, more descriptive 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 fully documents the 'chatId' and 'session' parameters. The description doesn't add any meaning beyond what the schema provides, such as explaining what constitutes a valid chat ID or when to use non-default sessions. Baseline 3 is appropriate when the 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 verb 'Get' and the resource 'detailed info about a specific chat', making the purpose understandable. It doesn't explicitly distinguish from siblings like 'waha_get_contacts' or 'waha_list_chats', but the specificity of 'specific chat' implies individual retrieval rather than listing.

    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 like 'waha_get_contacts' or 'waha_list_chats'. The description only states what it does, not when it's appropriate or what distinguishes it from similar tools in the sibling list.

    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 full burden but offers minimal behavioral insight. It implies a read-only operation ('Get info'), but doesn't disclose authentication requirements, rate limits, error conditions, or what 'info' includes (e.g., name, phone number, presence). The agent must infer behavior from the tool name and schema alone.

    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 with zero wasted words. It's front-loaded with the core purpose ('Get info about a specific contact'), making it easy to parse quickly. No structural issues or redundancy are present.

    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 for a tool that retrieves contact information. It doesn't explain what 'info' includes, potential response formats, or error handling. For a read operation in a WhatsApp API context, more detail on data returned and usage constraints 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%, with both parameters clearly documented in the schema. The description adds no additional meaning beyond the schema's details for 'contactId' and 'session'. Baseline score of 3 is appropriate since the schema adequately covers parameter semantics without description enhancement.

    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 info') and target ('about a specific contact'), which is a specific verb+resource combination. It distinguishes from sibling 'waha_get_contacts' (plural) by specifying 'specific contact', but doesn't explicitly contrast with other contact-related tools like 'waha_block_contact' or 'waha_get_profile_picture'.

    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 prerequisites (e.g., needing a valid contact ID), contrast with 'waha_get_contacts' for listing multiple contacts, or specify use cases like retrieving contact details for messaging or verification.

    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, the description lacks behavioral details. It doesn't disclose if this is a read-only operation, potential rate limits, authentication needs, or what 'all contacts' entails (e.g., pagination, format). The description is minimal and doesn't compensate for the absence of annotations.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose, making it efficient and easy to parse, though it could benefit from more detail given the lack of annotations.

    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, no output schema, and minimal description, this is incomplete. It doesn't explain return values (e.g., contact list format), error conditions, or behavioral constraints, leaving gaps for an AI agent to use it effectively in context with many sibling tools.

    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%, with the single parameter 'session' documented as 'Session name'. The description adds no additional meaning beyond this, such as explaining session context or default behavior. Baseline 3 is appropriate given the schema handles parameter documentation adequately.

    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 resource ('all contacts from a WhatsApp session'), making the purpose evident. It distinguishes from sibling 'waha_get_contact' (singular) by implying a bulk retrieval, but doesn't explicitly contrast with other contact-related tools like 'waha_block_contact'.

    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. It doesn't mention prerequisites (e.g., session must be active), differentiate from 'waha_get_contact' for single contacts, or specify use cases like contact management or bulk operations.

    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 it 'Get detailed info,' implying a read-only operation, but doesn't clarify what 'detailed info' includes, potential rate limits, authentication needs, or error conditions, leaving significant gaps 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 a single, clear sentence with no wasted words. It's front-loaded with the core purpose ('Get detailed info about a specific group'), making it highly efficient and easy to parse.

    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 doesn't explain what 'detailed info' returns, such as group metadata, participants, or settings, which is critical for a read tool. This leaves the agent guessing about the tool's behavior and output.

    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 both parameters ('groupId' and 'session') well-documented in the schema. The description adds no additional meaning beyond implying a 'specific group' for 'groupId,' which is already covered. Baseline 3 is appropriate as the schema handles parameter documentation effectively.

    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 detailed info') and target resource ('about a specific group'), which is a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'waha_get_chat' or 'waha_get_group_participants' that also retrieve group-related information, missing explicit distinction.

    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. For example, it doesn't specify if this should be used instead of 'waha_get_group_participants' for general group details or 'waha_get_chat' for chat-specific info, leaving the agent without context for selection.

    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 action is to 'get' (implying read-only), but doesn't specify if this requires authentication, returns all labels at once or paginated, or what the output format might be. This leaves significant gaps for a tool with potential complexity.

    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, direct sentence that efficiently conveys the core purpose without any wasted words. It's front-loaded with the essential information, making it easy 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?

    For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the return value looks like (e.g., list of label objects, simple strings), potential errors, or authentication requirements, leaving the agent with incomplete context for reliable 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?

    The schema description coverage is 100%, with the single parameter 'session' clearly documented in the schema. The description doesn't add any additional meaning beyond what's in the schema (e.g., it doesn't explain what a 'session' represents or default behavior), so 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 ('Get all') and resource ('labels/categories in a WhatsApp session'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'waha_create_label' or 'waha_delete_label', which would require a 5.

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

    Usage 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. For example, it doesn't mention if this should be used before adding labels to chats or as a reference for existing categories, leaving the agent to infer usage from context alone.

    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 full burden for behavioral disclosure. While 'Get messages' implies a read operation, it doesn't specify important behavioral aspects like whether this requires authentication, rate limits, pagination behavior beyond offset/limit parameters, error conditions, or what format the returned messages have. The mention of 'optional filters' is vague and doesn't explain filter behavior.

    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 core functionality without unnecessary words. It's appropriately sized for a tool with good schema documentation and gets straight to the point with 'Get messages from a WhatsApp chat with optional filters'.

    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 6 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns (message format, structure), doesn't mention authentication requirements despite operating on WhatsApp data, and provides minimal behavioral context. The schema does heavy lifting, but the description should compensate more for the lack of annotations and 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 description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds minimal value beyond what's in the schema - mentioning 'optional filters' vaguely references parameters like fromMe and downloadMedia but doesn't provide additional context about how they work together or their practical implications.

    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 verb 'Get' and resource 'messages from a WhatsApp chat', making the purpose understandable. It also mentions 'optional filters' which hints at capabilities. However, it doesn't explicitly differentiate from sibling tools like 'waha_get_chat' or 'waha_get_contacts', 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 many sibling tools available (like waha_get_chat, waha_get_contacts, waha_list_chats), there's no indication of when this specific message retrieval tool is appropriate versus other data-fetching tools in the WhatsApp ecosystem.

    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 full burden for behavioral disclosure. While 'Leave' implies a mutating action, it doesn't specify whether this requires specific permissions, what happens to group history, whether the action is reversible, or if there are rate limits. The description is minimal and lacks important operational context.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero wasted words. It's front-loaded with the essential action and gets straight to the point without unnecessary elaboration.

    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 mutating tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after leaving (success indicators, error conditions), doesn't mention authentication requirements, and provides no context about the broader WhatsApp group management ecosystem among the many sibling tools.

    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 both parameters (groupId and session) adequately. The description doesn't add any additional meaning about parameter usage, format expectations, or examples beyond what's in the schema. 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.

    Purpose4/5

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

    The description clearly states the action ('Leave') and resource ('a WhatsApp group'), making the purpose immediately understandable. However, it doesn't differentiate itself from sibling tools like 'waha_remove_group_participants' which also involves group departure, though from a different perspective (admin removal vs self-leaving).

    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 about when to use this tool versus alternatives. There's no mention of prerequisites (e.g., needing to be a group member), consequences (e.g., whether you can rejoin), or comparison to similar tools like 'waha_remove_group_participants' which serves a different administrative function.

    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 but offers minimal information. It implies a read-only operation ('List'), but doesn't mention authentication requirements, rate limits, pagination behavior (beyond what's in the schema), or what the output looks like (no output schema). This leaves significant gaps for a tool that interacts with WhatsApp groups.

    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, direct sentence with zero wasted words. It's front-loaded with the core action and resource, making it highly efficient and easy to parse at a glance.

    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 WhatsApp group management and the lack of annotations and output schema, the description is insufficiently complete. It doesn't address authentication, error handling, return format, or how it differs from related tools like 'waha_list_chats', leaving the agent with critical gaps in understanding how to use this tool effectively.

    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 clear documentation for all three parameters (session, limit, offset). The description adds no additional parameter semantics beyond what's already in the schema, such as clarifying the scope of 'all' groups or how pagination works. 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 'List all WhatsApp groups' clearly states the verb ('List') and resource ('WhatsApp groups'), making the purpose immediately understandable. It doesn't explicitly distinguish from sibling tools like 'waha_get_group' (singular) or 'waha_list_chats' (broader scope), but the specificity is adequate for basic understanding.

    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 sibling tools like 'waha_get_group' for retrieving a specific group or 'waha_list_chats' for a broader list including individual chats, nor does it specify any prerequisites or contextual constraints for usage.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It states the tool marks messages as read, implying a mutation (write operation), but doesn't disclose behavioral traits such as permissions required, whether it's idempotent, error conditions (e.g., invalid chatId), or side effects (e.g., updating chat state). This is inadequate for a mutation tool with zero 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.

    Conciseness5/5

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

    The description is a single, efficient sentence: 'Mark messages in a chat as read (send seen)'. It's front-loaded with the core action and includes a clarifying parenthetical. There's zero waste, 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.

    Completeness2/5

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

    Given the tool's complexity (a mutation with 3 parameters) and lack of annotations and output schema, the description is incomplete. It doesn't cover behavioral aspects like error handling, return values, or usage context. For a tool that modifies chat state, this leaves significant gaps for an agent to operate effectively.

    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 all parameters (chatId, session, messageIds) with descriptions. The description doesn't add any meaning beyond what the schema provides (e.g., it doesn't explain chatId format or session implications). Baseline 3 is appropriate when the 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 tool's purpose: 'Mark messages in a chat as read (send seen)'. It specifies the verb ('mark as read'), resource ('messages in a chat'), and clarifies the action with 'send seen'. However, it doesn't explicitly differentiate from siblings like 'waha_get_messages' or 'waha_star_message', which is why it's not a 5.

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

    Usage 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 (e.g., needing an active session), exclusions, or compare to similar tools like 'waha_get_messages' for reading without marking. This leaves the agent with minimal context for decision-making.

    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 full burden for behavioral disclosure. 'Mute or unmute a chat' implies a state-changing operation but doesn't specify whether this requires special permissions, what happens to notifications, whether it's reversible, or any side effects. For a mutation tool with zero annotation coverage, this is insufficient behavioral context.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for a straightforward tool and gets directly to the point with zero wasted verbiage.

    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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what 'muting' means in this context, what the expected outcome is, whether there are limitations or constraints, or what happens after invocation. The agent lacks crucial context for proper tool selection and 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 description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. This meets the baseline expectation when schema coverage is complete, but doesn't provide 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's function as 'Mute or unmute a chat', which specifies the verb (mute/unmute) and resource (chat). It distinguishes itself from siblings like waha_archive_chat or waha_pin_chat by focusing on muting functionality. However, it doesn't explicitly differentiate from all possible sibling tools in the extensive list.

    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's no mention of prerequisites, when muting is appropriate versus archiving or other chat management tools, or any contextual constraints. The agent must infer usage from the tool name alone.

    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 full burden for behavioral disclosure. 'Pin or unpin a chat' implies a state change operation, but it doesn't describe what pinning actually does (e.g., keeps chat at top of list), whether it requires specific permissions, if it's reversible, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap.

    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 exactly what the tool does with zero wasted words. It's appropriately sized for a simple toggle operation and front-loads the core functionality immediately.

    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 mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what pinning means in this context, what the expected outcome is, or any error conditions. Given the complexity of chat state management and the lack of structured behavioral information, the description should provide more context about the operation's effects.

    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 all three parameters. The description adds no additional parameter semantics beyond what's in the schema. The baseline score of 3 is appropriate when the schema does all the parameter documentation work.

    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 ('pin or unpin') and resource ('a chat'), making the purpose immediately understandable. It distinguishes from siblings like 'waha_archive_chat' or 'waha_mute_chat' by specifying a different chat management operation. However, it doesn't specify whether this applies to individual or group chats, which would make it a perfect 5.

    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 (e.g., chat must exist), when pinning is appropriate versus other chat management tools like archiving or muting, or what happens if you try to pin an already-pinned chat. The agent must infer usage from the tool name alone.

    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 action ('Promote') which implies a mutation, but doesn't describe effects (e.g., admin privileges granted), potential errors (e.g., if participants aren't in the group), or side effects. This leaves significant gaps for a mutation tool with zero 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.

    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 zero wasted content.

    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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after promotion, potential return values, error conditions, or important behavioral aspects like whether multiple participants can be promoted at once (implied by 'participant(s)' but not confirmed).

    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 all three parameters (groupId, participants, session) with basic descriptions. The description doesn't add any additional meaning about parameter usage, constraints, or examples beyond what the schema provides, meeting 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 ('Promote') and target ('participant(s) to group admin'), making the purpose immediately understandable. It specifies the resource (group participants) but doesn't differentiate from the sibling tool 'waha_demote_group_participant' beyond the opposite action direction, which is implicit but not explicit.

    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 is provided on when to use this tool versus alternatives. While the sibling list includes 'waha_demote_group_participant' for the opposite action, the description doesn't mention it or provide context about prerequisites, permissions, or typical use cases for promotion.

    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. It mentions reacting with an emoji and implies mutation, but lacks details on permissions, rate limits, error conditions, or what happens if the reaction already exists. For a mutation tool with zero annotation coverage, this is insufficient.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero waste. It's front-loaded with the core action and efficiently conveys the essential function without unnecessary elaboration.

    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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't cover behavioral aspects like side effects, error handling, or return values, leaving significant gaps for an AI agent to understand how to use it correctly.

    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 fully documents all parameters. The description adds minimal value beyond the schema, as it doesn't explain parameter interactions or provide examples beyond what's in the schema descriptions. 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.

    Purpose4/5

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

    The description clearly states the action ('React to a message') and the resource ('a message'), specifying it's done with an emoji. It distinguishes from siblings like 'waha_star_message' or 'waha_edit_message' by focusing on emoji reactions. However, it doesn't explicitly mention WhatsApp context, which is implied by the 'waha_' prefix.

    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 like 'waha_star_message' or 'waha_edit_message', nor any prerequisites such as needing an active session. The description only states what it does, not when it's appropriate.

    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 but offers minimal information. It states the action but doesn't mention whether this requires specific permissions, whether removal is permanent or reversible, what happens to group roles, or any rate limits. For a mutation tool with zero annotation coverage, this leaves significant 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?

    The description is a single, direct sentence with zero wasted words. It's front-loaded with the core action and target, making it immediately scannable. Every word earns its place by conveying essential information without redundancy.

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

    Completeness2/5

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

    For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It lacks critical context such as permission requirements, error conditions, return values, or how this interacts with sibling tools (e.g., waha_demote_group_participant). The agent would struggle to use this tool correctly without additional inference or trial-and-error.

    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 all three parameters (groupId, participants, session) with basic descriptions. The description doesn't add any meaningful context beyond what the schema provides, such as format examples for participant IDs or session usage scenarios. The baseline score of 3 reflects adequate but unenhanced parameter documentation.

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

    Purpose4/5

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

    The description clearly states the action ('Remove') and target ('participants from a group'), making the purpose immediately understandable. It distinguishes from sibling tools like waha_add_group_participants by specifying removal rather than addition. However, it doesn't specify whether this removes all participants or selected ones, which could be more precise.

    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's no mention of prerequisites (e.g., needing group admin permissions), when not to use it, or how it differs from related tools like waha_leave_group or waha_demote_group_participant. The agent must infer usage from the tool name alone.

    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. 'Remove a label from a chat' implies a mutation operation, but the description doesn't state whether this requires specific permissions, whether the removal is permanent or reversible, what happens if the label doesn't exist on that chat, or any rate limits. For a mutation tool with zero annotation coverage, this is inadequate.

    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 with zero wasted words. It's appropriately sized for a simple operation and front-loads the core action. Every word earns its place in conveying the essential purpose.

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

    Completeness2/5

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

    For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after removal (success/failure indicators), whether there are side effects, or what permissions are required. Given the complexity of label management in messaging systems, more context about the operation's behavior and outcomes 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?

    Schema description coverage is 100%, so the schema already documents all three parameters (labelId, chatId, session) with basic descriptions. The description doesn't add any meaning beyond what the schema provides - it doesn't explain what format the IDs should be in, where to find them, or what the 'session' parameter represents in this context. 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.

    Purpose4/5

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

    The description clearly states the action ('Remove a label') and target ('from a chat'), which is a specific verb+resource combination. It distinguishes from the sibling tool 'waha_add_label_to_chat' by using the opposite action (remove vs add). However, it doesn't specify whether this removes labels from WhatsApp chats specifically or what system it operates on.

    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 (e.g., needing an existing label and chat), when this operation is appropriate, or what happens if the label isn't currently on the chat. The sibling tool 'waha_add_label_to_chat' exists, but no comparison is provided.

    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 full burden. It mentions revoking and generating an invite link but fails to disclose critical behavioral traits like whether this requires admin permissions, if the old link becomes invalid immediately, rate limits, or error conditions. This leaves significant gaps for a mutation tool.

    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 action without unnecessary words. It's front-loaded and wastes no space, making it easy 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?

    For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't cover behavioral aspects like permissions, side effects, or what the new invite link looks like, which are crucial for safe and effective use. The high schema coverage doesn't compensate for these 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 both parameters (groupId and session). The description doesn't add any meaning beyond what's in the schema, such as explaining what 'revoke' entails for the groupId or how the session affects the operation. Baseline 3 is appropriate as the schema handles parameter documentation.

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

    Purpose4/5

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

    The description clearly states the action ('revoke' and 'generate') and the resource ('invite link'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from sibling tools like 'waha_get_group_invite_code' or 'waha_create_group', which might handle similar group operations.

    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 when to revoke an invite link versus creating a new group or checking an existing code. It lacks context about prerequisites, timing, or exclusions, leaving usage 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 action but fails to mention critical traits like whether this is a mutative operation (likely yes, as it sends data), potential side effects (e.g., notifications to recipients), or error conditions (e.g., invalid contact IDs). This leaves significant gaps in understanding the tool's behavior.

    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 is front-loaded with the core action and resource, making it easy 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 the complexity of sending data in a messaging app (a mutative operation with potential side effects), no annotations, and no output schema, the description is incomplete. It lacks details on behavior, error handling, or response format, making it inadequate for safe and effective use by an AI agent.

    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 all three parameters (chatId, contactsId, session) with basic descriptions. The description adds no additional meaning beyond implying that 'contactsId' refers to vCard contacts, but this is minimal enhancement over the schema's documentation.

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

    Purpose4/5

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

    The description clearly states the action ('Send contact card(s)') and target ('to a WhatsApp chat'), with the specific format 'vCard' providing additional precision. However, it doesn't differentiate from sibling tools like 'waha_send_text' or 'waha_send_file' beyond the content type, missing explicit distinction.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives (e.g., 'waha_send_text' for plain text or 'waha_send_file' for files). The description lacks context about prerequisites, such as needing valid chat IDs or session setup, offering no usage instructions.

    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. It mentions sending a file but doesn't disclose behavioral traits like whether this is a mutation (likely yes, as it sends data), authentication requirements, rate limits, error handling, or what happens on success/failure. This leaves significant gaps for a tool that interacts with external services.

    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 ('Send a document/file to a WhatsApp chat') and adds a clarifying detail ('from local file OR URL') without any wasted words. It's appropriately sized for the tool's complexity.

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

    Completeness2/5

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

    Given the tool's complexity (sending files to WhatsApp with 7 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain return values, error conditions, or behavioral nuances, leaving the agent with insufficient context for reliable invocation in a real-world scenario.

    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 all 7 parameters thoroughly. The description adds minimal value by implying support for local files and URLs, but doesn't provide additional syntax, format details, or usage examples beyond what's in the schema descriptions.

    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 ('send') and resource ('document/file to a WhatsApp chat'), specifying it can use local files or URLs. However, it doesn't distinguish this tool from sibling tools like 'waha_send_image' or 'waha_send_video' that also send media files to WhatsApp chats, missing explicit differentiation.

    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 'waha_send_image' for images or 'waha_send_video' for videos. It mentions the source options (local file or URL) but lacks context on prerequisites, exclusions, or specific use cases compared to siblings.

    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 full burden but offers minimal behavioral information. It states the action ('send') which implies a write operation, but doesn't disclose authentication requirements, rate limits, error conditions, or what happens after sending (e.g., confirmation, message ID). For a write operation with zero annotation coverage, this is inadequate.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero wasted words. It's perfectly front-loaded with the core action and immediately communicates the essential purpose without unnecessary elaboration.

    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 write operation with no annotations and no output schema, the description is insufficient. It doesn't explain what constitutes success/failure, return values, or behavioral constraints. Given the complexity of sending data to WhatsApp and the lack of structured metadata, more context is needed for safe and effective 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 description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema, so it meets the baseline of 3 where the 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 ('send') and resource ('location to a WhatsApp chat'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like waha_send_text or waha_send_contact, which share the same 'send to WhatsApp chat' pattern but with different content types.

    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 when location sharing is appropriate versus other message types, nor does it reference sibling tools like waha_send_text or waha_send_contact for different content types.

    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 full burden for behavioral disclosure. 'Send a poll' implies a write operation, but there's no information about permissions needed, rate limits, whether the poll is interactive, how recipients can respond, or what happens on success/failure. The description is minimal and lacks crucial behavioral context.

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

    Conciseness5/5

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

    The description is extremely concise - a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration, making it front-loaded and efficient.

    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 write operation tool with 5 parameters and no annotations or output schema, the description is inadequate. It doesn't address behavioral aspects, error conditions, return values, or practical usage context. The description should provide more complete guidance for this non-trivial messaging 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 description coverage is 100%, so all parameters are documented in the schema. The description doesn't add any meaningful parameter semantics beyond what's already in the schema descriptions. It doesn't explain relationships between parameters or provide usage examples.

    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 ('Send a poll') and target ('to a WhatsApp chat'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'waha_send_text' or 'waha_send_contact' beyond mentioning 'poll' specifically.

    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 other send methods (text, image, etc.) or when polls are appropriate versus other communication methods. There's no mention of prerequisites, constraints, or typical use cases.

    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 'Post' operation, implying a write action, but doesn't clarify if this requires authentication, what happens on failure, whether it's rate-limited, or if it affects other users. This leaves significant gaps for a mutation tool.

    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 front-loaded and wastes no space, making it easy 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 this is a mutation tool (implied by 'Post') with no annotations and no output schema, the description is incomplete. It doesn't explain what happens after posting (e.g., success response, error handling) or contextual details like platform-specific behavior (e.g., WhatsApp status vs. story), leaving the agent with insufficient 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?

    Schema description coverage is 100%, with both parameters ('text' and 'session') clearly documented in the schema. The description adds no additional meaning about parameters beyond implying 'text' is for the status content. This meets the baseline score of 3 since the 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 ('Post') and the resource ('a text status/story update'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'waha_send_text' or 'waha_set_presence' which might also involve posting updates, so it doesn't reach the highest 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 sibling tools like 'waha_send_text' (for general messages) and 'waha_set_presence' (for presence updates), there's no indication whether this is for WhatsApp statuses, stories, or other specific contexts, leaving usage ambiguous.

    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 full burden but offers minimal behavioral insight. It mentions the two source options but doesn't disclose whether this is a read-only or destructive operation, what permissions are needed, potential rate limits, error conditions, or what happens if both videoPath and videoUrl are provided. For a mutation tool with zero annotation coverage, this is inadequate.

    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. Every word earns its place, with no redundancy or unnecessary elaboration.

    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 mutation tool with no annotations and no output schema, the description is incomplete. It lacks critical behavioral context (e.g., side effects, error handling), doesn't explain return values, and offers minimal guidance on usage. Given the complexity of sending media via WhatsApp, more detail is warranted.

    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 fully documents all 6 parameters. The description adds marginal value by highlighting the two source options (local file OR URL), but doesn't provide additional syntax, format details, or constraints beyond what's in the schema. Baseline 3 is appropriate when the 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 ('send a video') and target ('to a WhatsApp chat'), and specifies the two source options ('from local file OR URL'). However, it doesn't differentiate from sibling tools like waha_send_image or waha_send_file, which likely have similar patterns for different media types.

    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 waha_send_image or waha_send_file, nor does it mention any prerequisites (e.g., needing an active session) or constraints (e.g., file size limits). Usage is implied but not explicitly stated.

    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 full burden but lacks behavioral details. It mentions sending a voice message but doesn't disclose permissions needed, rate limits, side effects (e.g., message delivery confirmation), or error handling. This is inadequate for a mutation tool with zero 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.

    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 no wasted words. It directly communicates the tool's function and key parameter options.

    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 mutation tool with no annotations and no output schema, the description is incomplete. It lacks behavioral context (e.g., success/failure responses, side effects) and doesn't compensate for the absence of structured safety or output information, leaving significant gaps for an AI agent.

    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 parameters are well-documented in the schema. The description adds minimal value by implying audio source options ('local file OR URL'), but doesn't elaborate beyond what the schema provides. 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.

    Purpose4/5

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

    The description clearly states the action ('send a voice message') and target ('to a WhatsApp chat'), with specific resource types ('from local file OR URL'). It distinguishes from sibling tools like waha_send_text or waha_send_file by specifying voice messages, though it doesn't explicitly contrast with all siblings.

    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 like waha_send_text or waha_send_file, nor any prerequisites or constraints. The description only states what it does without context for selection.

    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 full burden for behavioral disclosure. While 'star or unstar' implies a mutation operation, it doesn't specify permission requirements, whether the action is reversible, rate limits, or what happens on success/failure. This leaves significant gaps for a tool that modifies message state.

    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 with zero wasted words. It's appropriately sized for a straightforward tool and front-loads the core functionality immediately.

    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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after starring/unstarring (success indicators, error conditions), doesn't mention dependencies on other tools for obtaining IDs, and provides minimal behavioral context despite the tool's potential 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 documents all four parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain how to obtain chatId/messageId values or clarify the star parameter's behavior). 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.

    Purpose4/5

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

    The description clearly states the action ('star or unstar') and resource ('a message'), making the purpose unambiguous. However, it doesn't differentiate this tool from sibling tools like 'waha_react_to_message' or 'waha_pin_chat' which also modify message states, leaving room for improvement in sibling distinction.

    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 (e.g., needing message IDs from other tools), exclusions, or how it relates to similar tools like 'waha_react_to_message' for other message interactions.

    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 full burden for behavioral disclosure. While 'Start a stopped WhatsApp session' implies a state-changing operation, it doesn't specify what 'start' entails (e.g., authentication requirements, side effects, or what happens if the session is already running). This leaves significant behavioral gaps for a mutation tool.

    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 with zero wasted words. It's appropriately sized for a simple tool and front-loads the core purpose immediately.

    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 mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'start' means operationally, what the expected outcome is, or potential errors. Given the complexity of session management and lack of structured behavioral data, more 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 input schema has 100% description coverage, with the single parameter 'session' documented as 'Session name' with a default value. The description adds no additional parameter context beyond what the schema provides, so it meets the baseline of 3 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 ('Start') and target ('a stopped WhatsApp session'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'waha_restart_session' which might have overlapping functionality, preventing 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 like 'waha_restart_session' or 'waha_create_session', nor does it mention prerequisites (e.g., that a session must exist and be stopped). It only states what the tool does, not when it should be used.

    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, the description carries full burden but only states it 'simulates real user behavior' without detailing duration, visual effects, permissions needed, or side effects. It misses key behavioral traits like whether it's persistent, requires specific chat states, or has rate limits.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the core purpose ('Show typing indicator in a chat') and adds clarifying context ('simulates real user behavior') without any wasted words.

    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 for a tool that likely involves UI simulation and chat interactions. It lacks details on behavioral outcomes, error conditions, or what 'simulates' entails, leaving gaps for agent understanding.

    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 baseline is 3. The description adds no parameter-specific meaning beyond the schema's documentation of 'chatId' and 'session', which already define their purposes clearly.

    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 ('Show typing indicator') and target ('in a chat'), with the specific behavior 'simulates real user behavior' adding useful context. It distinguishes from sibling 'waha_stop_typing' by indicating the start action, though it doesn't explicitly name that sibling.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives like 'waha_send_text' or 'waha_stop_typing' is provided. The description implies usage for simulating user behavior but lacks context on timing, prerequisites, 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 full burden. It states the tool stops a session but doesn't disclose behavioral traits like whether this is destructive (e.g., ends connectivity), requires specific permissions, has side effects (e.g., data loss), or what happens post-stop. For a mutation tool with zero annotation coverage, this is a significant gap.

    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 with zero waste, front-loaded with the core action. It's appropriately sized for a simple tool with one parameter.

    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, no output schema, and a mutation tool (stopping implies change), the description is incomplete. It lacks details on behavior, side effects, or return values, making it inadequate for safe agent use without additional context.

    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%, with the parameter 'session' documented as 'Session name' and a default of 'default'. The description adds no meaning beyond this, as it doesn't explain parameter usage or constraints. 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.

    Purpose4/5

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

    The description clearly states the action ('Stop') and target ('a running WhatsApp session'), providing specific verb+resource. It distinguishes from siblings like 'waha_logout_session' and 'waha_delete_session' by focusing on stopping rather than logging out or deleting, though it doesn't explicitly differentiate them.

    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 like 'waha_logout_session' or 'waha_delete_session', nor does it mention prerequisites (e.g., session must be running). The description implies usage for stopping sessions but lacks explicit 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?

    With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention whether this requires specific permissions, if it's idempotent, what happens on errors, or any rate limits—critical for a chat interaction tool in a WhatsApp API context.

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

    Conciseness5/5

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

    The description is a single, clear sentence that directly states the tool's function without unnecessary words. It's front-loaded and efficiently communicates the core purpose, 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 the lack of annotations and output schema, the description is insufficient for a tool that interacts with chat states. It doesn't explain return values, error conditions, or side effects, leaving significant gaps in understanding how to properly invoke and handle results from this 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 description coverage is 100%, so the schema fully documents both parameters (chatId and session). The description adds no additional parameter semantics beyond what's in the schema, resulting in the baseline score of 3 for adequate but not enhanced documentation.

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

    Purpose4/5

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

    The description clearly states the action ('Stop showing') and resource ('typing indicator in a chat'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'waha_start_typing' beyond the obvious opposite action, missing explicit comparison that would warrant a 5.

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

    Usage 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 or prerequisites. The description lacks context about its relationship with 'waha_start_typing' or other chat interaction tools, leaving the agent to infer usage scenarios independently.

    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 full burden for behavioral disclosure. While 'Update' implies a mutation, it doesn't specify whether this requires admin permissions, if changes are reversible, potential rate limits, or error conditions. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding the tool's behavior and constraints.

    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 exactly what the tool does without any wasted words. It's front-loaded with the core action and resource, making it immediately scannable and understandable. Every word earns its place in this minimal description.

    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 this is a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't address behavioral aspects like permissions needed, whether the operation is idempotent, what happens on success/failure, or return values. For a tool that modifies group data, more context about constraints and outcomes would be necessary for safe 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 description coverage is 100%, so all parameters are documented in the schema itself. The description doesn't add any additional parameter context beyond what's in the schema (e.g., format expectations for groupId, length limits for description, purpose of session parameter). With complete schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't need to.

    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 verb ('Update') and resource ('description of a group'), making the purpose immediately understandable. It distinguishes itself from sibling tools like 'waha_update_group_subject' and 'waha_update_group_picture' by specifying it updates the description rather than subject or picture. However, it doesn't explicitly mention the WhatsApp context or differentiate from broader group management tools beyond naming conventions.

    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 (e.g., needing an existing group, proper permissions), exclusions, or compare it to related tools like 'waha_get_group' for checking current descriptions. Without any usage context, the agent must infer when this operation is appropriate.

    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 full burden but only states the action without behavioral details. It doesn't disclose required permissions, whether the change is reversible, rate limits, or what happens on success/failure. For a mutation tool, this is a significant gap in transparency.

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

    Conciseness5/5

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

    The description is a single, clear sentence with zero wasted words. It's front-loaded with the core action and resource, making it immediately scannable and efficient.

    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 mutation tool with no annotations and no output schema, the description is insufficient. It lacks behavioral context, error handling information, and usage guidance. Given the complexity of updating a group picture (which likely involves permissions and media validation), more completeness 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?

    Schema description coverage is 100%, so parameters are fully documented in the schema. The description doesn't add any meaning beyond what's in the schema (e.g., format requirements for imageUrl, session implications). 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.

    Purpose4/5

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

    The description clearly states the action ('Set') and target resource ('profile picture of a group'), making the purpose immediately understandable. It distinguishes from siblings like 'waha_update_group_subject' or 'waha_update_group_description' by specifying the picture aspect. However, it doesn't explicitly mention WhatsApp context or differentiate from non-sibling tools, keeping it at 4 rather than 5.

    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 prerequisites (e.g., needing an existing group), exclusions, or comparisons to similar tools like 'waha_get_profile_picture'. This leaves the agent without context for appropriate selection.

    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 full burden for behavioral disclosure. While 'Update' implies a mutation, it doesn't specify whether this requires admin permissions, whether the change is reversible, what happens if the subject already exists, or any rate limits. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

    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 core purpose without unnecessary words. It's appropriately sized for a straightforward update operation and gets directly to the point with zero waste.

    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 mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens on success/failure, whether the change is immediate or requires confirmation, or how this interacts with group permissions. Given the complexity of group management operations and the lack of structured behavioral information, the description should provide more context.

    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 all three parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.

    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 ('Update') and the resource ('name/subject of a group'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'waha_update_group_description' or 'waha_update_group_picture' - all three update group attributes but target different properties.

    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 'waha_update_group_description' or 'waha_update_group_picture'. It also doesn't mention prerequisites, error conditions, or when this operation might fail. The agent must infer usage from the tool name alone.

    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 full burden. It states the tool checks authentication status but doesn't disclose behavioral traits like what 'status' entails (e.g., active, logged out, error), whether it's a read-only operation, potential rate limits, or error conditions. 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.

    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 zero waste, making it easy to parse 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 (1 parameter, 100% schema coverage, no output schema), the description is minimally adequate but incomplete. It lacks details on behavioral aspects (e.g., what authentication status means) and usage context, which are needed for full understanding despite the simple 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 description coverage is 100%, with the single parameter 'session' documented as 'Session name' with a default value. The description adds no meaning beyond this, as it doesn't explain parameter usage or semantics. 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 as 'Check the authentication status of a WhatsApp session,' specifying the verb 'check' and resource 'authentication status.' It distinguishes from siblings like 'waha_get_session' (which retrieves session details) or 'waha_start_session' (which initiates a session), but doesn't explicitly differentiate them in the text.

    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 (e.g., after starting a session), exclusions, or related tools like 'waha_get_session' for general session info or 'waha_list_sessions' for listing sessions, leaving usage context 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks registration status but does not describe what the check entails (e.g., API calls, rate limits, authentication needs, or response format). For a tool with no annotations, this is a significant gap in transparency about its operation and constraints.

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

    Conciseness5/5

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

    The description is a single, clear sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and efficient, making it easy for an agent to parse quickly. Every word earns its place, achieving optimal conciseness.

    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 (simple check operation), 100% schema coverage, and no output schema, the description is minimally adequate. However, it lacks details on behavioral aspects (e.g., what the check returns or error conditions), which would be helpful for an agent to use it correctly. It meets basic needs but has clear gaps in 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 input schema fully documents both parameters ('phone' and 'session'). The description does not add any additional meaning beyond what the schema provides, such as explaining phone number formats or session context. With high schema coverage, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract.

    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: 'Check if a phone number is registered on WhatsApp.' It specifies the verb ('check') and resource ('phone number'), making the function unambiguous. However, it does not explicitly differentiate from sibling tools like 'waha_get_contact' or 'ask_user_via_whatsapp', which might involve similar phone number interactions, so it misses the highest 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. For example, it does not clarify if this is for validation before sending messages, how it differs from 'waha_get_contact' (which might retrieve contact details), or any prerequisites like session setup. This lack of context leaves the agent without usage direction.

    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 full burden for behavioral disclosure. It states the action but doesn't mention whether this requires specific permissions, if it's a read-only operation, what format the invite code/link returns in, or any rate limits. For a tool that likely involves group management, this leaves significant 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?

    The description is a single, efficient sentence that states the core purpose without unnecessary words. It's appropriately sized for a simple retrieval operation and front-loads the essential information.

    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 simple retrieval tool with good schema coverage but no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks behavioral context and usage guidance that would help an agent understand when and how to use it effectively compared to sibling tools.

    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%, with both parameters clearly documented in the schema. The description adds no additional parameter semantics beyond what's already in the structured fields, so it meets the baseline of 3 where the 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 ('Get') and resource ('invite link/code for a group'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'waha_revoke_group_invite' or 'waha_get_group', which could cause confusion about when to use this specific tool versus others that might also retrieve group 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. Given sibling tools like 'waha_get_group' (which might retrieve general group info) and 'waha_revoke_group_invite' (which handles invite management), the agent receives no explicit or implied context about when this specific invite-fetching operation is appropriate.

    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 full burden for behavioral disclosure. While 'List' implies a read-only operation, it doesn't specify whether this requires authentication, returns paginated results, includes participant roles/status, or has rate limits. For a WhatsApp group participants query with zero annotation coverage, this leaves significant behavioral questions unanswered.

    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 with zero wasted words. It's front-loaded with the core functionality and appropriately sized for a straightforward list operation.

    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 simple list tool with good schema coverage but no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks context about authentication requirements, return format, error conditions, or relationship to sibling tools. The agent would need to infer much from the tool name and schema alone.

    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 both parameters (groupId and session). The description doesn't add any parameter-specific context beyond what's in the schema - it doesn't explain what constitutes a valid group ID, how to obtain one, or when to use non-default sessions. Baseline 3 is appropriate when the schema does the documentation work.

    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 participants') and resource ('in a group'), making the purpose immediately understandable. It doesn't specifically differentiate from sibling tools like 'waha_get_group' or 'waha_get_contact', but the verb+resource combination is unambiguous within the WhatsApp automation context.

    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 related tools like 'waha_get_group' (which might return group metadata) and 'waha_get_contacts' (which might list all contacts), but the description doesn't help the agent choose between them or specify prerequisites.

    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 what the tool does (get presence status) but doesn't describe key behavioral traits such as whether this is a read-only operation, if it requires specific permissions, potential rate limits, or how it handles errors (e.g., invalid contact IDs). For a tool with no annotations, this leaves significant gaps in understanding its behavior.

    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, consisting of a single sentence that directly states the tool's purpose. There is no wasted language or unnecessary elaboration, making it efficient and easy to parse.

    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 (simple read operation with 2 parameters) and high schema coverage (100%), the description is minimally adequate. However, with no annotations and no output schema, it lacks details on behavioral aspects (e.g., safety, permissions) and return values (e.g., format of presence status). This leaves room for improvement in providing a more complete context for the agent.

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

    Parameters3/5

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

    The description adds no parameter semantics beyond what the input schema provides. The schema has 100% description coverage, clearly documenting both parameters (contactId and session). Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate with additional context like examples or usage notes.

    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 ('presence status of a contact'), and it specifies the possible status values (online/offline/typing). However, it doesn't explicitly differentiate from sibling tools like 'waha_get_contact' or 'waha_get_chat', which might also retrieve contact-related information but for different attributes.

    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. For example, it doesn't mention if this is the only way to check presence status or if other tools like 'waha_get_contact' might include presence information. There are no explicit when/when-not statements or references to sibling tools for 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 full burden for behavioral disclosure. While 'Get' implies a read operation, the description doesn't specify whether this requires specific permissions, whether it works for all contacts/groups, what happens with invalid IDs, or what the response format looks like. For a tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

    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 immediately communicates the core functionality. There's zero wasted language or unnecessary elaboration. It's appropriately sized for a simple retrieval tool and front-loads the essential information.

    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 simple read operation with 100% schema coverage, the description is minimally adequate. However, without annotations or an output schema, it should ideally provide more behavioral context (like response format, error conditions, or authentication requirements). The description covers the basic 'what' but leaves the 'how' and 'what-ifs' to inference.

    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%, with both parameters clearly documented in the schema. The description doesn't add any parameter-specific information beyond what's already in the schema descriptions. The baseline score of 3 is appropriate when the schema does the heavy lifting, though the description could have provided context about valid contact/group ID formats or session requirements.

    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 resource ('profile picture URL of a contact or group'), making the purpose immediately understandable. It distinguishes this tool from siblings like 'waha_get_contact' or 'waha_get_group' by focusing specifically on profile pictures. However, it doesn't explicitly differentiate from potential similar tools like 'waha_update_group_picture' beyond the verb difference.

    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 (like needing an authenticated session), doesn't specify when this is appropriate versus other contact/group information tools, and doesn't indicate any limitations or constraints. The agent must infer usage from the tool name and parameters alone.

    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. It states the tool returns a 'raw QR string value' for generating a scannable QR code, which adds some behavioral context. However, it lacks details on permissions, rate limits, whether this initiates authentication or just retrieves an existing code, or error handling—critical for an authentication-related tool with no structured safety hints.

    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 zero waste: the first states the purpose, and the second clarifies the return value. It's front-loaded with the core function and efficiently structured, making it easy to parse 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 moderate complexity (authentication-related with one parameter) and no annotations or output schema, the description is partially complete. It covers the basic purpose and return format but lacks usage context, behavioral details, and integration with siblings. It's adequate for a simple retrieval tool but insufficient for full agent guidance without additional context.

    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% (the single parameter 'session' is documented in the schema), so the baseline is 3. The description adds no parameter-specific information beyond what the schema provides (e.g., it doesn't explain how the session parameter affects QR code generation). This meets the minimum viable standard without 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's purpose: 'Get QR code for WhatsApp authentication' specifies the verb ('Get') and resource ('QR code'), with context about WhatsApp authentication. It distinguishes from siblings like 'waha_check_auth_status' or 'waha_request_pairing_code' by focusing on QR code retrieval, though it doesn't explicitly compare to them.

    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 (e.g., session setup), timing (e.g., during authentication flow), or exclusions (e.g., not needed if already authenticated). Siblings like 'waha_check_auth_status' or 'waha_request_pairing_code' offer similar authentication functions without clear differentiation here.

    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 'Get detailed info' implies a read-only operation, it doesn't specify what 'detailed info' includes (e.g., session status, configuration, metadata), whether it requires authentication, or if there are any rate limits or side effects. This leaves significant gaps in understanding the tool's behavior.

    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 front-loaded with the core action ('Get detailed info'), making it easy to parse quickly. There's no wasted language or redundant information.

    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 parameter with full schema coverage) and lack of annotations or output schema, the description is minimally adequate. It identifies the tool's purpose but fails to provide context on usage, behavioral details, or output format, which could hinder an agent's ability to use it effectively without additional inference.

    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 'session' documented as 'Session name' with a default value. The description doesn't add any meaning beyond this, such as explaining what constitutes a valid session name or how it relates to other tools. 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 info about a specific WhatsApp session'), making it easy to understand what the tool does. However, it doesn't explicitly distinguish itself from sibling tools like 'waha_list_sessions' or 'waha_check_auth_status', which might also provide session-related 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. It doesn't mention when this tool is appropriate compared to siblings like 'waha_list_sessions' (for listing all sessions) or 'waha_check_auth_status' (for checking authentication), nor does it specify any prerequisites or exclusions for usage.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but offers minimal behavioral context. It implies a read operation but doesn't disclose rate limits, pagination behavior (beyond what's in the schema), error conditions, or whether it requires an active session. This leaves significant gaps for a tool that likely interacts with external APIs.

    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 with zero wasted words. It's appropriately sized for a simple list operation and front-loads the core purpose immediately.

    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 list operation with no output schema and no annotations, the description is minimally complete. It identifies the resource but lacks context about return format (e.g., chat objects vs. IDs), ordering, or how it integrates with WhatsApp session management. The high schema coverage helps, but behavioral aspects are underspecified.

    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 fully documents all three parameters. The description adds no additional meaning about parameters beyond implying 'chats' are the resource being listed. This meets the baseline of 3 when the 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 all chats') and resource ('in a WhatsApp session'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'waha_get_chat' or 'waha_get_contacts', which might retrieve similar data with different scopes or filters.

    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 siblings like 'waha_get_chat' (for single chats) or 'waha_get_contacts' (for contacts vs. chats), nor does it specify prerequisites such as session authentication status.

    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 mentions listing sessions and statuses but doesn't cover critical aspects like whether this is a read-only operation, if it requires authentication, potential rate limits, or the format of the returned data. This leaves significant gaps for a tool that likely interacts with session management.

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

    Conciseness5/5

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

    The description is a single, clear sentence that front-loads the essential information ('List all WhatsApp sessions and their statuses') with no unnecessary words. It efficiently conveys the core purpose without redundancy or fluff.

    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 session management and the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'statuses' entail, how results are structured, or any prerequisites like authentication, making it incomplete for safe and effective use by an AI agent.

    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 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add any parameter information, which is acceptable here, but it doesn't explicitly state the lack of parameters, so it's not a perfect score. Baseline is 4 for zero parameters.

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

    Purpose4/5

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

    The description clearly states the action ('List all') and resource ('WhatsApp sessions and their statuses'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'waha_get_session' or 'waha_check_auth_status', which might provide overlapping or related session information, so it falls short of 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. For example, it doesn't specify if this is for bulk retrieval versus detailed single-session queries, or if it should be used for monitoring versus authentication checks, leaving the agent without context for selection among siblings.

    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 the action ('Restart') but doesn't explain what restarting entails—whether it preserves session data, requires re-authentication, interrupts ongoing operations, or has side effects. For a mutation tool with zero annotation coverage, this leaves critical behavioral aspects unspecified.

    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 with zero wasted words. It's front-loaded with the core action ('Restart a WhatsApp session'), making it immediately clear and easy to parse.

    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 restarting a session (a mutation operation with potential side effects), no annotations, and no output schema, the description is incomplete. It lacks details on behavior, outcomes, error conditions, or dependencies, leaving the agent with insufficient context to use the tool effectively beyond its basic purpose.

    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 1 parameter with 100% description coverage ('session' with description 'Session name'), so the schema fully documents the parameter. The description adds no additional parameter semantics, but with high schema coverage and only one parameter, a baseline of 4 is appropriate as the description doesn't need to compensate for gaps.

    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 verb ('Restart') and resource ('a WhatsApp session'), making the purpose immediately understandable. It distinguishes itself from sibling tools like 'waha_start_session' and 'waha_stop_session' by specifying the restart action, though it doesn't explicitly contrast with them in the description text itself.

    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 'waha_start_session' or 'waha_stop_session'. It doesn't mention prerequisites (e.g., whether a session must exist or be in a specific state) or typical use cases (e.g., recovering from errors, refreshing connections).

    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 full burden for behavioral disclosure. While 'Set' implies a mutation, it doesn't specify whether this requires authentication, affects other sessions, has side effects, or provides confirmation. For a write operation with zero annotation coverage, this leaves significant 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?

    The description is a single, efficient sentence that communicates the core functionality without unnecessary words. It's appropriately sized for a simple tool and front-loads the essential information, making it easy to parse 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 moderate complexity (2 parameters, mutation operation) with no annotations and no output schema, the description is minimally complete. It states what the tool does but lacks behavioral context, usage guidance, and output expectations. The 100% schema coverage helps but doesn't compensate for missing behavioral transparency.

    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%, with both parameters clearly documented in the schema itself. The description mentions 'presence status' which aligns with the 'presence' parameter but adds no additional semantic context beyond what the schema already provides. The baseline score of 3 reflects adequate coverage through schema alone.

    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 ('Set') and the resource ('your presence status') with specific values ('online/offline'), making the purpose immediately understandable. However, it doesn't differentiate from the sibling tool 'waha_get_presence' which retrieves rather than sets presence, leaving room for slight ambiguity in sibling context.

    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, prerequisites, or contextual constraints. With sibling tools like 'waha_get_presence' and various session management tools, there's no indication of when setting presence is appropriate versus other status-related actions.

    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. It states the action ('Send') but lacks details on permissions required, rate limits, whether the operation is idempotent, error handling, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap.

    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. Every part of the sentence earns its place by specifying the action, resource, and input options.

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

    Completeness2/5

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

    Given the tool's complexity (mutation with 6 parameters, no annotations, no output schema), the description is incomplete. It lacks behavioral context, usage guidance, and details on return values or error conditions, making it inadequate for safe and effective use by an AI agent.

    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 all 6 parameters. The description adds marginal value by mentioning the dual input sources (local file or URL), which relates to imagePath and imageUrl, but doesn't provide additional syntax or format details beyond what the schema provides. 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 action ('Send') and resource ('an image to a WhatsApp chat'), specifying the dual input sources ('from local file OR URL'). It distinguishes itself from sibling tools like waha_send_text, waha_send_video, etc., by focusing specifically on images.

    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 like waha_send_file or waha_send_video. The description mentions the input sources but doesn't clarify usage context, prerequisites, or exclusions relative to other media-sending tools.

    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 full burden but only states the basic action without disclosing behavioral traits like whether it requires an active session, potential rate limits, error conditions, or what happens if the chatId is invalid. It misses critical operational context for a messaging tool.

    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 with zero wasted words. It is appropriately sized and front-loaded, making it easy 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?

    For a messaging tool with no annotations and no output schema, the description is incomplete—it doesn't cover behavioral aspects like success/failure responses, session dependencies, or error handling. Given the complexity of sending messages in WhatsApp, more context is needed for effective 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 description coverage is 100%, so the schema fully documents all 6 parameters. The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score of 3 where 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 ('Send a text message') and target resource ('to a WhatsApp chat'), distinguishing it from sibling tools like waha_send_image or waha_send_file that send different content types. It precisely communicates the tool's function without 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 versus alternatives like waha_send_contact or waha_send_poll, nor does it mention prerequisites such as session authentication or chat availability. It lacks context for selection among messaging tools.

    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. It mentions that 'The user will receive a code on their phone to enter in WhatsApp,' which adds some behavioral context about user interaction. However, it lacks details on permissions, rate limits, error handling, or what happens after code entry, leaving significant gaps for a tool that likely involves authentication flows.

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

    Conciseness5/5

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

    The description is concise and well-structured in two sentences: the first states the purpose and context, and the second explains the user action. Every sentence adds value without redundancy, making it efficient and easy to parse.

    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 no annotations and no output schema, the description provides basic purpose and user flow but lacks completeness. It doesn't cover behavioral aspects like authentication state changes, error scenarios, or integration with other tools (e.g., waha_check_auth_status). For an authentication-related tool, more context on outcomes and dependencies would be beneficial.

    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 fully documents the two parameters (session and phoneNumber). The description doesn't add any parameter-specific details beyond what's in the schema, such as format examples or usage tips. This meets the baseline of 3, as the schema handles 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 tool's purpose: 'Request a pairing code for phone number authentication (alternative to QR code).' It specifies the action (request), resource (pairing code), and context (authentication). However, it doesn't explicitly differentiate from the sibling tool 'waha_get_qr_code' beyond mentioning it as an alternative, which is slightly less specific than ideal.

    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 context by stating it's 'for phone number authentication (alternative to QR code),' which suggests when to use it versus QR code methods. However, it doesn't provide explicit guidance on when to choose this over other authentication methods or prerequisites, such as session setup or user readiness.

    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. It mentions that the session is kept but the WhatsApp account is disconnected, which is useful behavioral context. However, it lacks details on permissions required, whether this is reversible, what happens to pending messages, or error conditions, which are important for a mutation tool.

    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 action and adds clarifying context without unnecessary words. Every part of the sentence earns its place by distinguishing the tool's behavior.

    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 mutation tool with no annotations and no output schema, the description is minimally adequate. It explains the core action and a key behavioral trait (keeps session), but lacks details on side effects, error handling, or return values, leaving gaps in understanding the tool's full impact.

    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%, with the single parameter 'session' documented as 'Session name' with a default value. The description doesn't add any parameter-specific information beyond what the schema provides, so 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.

    Purpose5/5

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

    The description clearly states the action ('Logout from a WhatsApp session') and specifies the resource ('WhatsApp session'), distinguishing it from sibling tools like waha_stop_session or waha_delete_session by clarifying it 'keeps session but disconnects WhatsApp account'.

    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 implies usage context by stating it 'keeps session but disconnects WhatsApp account', suggesting it's for temporarily disconnecting while preserving session data. However, it doesn't explicitly state when to use this versus alternatives like waha_stop_session or waha_delete_session, nor does it mention prerequisites like needing an active session.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full burden and does well by explaining key behavioral traits: it's a blocking operation that waits for user replies, has timeout and polling mechanisms, and enables autonomous continuation. It doesn't cover error handling or rate limits, but provides substantial operational context beyond basic functionality.

    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 well-structured with clear sections (WHEN TO USE, DO NOT, HOW IT WORKS, EXAMPLE USAGE, USER EXPERIENCE) and uses bold formatting effectively. While slightly verbose at 14 sentences, every section adds value and the information is front-loaded with the most critical guidance first.

    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 complex tool with 5 parameters, no annotations, and no output schema, the description provides substantial context about behavior, usage scenarios, and workflow. It explains the blocking nature and user experience well. The main gap is lack of output format details, but overall it's quite complete for enabling effective tool 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 description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description's example usage shows parameter application but doesn't add significant meaning beyond what the schema provides. 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 explicitly states the tool's purpose: to send questions to users via WhatsApp and wait for replies, enabling AI assistants to continue working autonomously. It clearly distinguishes this from sibling tools (all WhatsApp-related operations) by focusing on user interaction for unblocking progress, not messaging functions like waha_send_text.

    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 with 'WHEN TO USE' and 'DO NOT' sections, listing specific scenarios (architectural decisions, missing requirements, API keys, etc.) and alternatives to avoid (stopping work, manual input). It clearly defines when this tool should be used versus other approaches.

    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

hermes_mcps MCP server

Copy to your README.md:

Score Badge

hermes_mcps 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/dudu1111685/hermes_mcps'

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