Skip to main content
Glama
Mgabr90

Zoho CRM + Books MCP Server

by Mgabr90

Server Quality Checklist

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

  • Disambiguation2/5

    Many tools have overlapping purposes, especially in field discovery and analysis (e.g., crm_get_picklist_fields, crm_get_picklist_values, crm_analyze_picklist_dependencies, crm_extract_complete_picklist_hierarchy) and category listing (list_tool_categories, list_tools_by_category, list_available_categories). This overlap would confuse an agent trying to select the correct tool.

    Naming Consistency2/5

    While many tools follow a 'prefix_verb_noun' pattern, there are significant deviations: some tools lack prefixes (search_records, create_invoice_from_deal), some use 'get_all' vs 'list' (crm_get_all_modules vs config_list_environments), and there are inconsistent abbreviations ('env' vs 'environment'). The redundant category listing tools also use inconsistent names.

    Tool Count1/5

    With 151 tools, this server is extremely over-scoped for an agent to navigate effectively. Even for a multi-product integration (CRM, Books, People, Desk, config), the number of tools is excessive and includes many near-duplicate and overly granular operations (bulk print/export, comments, etc.), making it unwieldy.

    Completeness3/5

    The tool set covers a broad range of CRM and Books operations, including CRUD for customers, items, invoices, and bills, plus sync and analysis tools. However, there are notable gaps: no update/delete for estimates, no create/update/delete for sales orders, and limited write operations for CRM tasks/events (e.g., no update/delete for tasks or events).

  • Average 3.2/5 across 151 of 151 tools scored. Lowest: 1.5/5.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior1/5

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

    With no annotations, the description carries the full burden of disclosing behavior, but it only states 'Export bills in bulk' without describing output format (e.g., file download, email generation), side effects, or data scope. The schema hints at export_type with pdf/csv/xls options, but the description gives no behavioral context whatsoever.

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

    Conciseness2/5

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

    While extremely short, the description is under-specified rather than effectively concise. The single phrase does not convey any operational details and fails to earn its place as a useful description, so its brevity is a deficiency not a virtue.

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

    Completeness1/5

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

    This tool has 7 parameters, no annotations, and no output schema, yet the description is a bare five-word sentence. It lacks essential context such as what 'bulk export' produces, how filters interact, and what formats are available, making it completely inadequate for correct tool selection and invocation.

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

    Parameters1/5

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

    Schema coverage is 0% and the description mentions none of the 7 parameters. It does not explain the meaning of export_type, filter_by, date ranges, or search_text, leaving the agent to infer everything from bare parameter names, which is insufficient.

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

    Purpose2/5

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

    The description 'Export bills in bulk' is a direct paraphrase of the tool name 'books_bulk_export_bills' with no added specificity. It identifies the resource and action but fails to clarify what 'export' entails or differentiate from sibling tools like books_bulk_print_bills or books_bulk_export_credit_notes. This is essentially a tautology that adds no new 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 usage context is provided. The description does not explain when to choose this over alternatives such as books_bulk_export_credit_notes or books_bulk_print_bills, nor does it state any prerequisites, intended use cases, or exclusions.

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

  • Behavior1/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 disclosing behavioral traits. It simply says 'create,' which implies a write operation, but provides no details about side effects, required fields, permissions, or what happens upon execution. This is a severe gap.

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

    Conciseness2/5

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

    The description is one sentence, but it is under-specified rather than concise. It repeats the tool name without adding value, so the brevity is not beneficial. Every word is redundant, earning no credit for structure.

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

    Completeness1/5

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

    Given 12 parameters, no annotations, and no output schema, a one-sentence description is fundamentally incomplete. It fails to convey required inputs, return values, or any operational context, leaving the agent without essential information for a correct invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%, yet the description mentions none of the 12 parameters, not even the three required ones (Subject, Start_DateTime, End_DateTime). The agent receives no semantic guidance on parameter meaning or formatting, making correct invocation nearly impossible.

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

    Purpose2/5

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

    The description 'Create a new event in CRM' merely restates the tool name crm_create_event. It adds no new information beyond the name itself, making it a tautology. It does not explicitly differentiate from sibling tools like crm_create_task or crm_get_events.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, related tools, or typical use cases. The description is entirely silent on usage context.

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

  • Behavior1/5

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

    No annotations are provided, so the description bears full responsibility for behavioral disclosure. It does not mention side effects, success conditions, idempotency, or any constraints beyond the schema. The sentence is essentially a restatement of the tool name.

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

    Conciseness2/5

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

    The description is extremely short and under-specified, which is not true conciseness. It adds little information beyond the tool name, so the sentence does not earn its place.

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

    Completeness1/5

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

    With three required parameters, no annotations, and no output schema, this description is grossly incomplete. It fails to explain the operational context, expected outcomes, or any business logic involved in applying a credit note.

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

    Parameters1/5

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

    Schema description coverage is 0%. The description does not mention any parameters or their roles. It adds no meaning to invoice_id, creditnote_id, or amount_applied beyond their schema types and required status.

    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 uses a specific verb 'Apply' with clear resource 'credit note to an invoice' and distinguishes from sibling tools like books_create_credit_note or books_void_credit_note. It clearly states the action, though it could add the intended effect.

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

    Usage Guidelines1/5

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

    No guidance is given on when to use this tool versus alternatives. No prerequisites, scenarios, exclusions, or references to related tools are provided.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of behavioral disclosure, but it merely restates the tool's name with 'Get current configuration status'. It does not explain what the status contains, whether side effects occur, or what the response format is. This adds no behavioral context beyond what the name implies.

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

    Conciseness2/5

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

    The description is extremely short and front-loaded, but it is under-specified. It omits crucial details about what 'configuration status' means, making the conciseness counterproductive. A one-sentence description that fails to convey meaning is not appropriately sized.

    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 simple structure (no parameters, no output schema), the description still fails to be complete because it leaves the concept of 'status' undefined. The agent cannot determine what the tool returns or how it relates to configuration state, making the tool's use ambiguous.

    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 tool has zero parameters and an empty input schema, so there is nothing to document. The description does not need to explain parameter meanings. The schema coverage is effectively complete, and the absence of parameters means the baseline of 4 is appropriate.

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

    Purpose2/5

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

    The description states a clear verb 'Get' but the resource 'current configuration status' is vague. It is not clear what this status encompasses (active profile, environment, overall health). It does not distinguish itself from sibling tools like config_list_profiles or config_list_environments, which similarly deal with configuration state.

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

    Usage Guidelines1/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 is no mention of expected context, prerequisites, or scenarios where this tool is preferred over other config_* siblings.

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

  • Behavior1/5

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

    No annotations are present, and the description only states the action without detailing side effects such as whether an email is actually dispatched, whether an attachment is included by default, or whether the credit note status changes. This leaves the agent without information about consequences like email delivery, permissions, or record updates.

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

    Conciseness2/5

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

    The description is a single short sentence, which is concise in length but under-specified for a tool with 7 parameters. It lacks necessary detail, making it more under-specified than concisely informative.

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

    Completeness1/5

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

    The tool has 7 parameters, 2 required, no output schema, and no annotations. A one-sentence description is insufficient to convey the full behavior, parameter effects, and return values. The description fails to provide an adequate context for correct invocation.

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

    Parameters1/5

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

    With 0% schema description coverage, the description should compensate by explaining parameters like creditnote_id, to_mail_ids, send_attachment, and send_customer_statement. It provides no such explanation, relying solely on parameter names.

    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 uses the verb 'Email' with the resource 'a credit note,' clearly indicating the action of sending a credit note via email. It is distinct from sibling tools like books_get_credit_notes or books_void_credit_note, and from books_send_invoice_email which targets invoices. However, it doesn't differentiate between emailing the credit note document versus a generic email with credit note information, so it is clear but not fully distinguishing.

    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?

    There is no guidance on when to use this tool versus alternatives such as books_bulk_print_credit_notes or crm_send_email. No context about prerequisites (e.g., that a credit note must exist) or intended workflow is provided.

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

  • Behavior1/5

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

    There are no annotations, and the description provides zero behavioral details. It does not disclose return type, pagination, read-only nature, or any other contextual behavior, making it completely opaque beyond the basic operation.

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

    Conciseness2/5

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

    The description is extremely short, but it is under-specified rather than concise. The brevity does not serve a purpose because it omits essential context that would be useful to an agent.

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

    Completeness1/5

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

    Given the tool has pagination parameters and a required creditnote_id, the description is grossly incomplete. It does not mention that the tool likely returns a list, how pagination works, or any details about refund records, and there is no output schema to supplement.

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

    Parameters1/5

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

    The schema description coverage is 0%, and the description does not explain any of the three parameters. It fails to compensate for the missing schema descriptions, leaving parameter semantics entirely undocumented.

    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 states the action 'Get' and the resource 'refunds for a credit note', making it clear what the tool does. However, it does not distinguish this from sibling tools like books_get_credit_note or books_refund_credit_note, so it lacks the differentiation for 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 usage guidance is provided. The description does not mention when to use this tool over alternatives, prerequisites, or exclusions. It only implies its function via the verb 'Get', which is not sufficient guidance.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of behavioral disclosure, but it merely restates the tool's name. It does not explain the effects of voiding (e.g., irreversibility, impact on payments, or status changes), leaving the agent with no information beyond the verb itself.

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

    Conciseness2/5

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

    The description is extremely short, but this is under-specification rather than effective conciseness. It states only the obvious action without any explanatory value, similar to a tautology.

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

    Completeness1/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, no output schema, and one parameter, the description is grossly inadequate. It does not cover what voiding means, what the outcome is, or any potential side effects, making it nearly useless for an agent trying to decide when and how to invoke it.

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

    Parameters1/5

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

    Schema coverage is 0% and the description does not mention the parameter at all. While the parameter name 'bill_id' is self-explanatory, the description provides no additional meaning, format, or context, failing to compensate for the lack of schema documentation.

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

    Purpose4/5

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

    The description 'Void a bill' uses a specific verb and resource, clearly indicating the action. However, it does not distinguish itself from sibling tools like books_delete_bill or books_cancel_purchase_order, leaving ambiguity about what 'void' entails compared to similar actions.

    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 instead of alternatives. There are no stated prerequisites, no exclusions, and no context for when voiding a bill is appropriate versus deleting or updating it.

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

  • Behavior1/5

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

    With no annotations, the description must fully explain behavior, but 'Void a credit note' provides no detail on effects, reversibility, permissions, or post-void status. It merely restates the tool's name and is almost tautological.

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

    Conciseness2/5

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

    The description is extremely short, but it is under-specified rather than efficiently concise. It lacks any structural detail or context that would help an agent, resembling the 'Process' example.

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

    Completeness1/5

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

    Given one required parameter and no annotations or output schema, the description should compensate, but it leaves critical questions unanswered: what does voiding do, what are the prerequisites, and how does it differ from deleting a credit note? The tool is not adequately specified.

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

    Parameters1/5

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

    Schema coverage is 0% and the description does not explain the creditnote_id parameter or its format. The only clue is the parameter name itself, which is minimal for correct invocation.

    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 uses a clear verb-resource pattern ('Void a credit note') specifying both action and target. However, it does not distinguish voiding from related operations like deletion or conversion, which is a gap given the many sibling credit-note tools.

    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 books_delete_credit_note or books_convert_credit_note_to_open. The description offers no usage context or exclusions.

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

  • Behavior1/5

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

    With no annotations and a description that is just a restatement of the name, the tool's behavioral characteristics are entirely undisclosed. There is no mention of read-only guarantees, permissions, rate limits, or what might be affected, which is a significant gap for a metadata-fetching tool.

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

    Conciseness2/5

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

    The description is extremely concise but under-specifies the tool's function. A single sentence that merely echoes the tool name does not provide enough substance to be considered well-structured; it is more of a placeholder than a helpful 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?

    Despite having no parameters, the description fails to explain what 'pipeline metadata' actually consists of, what the return value will contain, or how it relates to other CRM tools. The absence of an output schema and the vague description leaves the agent with insufficient information to confidently invoke the tool.

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

    Parameters4/5

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

    The tool has zero parameters, so the input schema is trivially complete. The description adds no parameter-specific meaning, but since there are no parameters to document, the baseline of 4 is appropriate.

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

    Purpose2/5

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

    The description 'Get pipeline metadata' is a tautology that simply restates the tool name without adding any detail about what 'pipeline metadata' entails. It lacks specificity about the content or scope of the metadata, and does not differentiate from sibling tools like crm_get_metadata_summary or crm_get_blueprint_metadata.

    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. The description offers no context on typical use cases, prerequisites, or exclusions, leaving the agent to infer usage solely from the tool name.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It fails to mention what 'print' produces (e.g., PDF download, print dialog, server-side printing), any side effects, or required permissions.

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

    Conciseness3/5

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

    It is extremely brief, which is good for readability, but it under-specifies the tool's function. There is no structured breakdown of key details.

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

    Completeness1/5

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

    For a tool with 3 parameters and no annotations or output schema, the description is insufficient. It does not explain return values, template usage, or the meaning of orientation options.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description adds no meaning to the parameters. The parameter names are somewhat self-explanatory (purchaseorder_ids, orientation), but template_id is unexplained, and no formatting or constraints are described.

    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 states a specific verb ('Print') and resource ('purchase orders') with a clear scope ('in bulk'). While it doesn't elaborate on what bulk printing entails, it distinguishes itself from sibling export tools like books_bulk_export_purchase_orders.

    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 books_get_purchase_orders or books_bulk_export_purchase_orders. There is no mention of prerequisites or typical scenarios.

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

  • Behavior1/5

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

    With no annotations provided, the description must disclose behavioral traits, but it only states the action 'Create' without mentioning side effects, permissions, idempotency, validation rules, or response details. It does not add any transparency beyond the basic operation.

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

    Conciseness3/5

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

    The description is concise with a single sentence and no wasted words, but it is under-specified for a tool with 20 parameters and nested objects. A brief enumerative structure or additional context would improve clarity without sacrificing brevity.

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

    Completeness1/5

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

    Given the complex schema (20 parameters, nested line items, enums), absent annotations, and no output schema, the description is woefully incomplete. It fails to explain what a bill is in this domain, how line items or taxes work, or what response to expect, making it insufficient for correct invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description provides no parameter information. It does not explain required fields (vendor_id, line_items) or any of the 20 optional parameters, leaving the agent without semantic guidance for constructing a valid request.

    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 bill in Books' clearly states the action (create) and the resource (bill), distinguishing it from siblings like books_get_bill, books_update_bill, or books_create_invoice. It is specific enough to identify the tool's core purpose, though it lacks additional scope details like vendor or line items.

    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 books_create_estimate or books_create_purchase_order. The description does not mention prerequisites, target users, or when creating a bill is appropriate, leaving the agent to infer usage from the name.

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

  • Behavior1/5

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

    With no annotations, the description must carry the full burden of behavioral disclosure. It simply says 'Send email'—a side-effecting action—but gives no information about permanence, required permissions, rate limits, or whether the email is logged as an activity in the CRM. The agent cannot assess the impact or safety of the operation.

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

    Conciseness3/5

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

    The description is a single short sentence with no wasted words, making it concise. However, it is under-specified rather than efficiently structured; it lacks any additional context or breakdown that would justify a higher score.

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

    Completeness1/5

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

    Given 9 parameters, no annotations, and no output schema, the description is far from complete. It omits return behavior, error cases, prerequisites, and how the email is associated with the record, leaving the agent with insufficient information to use the tool effectively.

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

    Parameters1/5

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

    The schema has 9 parameters with 0% description coverage. The tool description does not explain any parameter, including required ones like module and record_id, or optional ones like mail_format and template_id. The agent must infer semantics solely from parameter names, which may be ambiguous without additional 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 uses a specific verb ('Send') and identifies the resource ('a CRM record'), clearly distinguishing it from sibling tools like books_send_invoice_email or books_email_purchase_order, which target specific document types. However, it could be more precise about what 'for a CRM record' implies (e.g., logging the email to the record), making the purpose clear but not fully 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?

    The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., the record must exist), exclusions, or alternative tools for document-specific emails. This is a bare one-liner without contextual 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, the description carries the full burden of behavioral disclosure. It claims to 'Get all credit notes' but does not mention that the results are paginated (via page and per_page parameters), nor any sorting/filtering behavior. This is a significant omission for a list endpoint.

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

    Conciseness2/5

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

    The description is a single short sentence, technically concise. However, it is under-specified for a tool with 13 parameters, offering no structural detail about the response or the filtering capabilities. This is not concise completeness but rather lack of specification.

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

    Completeness1/5

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

    Given the tool's complexity (13 parameters, no output schema, no annotations), the description is drastically incomplete. It does not explain what fields are returned, how pagination works, or the meaning of key filters, making it nearly impossible for an agent to use correctly.

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

    Parameters1/5

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

    The schema contains 13 parameters with zero description coverage. The tool description adds no parameter-level meaning whatsoever, failing to compensate for the schema's lack of documentation. This is a major gap for parameters like filter_by, sort_column, and search_text.

    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 uses a specific verb ('Get') and resource ('all credit notes from Books'), clearly indicating this is a list operation. It distinguishes from the singular sibling 'books_get_credit_note' by saying 'all credit notes'.

    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 the many other get_* tools. The description does not mention any exclusions, prerequisites, or scenarios where an alternative would be more appropriate.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It fails to mention side effects, reversibility, prerequisites (e.g., whether a payment is required), or any state changes beyond the vague 'mark as paid'.

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

    Conciseness3/5

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

    The description is concise with a single sentence and no fluff, but it is under-specified. Conciseness alone does not compensate for the lack of useful detail, so it earns a middle score.

    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 simple mutation tool with one parameter and no output schema, the description is too minimal. It doesn't explain the workflow, what 'paid' means in the system, or how it relates to other bill operations.

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

    Parameters1/5

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

    The parameter bill_id is not mentioned in the description. Schema coverage is 0%, and the description adds no meaning about the parameter's format, purpose, or constraints beyond the bare 'string' type.

    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 'Mark a bill as paid' uses a specific verb and resource, clearly indicating the action. It distinguishes from siblings like books_mark_bill_as_open and books_record_bill_payment, though it doesn't explicitly differentiate the status-change semantics from recording a payment.

    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 books_record_bill_payment or books_mark_bill_as_open. The agent must infer the appropriate context 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 responsibility for behavioral disclosure. It states only the action ('mark as open') without revealing side effects, reversibility, required prior states, or the impact on related records. This is a significant gap 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.

    Conciseness2/5

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

    The description is extremely concise (one sentence), but it is under-specified rather than efficiently informative. It simply restates the tool name and omits necessary details, so it does not earn its place as a helpful 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?

    The tool is a simple status-change mutation with one parameter, but the description lacks essential context such as what 'open' signifies in the purchase order lifecycle, when this action is applicable, and what happens after execution. No output schema exists, so the description should provide more context than it does.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate for the lack of parameter explanations. It does not mention the `purchase_order_id` parameter at all, though the parameter name itself is reasonably self-explanatory. The description adds no meaning beyond the name and type.

    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 'Mark a purchase order as open' does state a specific verb and resource, matching the tool name. However, it does not explain what 'open' means in this context (e.g., reopening a previously closed order) and does not distinguish it from sibling status-change tools beyond the literal wording.

    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 books_mark_purchase_order_as_billed or books_cancel_purchase_order. The description lacks any context about prerequisites, expected business workflow, or exclusions, leaving 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.

  • Behavior1/5

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

    With no annotations, the description must disclose behavioral traits, but it only says 'update'. It does not mention required parameters, partial update semantics, impact on existing data, or that it is a write operation requiring confirmation.

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

    Conciseness4/5

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

    The description is a single concise sentence with no wasted words. However, the brevity sacrifices essential information, keeping it from a perfect score.

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

    Completeness1/5

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

    For a tool with a complex schema (21 params, nested objects, no output schema), a one-line description is grossly inadequate. It provides no context on what fields are updatable, required inputs, or expected outcomes.

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

    Parameters1/5

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

    The schema has 21 parameters with 0% description coverage, and the description provides no parameter information. The agent is left completely to the schema, which lacks semantic meaning for fields like 'discount_type' or 'billing_address'.

    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 updates an existing bill in Books, using a specific verb and resource. It doesn't distinguish among sibling bill-related operations like void or mark-as-paid, but 'update' is unambiguous enough.

    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 books_mark_bill_as_paid or books_void_bill. It lacks any context for selection or exclusion.

    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 for behavioral disclosure. It only implies a read operation via 'get', but does not describe any side effects, permissions, output format, or pagination behavior. This is insufficient for a tool with no annotation backup.

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

    Conciseness2/5

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

    The description is concise to the point of being under-specified. It is a single short phrase that restates the tool name, offering no substantive content. While it is not bloated, it fails to earn its place by providing any additional value.

    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?

    The description is incomplete given the lack of output schema and the ambiguity of 'assignment rules'. It does not explain what assignment rules are, in which CRM module they apply, or what the returned data looks like. This makes it difficult for an agent to understand the tool's full 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 tool has zero parameters, so the input schema is trivially covered. According to the rubric, 0 parameters warrants a baseline of 4; the description does not need to explain parameter semantics that don't exist.

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

    Purpose2/5

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

    The description "Get assignment rules" is essentially a restatement of the tool name, adding no new information. It fails to explain what 'assignment rules' refer to and does not differentiate this tool from other 'get' tools in the CRM family.

    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 is no mention of prerequisites, context, or similar tools, leaving the agent without any basis for choosing this tool over other CRM-related 'get' tools.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It does not mention pagination, return format, authentication requirements, or any side effects. The description is purely a high-level statement with no additional 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.

    Conciseness3/5

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

    The description is a single sentence with no waste, but it is under-specified, lacking essential usage details. While concise in length, it does not serve the agent adequately, making it not '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.

    Completeness1/5

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

    Given the tool has 4 parameters, no annotations, and no output schema, the description is severely incomplete. It does not explain how to identify the record, handle pagination, or interpret results, leaving the agent with insufficient context to invoke the tool correctly.

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

    Parameters2/5

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

    Schema coverage is 0%, and the description does not explain the module, record_id, page, or per_page parameters. The phrase 'specific CRM record' implies record_id but omits module and pagination semantics. Description fails to compensate for the lack of schema documentation.

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

    Purpose4/5

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

    The description 'Get notes for a specific CRM record' clearly states the action (get notes) and the target resource (CRM record). It distinguishes from siblings like crm_get_tasks and crm_get_attachments, though it could be more explicit about requiring module and record_id.

    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 does not mention prerequisites, such as knowing the module and record_id, nor does it compare with similar retrieval tools like crm_get_timeline or crm_get_attachments.

    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 responsibility for behavioral disclosure. It only says 'print' without explaining what that entails—whether it generates a PDF, sends to a printer, or has side effects. No mention of required setup or impact.

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

    Conciseness3/5

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

    The description is extremely concise—a single phrase. While there is no waste, it is under-specified and does not provide enough substance to be useful. It is brief but lacks necessary structure and content.

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

    Completeness1/5

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

    For a bulk operation with three parameters, no output schema, and no annotations, the description is completely inadequate. It gives no information about required inputs, behavior, or expected results, leaving the agent without guidance.

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

    Parameters1/5

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

    The schema lists three parameters (orientation, template_id, creditnote_ids) but the description provides zero semantic context. With 0% schema description coverage, the description fails to explain the meaning or usage of any parameter.

    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 (print), the resource (credit notes), and the scope (bulk). It distinguishes from sibling tools like books_bulk_export_credit_notes or books_email_credit_notes by specifying 'print' as the 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 such as export or email credit notes. The description mentions no prerequisites (e.g., template setup) or context for selecting this tool.

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

  • Behavior1/5

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

    No annotations are present, so the description must fully disclose behavioral traits. It only says 'Create a new credit note' without explaining whether the credit note is created as draft or final, how taxes or discounts are applied, or what the response contains. This is a significant gap 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.

    Conciseness3/5

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

    The single sentence is concise but under-specified. While it efficiently states the purpose, it omits essential operational details, making it too brief for a complex tool with many parameters and sibling operations. It is not a balanced tradeoff between brevity and completeness.

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

    Completeness1/5

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

    Given the tool's complexity (23 parameters, nested objects, 1 enum) and many related sibling tools, the description is grossly incomplete. It does not mention the relationship to invoices, how line items work, or any business rules, leaving the agent without enough context to use the tool correctly.

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

    Parameters1/5

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

    The description provides zero parameter semantics. With 23 parameters and 0% schema description coverage, the agent is left with only parameter names and types, which is insufficient for correct invocation. The description does not compensate for the lack of schema descriptions.

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

    Purpose5/5

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

    The description uses the specific verb 'Create' with the resource 'credit note in Books', clearly identifying the tool's operation. This distinguishes it from sibling tools like update, delete, void, or convert credit note 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?

    No guidance is provided on when to use this tool versus alternatives such as books_apply_credit_note_to_invoice or books_convert_credit_note_to_open. There is no context about prerequisites, linking to invoices, or when a credit note should be created.

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

  • Behavior1/5

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

    No annotations are provided, and the description only states the action without disclosing behavioral traits such as required permissions, side effects, validation rules, or error behavior. It essentially restates the tool name.

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

    Conciseness3/5

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

    The description is a single sentence with no wasted words, but it largely restates the tool name. While concise, it fails to add meaningful information beyond the obvious.

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

    Completeness1/5

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

    This is a complex tool with 21 parameters, nested objects, and no output schema or annotations. The description provides only a one-line clause, leaving almost all critical context—such as required fields, constraints, and expected behavior—unexplained.

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

    Parameters1/5

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

    The schema has 0% description coverage, and the description does not mention any of the 21 parameters. Ambiguous fields like 'adjustment', 'discount_type', and 'line_items' receive no semantic clarification, leaving the agent without guidance.

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

    Purpose5/5

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

    The description uses a specific verb ('Create') and resource ('purchase order') with the context 'Books', clearly identifying the action and distinguishing it from sibling tools like books_update_purchase_order or books_delete_purchase_order.

    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 or when to prefer alternatives. Sibling tools include many purchase order actions, but the description does not mention usage contexts, 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?

    With no annotations, the description must carry the full burden of behavioral disclosure. It does not mention potential side effects, such as whether sending an email changes the purchase order's status, whether it requires special permissions, or if it just sends a static PDF. This is opaque for an action with external effects.

    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 one short sentence, front-loaded and free of unnecessary words. It is extremely concise, but this comes at the cost of omitting critical information. Still, for the tiny amount of text, it is well-structured.

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

    Completeness1/5

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

    Given the tool's complexity (6 parameters, no annotations, no output schema), the description is profoundly inadequate. It fails to explain how to use the parameters, what the email contains, or any preconditions. An agent cannot reliably invoke this tool correctly based on this description alone.

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

    Parameters1/5

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

    The schema has 6 parameters with 0% coverage in the description, and the description itself mentions none of them. It does not compensate for the lack of schema descriptions. The agent is left to infer the meaning of fields like body, cc_mail_ids, and send_attachment without any assistance.

    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 'Email a purchase order' uses a specific verb and resource, clearly identifying the action. While it essentially restates the tool name, it still distinguishes this tool from other purchase order operations. However, it lacks any detail about scope or variations.

    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 compared to alternatives like books_send_invoice_email or books_email_credit_note. There is no mention of prerequisites, such as the purchase order already existing, or when emailing 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?

    No annotations are provided, so the description carries the full burden. It implies a read-only 'get' operation, but does not disclose pagination behavior, filtering capabilities, response format, or any side effects. The description is too thin to cover what a user might expect from a tool with 8 parameters.

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

    Conciseness3/5

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

    The description is a single short sentence, which is technically concise, but it is under-specified. It lacks structure to organize the large parameter space or to set expectations, so while there is no waste, there is also insufficient substance.

    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?

    With 8 parameters, no output schema, and no annotations, the description is far from complete. It does not explain how 'all estimates' relates to pagination and filters, nor what the return structure looks like. A minimally viable description for this complexity would at least mention key filtering and pagination options.

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

    Parameters1/5

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

    The input schema has 8 parameters with 0% coverage in the description. The description provides no meaning for page, status, per_page, filter_by, sort_order, customer_id, search_text, or sort_column. The schema field names hint at some semantics, but the description adds no 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 identifies the action ('Get') and the resource ('all estimates from Books'). It differentiates from sibling tools like books_get_invoices or books_get_customers, though it could be more specific about the scope (e.g., whether 'all' implies no 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?

    No guidance on when to use this tool vs alternatives. There is no mention of exclusions or prerequisites. The description merely states the action without contextualizing selection among the many sibling 'get' 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?

    The schema includes readOnlyHint: true and idempotentHint: true, which already indicate a safe read operation. The description adds no behavioral context beyond what the annotations provide, such as pagination behavior, result size, or rate limits. It does not contradict the annotations, but it also adds no value.

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

    Conciseness3/5

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

    The description is a single concise sentence with no fluff, which is a positive. However, it is under-specified, functioning more like the tool name itself than a helpful explanation. It lacks any structural elements to guide understanding of the tool's inputs or behavior.

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

    Completeness1/5

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

    Given the tool has 7 parameters, no output schema, and no annotations beyond hints, the description should provide substantial context about pagination, filtering, and result format. It does none of this, leaving a significant gap for agents trying to invoke it correctly.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any of the 7 parameters (e.g., page, per_page, filter_by, sort_order). With such low coverage, the description should compensate, but it offers zero parameter meaning, leaving agents to infer from parameter names 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 'Get all payments from Books' clearly identifies the action (get all) and the resource (payments in Books). It is specific enough to distinguish from related tools like books_get_invoices or books_get_bill_payments, though it does not explicitly differentiate itself from 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 such as books_get_bill_payments or books_get_invoices. The description does not mention pagination, filtering, or typical use cases, 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, the description carries full responsibility for disclosing behavior. It only implies a write operation ('record') but doesn't mention side effects like updating the bill's paid status, requiring an open bill, or validating payment amounts. This is a significant transparency gap.

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

    Conciseness3/5

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

    The description is a single, front-loaded sentence with no wasted words, which is structurally concise. However, it is so brief that it sacrifices necessary context, making it under-specified rather than elegantly concise.

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

    Completeness1/5

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

    Given the complexity (8 parameters, no annotations, no output schema), this single sentence is grossly incomplete. It fails to explain what the tool returns, what parameters are required for what purpose, or any constraints, making it nearly unusable for an agent.

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

    Parameters1/5

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

    The schema has 8 parameters with 0% schema description coverage, and the description mentions none of them. Fields like exchange_rate and from_account_id are unexplained. The description adds zero value in helping the agent understand parameter semantics.

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

    Purpose4/5

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

    The description clearly states the action ('record') and resource ('payment for a bill'), which is specific and distinct from bill creation/deletion. However, it doesn't differentiate between this and similar sibling tools like books_create_payment or books_mark_bill_as_paid, so it's not fully unambiguous.

    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?

    There is no guidance on when to use this tool versus alternatives such as books_mark_bill_as_paid or books_create_payment. No context, prerequisites, or exclusions are provided, leaving the agent without decision support.

    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?

    The description only states 'Create a refund for a credit note' with no details about side effects, such as whether the credit note's remaining balance is reduced, whether refunds are reversible, or any permission requirements. Since annotations are absent, the description carries the full burden but fails to disclose these behaviors.

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

    Conciseness3/5

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

    The description is very concise with a single sentence, which is good for front-loading, but it is under-specified for an 8-parameter financial operation. It could include additional context without becoming verbose.

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

    Completeness1/5

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

    Given the tool's complexity (8 parameters, no annotations, no output schema), the description is overwhelmingly incomplete. It provides no context about return values, side effects, or parameter semantics, making it insufficient for reliable invocation.

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

    Parameters1/5

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

    The description does not mention any of the 8 parameters, and schema description coverage is 0%. It fails to explain key fields like refund_mode, exchange_rate, or from_account_id, leaving the agent without essential semantic 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 clearly states the action ('Create a refund') and the resource ('a credit note'), which is specific. However, it does not explicitly differentiate from sibling tools like books_get_credit_note_refunds, though the verb 'create' implies a write 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 such as books_create_credit_note or books_get_credit_note_refunds. There is no mention of prerequisites, like whether the credit note must be in a certain state, or scenarios where this tool is appropriate.

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

  • Behavior1/5

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

    There are no annotations, so the description carries the full burden of behavioral disclosure. The description only says 'Create a new user' with no information about side effects, permissions, required fields, uniqueness constraints, or what happens after creation. This is a significant gap 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.

    Conciseness3/5

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

    The description is extremely short (3 words) with no wasted text, but it essentially restates the tool name and provides no substantive information. It is under-specified rather than appropriately concise, so it does not fully earn its place.

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

    Completeness1/5

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

    This tool has a nested object parameter ('user_data') and no output schema, yet the description gives no details about the structure of the data, expected fields, or behavior. The description is completely inadequate for an agent to understand how to invoke this tool 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% (the single parameter 'user_data' has a description, albeit vague). The tool description adds no additional meaning beyond the schema, but the baseline for high coverage is 3, and the description does not mislead.

    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 states a specific verb ('create') and resource ('user'), clearly indicating the tool's purpose. While it does not explicitly compare with sibling tools, the resource 'user' is distinct among the many create_* tools in the sibling list, so the purpose is clear 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?

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, use cases, or exclusions, leaving the agent to infer context solely from the tool name.

    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 the full burden of behavioral disclosure. It implies a read operation but doesn't mention return format, pagination behavior, potential empty results, or any side effects. This lack of detail could lead to incorrect assumptions about 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.

    Conciseness3/5

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

    The description is extremely brief (6 words), which is concise but not appropriately structured. It omits essential context, making it under-specified rather than efficiently compact. It doesn't waste words, but it also doesn't earn its place by conveying necessary details.

    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 simple read tool with no output schema, the description should explain what the agent can expect to receive (e.g., list of attachment metadata, URLs, file contents). It doesn't address return values, supported modules, or pagination defaults, leaving significant gaps for a tool with only a name and params.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description adds no information about the parameters (module, record_id, page, per_page). While parameter names are somewhat self-explanatory, the description fails to compensate for the schema's lack of documentation, leaving the agent to guess parameter semantics.

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

    Purpose4/5

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

    The description clearly states the action ('Get') and the resource ('attachments for a CRM record'), which sufficiently distinguishes it from sibling get_* tools. It doesn't provide scope details like supported modules or attachment types, but the core purpose is unambiguous.

    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 offers no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. It simply states what it does, leaving the agent to infer appropriate usage from the tool name and sibling context.

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

  • Behavior1/5

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

    With no annotations, the description carries full burden for disclosing behavioral traits. It only says 'Update role details' with no mention of permissions, reversibility, partial vs. full replacement of role_data, or what the response looks like. This is a significant gap 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.

    Conciseness3/5

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

    The description is concise (a single sentence) and front-loaded with the action. However, it is overly minimal and lacks useful context, making it under-specified rather than appropriately sized. It earns its place but leaves significant gaps.

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

    Completeness1/5

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

    The tool has nested objects (role_data) and no output schema, and annotations are absent. The description is far too incomplete to guide an agent: it fails to mention updatable fields, validation, partial update behavior, or any response expectations. This is inadequate for a mutation tool of this 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% with both parameters having descriptions, so baseline is 3. The description adds no extra meaning beyond the schema; it doesn't explain the structure of role_data or any constraints. However, the schema descriptions are minimally present, so the parameter semantics are adequately covered by 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 states a clear verb and resource: 'Update role details'. It distinguishes from sibling tools like crm_create_role, crm_delete_role, and crm_get_role_details by indicating a modification operation. However, it does not specify the exact scope of 'role details', which is slightly vague.

    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 offers no guidance on when to use this tool versus alternatives. It does not mention that this is for updating existing roles, or that creation/deletion should use other tools. The usage is only implied by the name and verb, but no explicit context or exclusions are 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 the full burden. It only states 'update existing customer' but does not disclose behavioral traits such as partial update semantics, required fields beyond customer_id, error handling, or return values. This is minimal disclosure beyond the obvious mutation.

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

    Conciseness2/5

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

    The single sentence is concise with no waste, but it is under-specified. For a tool with 12 parameters, this is not appropriately sized; it lacks necessary detail to be considered well-structured.

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

    Completeness1/5

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

    With no annotations, no output schema, and a 12-parameter input schema with zero description coverage, the description is severely incomplete. It fails to provide any usage context, parameter guidance, or behavioral transparency needed for correct invocation.

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

    Parameters1/5

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

    The description mentions no parameters, and schema description coverage is 0%. All 12 properties, including enums like contact_type and customer_sub_type, are left completely unexplained. The description adds no value to the schema.

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

    Purpose5/5

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

    The description clearly states the action (update), the resource (customer), and the scope (existing), which distinguishes it from sibling tools like books_create_customer and books_delete_customer. It is specific and unambiguous.

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

    Usage 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. While the verb 'update' implies existing records, there are no explicit exclusions 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?

    With no annotations, the description carries full responsibility for disclosing behavioral traits. It states only the action without explaining consequences, required permissions, reversibility, or resulting state changes, which is inadequate for a mutation operation.

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

    Conciseness3/5

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

    The description is a single sentence with no waste, but it is under-specified. Conciseness is acceptable, yet the lack of critical details makes it feel more minimalistic than appropriately compact.

    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 simple schema and no output schema, the description is incomplete. It lacks context about the workflow, such as status transitions, prerequisites, or side effects, which are essential for a state-changing tool.

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

    Parameters2/5

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

    The description does not mention the purchase_order_id parameter or add any meaning beyond the input schema. Since schema description coverage is 0%, the description should compensate, but it does not; the parameter name provides some implicit clarity, which prevents the lowest score.

    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 'Approve a purchase order' uses a specific verb and resource, making the core action clear. However, it does not explicitly distinguish from sibling tools like books_submit_purchase_order_for_approval or books_mark_purchase_order_as_open, so it lacks 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?

    No guidance is given about when to use this tool versus other purchase-order actions. There is no mention of prerequisites, workflows, or alternatives, 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, the description carries the full burden. It only states 'Export purchase orders in bulk' and does not disclose what the output is (file download, URL, async job), any prerequisites, or side effects. This is minimal information.

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

    Conciseness3/5

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

    The description is a single clear sentence with no fluff, but it is under-specified. It is concise in length but not in informative value, missing critical context that could be added without bloat.

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

    Completeness1/5

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

    For a tool with 7 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain export type options, filtering semantics, or expected response, making it nearly unusable for an agent to select and invoke correctly.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description adds nothing about the seven parameters (status, date filters, vendor_id, search_text, export_type). The agent must infer everything from the schema alone.

    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 names the specific action (export) and resource (purchase orders) with a 'bulk' qualifier, clearly distinguishing it from sibling tools like books_bulk_print_purchase_orders and books_get_purchase_orders.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. It does not mention that bulk export should be used for downloading multiple orders, nor does it reference sibling export/print 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?

    The description indicates a destructive action but reveals no details about permanence, permissions, or impacts on related records such as payments. With no annotations provided, the description carries the full burden of explaining behavior, and it fails to address whether deletion is irreversible or how it differs from voiding.

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

    Conciseness4/5

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

    The description is a single short sentence that is front-loaded and contains no filler. It is concise and to the point, though its brevity leaves out important information that could be added without harming 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?

    For a destructive tool with a sibling 'void' operation and a simple schema, the description lacks essential context such as irreversibility, whether void is preferred, and how to retrieve bill IDs. The absence of annotations and output schema further compounds the incompleteness.

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

    Parameters1/5

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

    The schema defines a single required 'bill_id' string with 0% description coverage. The description adds no meaning beyond the parameter name itself—it does not explain the format, origin, or how the ID relates to the bill being deleted.

    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 the resource ('a bill from Books'), making the core purpose evident. However, it does not distinguish this tool from the closely related sibling 'books_void_bill', which might serve as an alternative for handling bills.

    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?

    There is no guidance on when to use this tool versus alternatives like 'books_void_bill'. The description gives no context on prerequisites, scenarios, or exclusions, leaving the agent without decision support.

    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 does not disclose any behavioral details beyond the action itself. It does not state whether the bill must be in a particular state, whether it reopens previously paid or voided bills, or what the result or response is.

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

    Conciseness3/5

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

    The description is a single short sentence, making it concise and front-loaded, but it is under-specified rather than efficiently detailed. Minimalism here sacrifices critical context.

    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 state-changing tool with no annotations and no output schema, the description is too thin. It does not define 'open', the scope of the change, or the expected response, leaving the agent to guess from the name alone.

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

    Parameters2/5

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

    The only parameter bill_id is not described at all; the schema merely lists it as a required string. Since schema description coverage is 0%, the description fails to explain the format, meaning, or how to obtain the ID.

    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 uses the imperative verb 'mark' with a specific resource ('a bill') and target state ('open'), clearly indicating a status-change operation. It distinguishes from sibling tools like books_mark_bill_as_paid or books_void_bill by the state being set, although the meaning of 'open' is left implicit.

    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 gives no guidance about when to use this tool versus alternatives such as books_mark_bill_as_paid, books_void_bill, or books_mark_purchase_order_as_open. No preconditions, typical workflows, or exclusions are mentioned.

    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 the full transparency burden. It only states 'submit for approval' without disclosing side effects (e.g., status changes), permissions, or error conditions. The mutating nature is implied but not elaborated.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence with no unnecessary words. It is concise, though the brevity reflects under-specification rather than efficient completeness; still, it earns a solid score for structure.

    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 simple one-parameter mutation without output schema, the description is too minimal. It lacks context on the approval workflow, distinguishes poorly from sibling tools, and offers no return-value or state-change explanation, making it insufficient for reliable tool selection.

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

    Parameters1/5

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

    The only parameter (purchase_order_id) has no description in the schema (0% coverage), and the tool description does not mention it either. The agent gets no help understanding the format, constraints, or semantics of the parameter beyond the type/required flags.

    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 uses a specific verb ('submit') and resource ('purchase order') to convey the action, which is clear at a basic level. However, it does not distinguish from the closely related 'books_approve_purchase_order' or explain the scope of submission, so it stops short of full clarity.

    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?

    There is no guidance on when to use this tool versus alternatives like 'books_approve_purchase_order' or 'books_create_purchase_order'. No prerequisites, expected input state, or workflow context is provided, leaving the agent to guess.

    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 for behavioral disclosure, but it only says 'update.' It does not mention whether this is a partial update, whether fields are overwritten, if permissions are required, or what happens to omitted fields. The mutation aspect is implied, but no side effects or safeguards are disclosed.

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

    Conciseness3/5

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

    The description is short and front-loaded, but it is under-specified for a tool with 24 parameters and complex nested objects. While there is no fluff, the brevity comes at the cost of missing essential usage and behavior context, so it is not 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.

    Completeness1/5

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

    Given the complexity (24 params, nested objects, no output schema, no annotations), the one-line description is far from complete. It does not explain how to identify the target credit note beyond creditnote_id, what fields are updatable, how updates affect existing data, or what response format to expect.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description does not compensate for any of the 24 parameters. It adds no meaning beyond what the raw schema property names (e.g., date, notes, terms, line_items) already suggest, leaving the agent to guess semantics, formats, and relationships between fields.

    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 'Update an existing credit note in Books' clearly states the action (update), the resource (credit note), and the domain (Books). It distinguishes this tool from siblings like create, delete, void, and email credit notes by focusing on modification of an existing record.

    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. The word 'existing' hints that the credit note must already exist, but there is no explicit mention of using create for new notes, voiding, or converting, leaving the agent without clear selection criteria.

    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 only states the update action without disclosing behavioral traits such as partial vs full update, validation rules, or impacts on payments. The phrase 'existing invoice' implies the invoice must already exist, which is minimal context.

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

    Conciseness3/5

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

    The description is a single short sentence with no fluff, but it is under-specified for a tool of this complexity. It is concise but lacks necessary detail, so it doesn't fully earn its place.

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

    Completeness1/5

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

    Given the 21 parameters, no annotations, and no output schema, the description is extremely incomplete. It provides no information about return values, error conditions, or whether all fields are updatable, making it inadequate for reliable tool invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not mention any parameter. With 21 parameters, the agent receives no additional semantics beyond the schema field names, which is insufficient.

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

    Purpose5/5

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

    The description clearly states the tool's function: updating an existing invoice. It uses a specific verb ('update') and resource ('invoice'), and distinguishes itself from sibling tools like books_create_invoice or books_delete_invoice.

    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?

    There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., invoice must exist) or differentiate from books_create_invoice or books_get_invoice.

    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 must carry the full burden of behavioral disclosure. It only states the action 'Create' without mentioning side effects, permission requirements, idempotency, or what happens to existing roles. This is slightly more informative than a tautology but still provides no behavioral traits beyond the verb.

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

    Conciseness4/5

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

    The description is a single concise sentence that is front-loaded and lacks fluff. However, its extreme brevity borders on under-specification, which slightly reduces the score from perfect since it provides minimal structure for the reader.

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

    Completeness1/5

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

    For a creation tool with no annotations, no output schema, and a vague parameter schema, the description is severely incomplete. It omits what data is needed, what the role_data structure should be, how the operation affects existing data, and what the response will be. The description provides almost no context beyond the action itself.

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

    Parameters2/5

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

    The schema describes the sole parameter 'role_data' as 'Role data', which is a tautology. The tool description adds no meaning about what role_data should contain (e.g., name, permissions, parent role). With nested objects true, the description fails to compensate for the schema's vagueness.

    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 role' clearly states the verb and resource, distinguishing it from sibling update/delete/get-role tools. However, it lacks context about what a 'role' entails in this CRM system and does not explicitly differentiate from other 'create' actions like crm_create_profile or crm_create_user.

    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 crm_update_role or crm_create_profile. There are no prerequisites, no mention of required permissions, and no indication of whether this should be used before assigning roles to users.

    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 must convey behavior. It only states 'Get', implying a read-only operation, but gives no information about return format, data scope, authentication needs, or side effects.

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

    Conciseness2/5

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

    The description is a short phrase with no filler, but it is under-specified. While it is concise in length, it sacrifices essential clarification, making it an unhelpful placeholder rather than a well-structured, informative 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?

    With no parameters, no output schema, and no annotations, the description alone must make the tool understandable. It fails to explain what 'blueprint' refers to in the CRM context, leaving the tool's purpose and return value ambiguous.

    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 tool has zero parameters, so the baseline is 4. The description does not need to add parameter meaning, and the empty schema indicates no input is required.

    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 uses a specific verb+resource structure ('Get blueprint metadata'), which distinguishes it from siblings since no other tool mentions 'blueprint'. However, 'blueprint' is not defined, leaving the purpose vague—users cannot infer what this metadata represents.

    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 does not mention any context, prerequisites, or exclusions, and does not reference sibling tools like crm_get_pipeline_metadata or crm_get_metadata_summary.

    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 available, the description fails to disclose behavioral details such as irreversibility, required purchase order state, permission requirements, or what response is returned. 'Cancel a purchase order' only restates the operation without describing its effects.

    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 extremely concise and front-loaded, with no filler words. However, its brevity borders on under-specification, providing no additional structure beyond the bare action.

    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 state-changing nature and the absence of annotations and output schema, the description is not complete enough for an agent to understand consequences, allowed states, or expected response. It offers minimal value beyond the tool name.

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

    Parameters2/5

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

    The schema has a single purchase_order_id property with no description, and the tool description does not elaborate on it. While the parameter's purpose is implied by its name, the description adds no meaning about format, validation, or preconditions.

    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 states a clear action ('Cancel') and resource ('purchase order'), making the tool's basic function evident. However, it doesn't distinguish this cancel operation from sibling books_delete_purchase_order, so the exact relationship between canceling and deleting remains ambiguous.

    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 cancel a purchase order versus deleting it, marking it as open/billed, or other lifecycle alternatives. There are no exclusions, prerequisites, or context clues beyond the action itself.

    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. It only says 'Create a new customer' without detailing side effects, idempotency (schema hints indicate non-idempotent), required permissions, or response behavior. This is insufficient for a mutating operation.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence that wastes no words. However, it is too terse to be considered well-structured for the complexity, but conciseness itself is strong.

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

    Completeness1/5

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

    Given the tool's high complexity (22 params, nested objects, no output schema, no annotations), the description is dramatically incomplete. It fails to explain the return value, required fields beyond schema, or any behavioral context.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description mentions no parameters. With 22 parameters including nested objects and enums, the description adds zero semantic meaning beyond the raw schema, leaving agents to guess parameter roles and formats.

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

    Purpose5/5

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

    The description uses a specific verb ('Create') + resource ('customer') + context ('in Books'), clearly distinguishing it from sibling tools like books_create_item or books_create_estimate. It precisely identifies the tool's action and target.

    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, nor any prerequisites or context. It simply states what it does, leaving the agent without explicit selection criteria.

    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?

    There are no annotations, so the description must disclose behaviors. It only says 'delete' which implies a destructive operation, but it doesn't specify permanence, cascading effects, or required permissions.

    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 is front-loaded and contains no unnecessary 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?

    The tool is low complexity, but the description is too minimal. It lacks information about when to use delete instead of void, and it doesn't explain any consequences of deletion, making it incomplete for an agent.

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

    Parameters1/5

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

    The description doesn't elaborate on the 'creditnote_id' parameter, which is the only parameter. The schema provides only the type, and with 0% coverage, the description adds no additional semantic meaning.

    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 the resource (credit note) from Books. However, it doesn't differentiate between delete and other credit note actions like void, so it doesn't fully distinguish from sibling tools.

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

    Usage Guidelines2/5

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

    No information is provided about when to use this tool versus alternatives such as books_void_credit_note. There are no usage examples, 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the obvious deletion behavior, which aligns with the destructiveHint in the schema, but adds no additional context such as reversibility, cascading effects, or permission requirements.

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

    Conciseness3/5

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

    The description is a single short sentence, which is concise. However, it does little more than repeat the tool name, so the sentence is not particularly informative beyond providing a minimal verb-object structure.

    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 simple delete operation, the description is extremely thin. It does not explain what 'item' refers to in the Books domain, whether deletion is permanent, or what happens to related data. This is insufficient for an agent to confidently invoke the tool without additional knowledge.

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

    Parameters1/5

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

    The schema has one parameter (item_id) with 0% description coverage. The description does not mention item_id or what constitutes a valid item ID, leaving the agent without any guidance on how to populate this required field.

    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 'Delete an item from Books' uses a specific verb ('Delete'), identifies the resource ('item'), and specifies the context ('Books'). This clearly distinguishes it from sibling tools like books_delete_customer or books_delete_invoice.

    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 does not mention any prerequisites, exclusions, or scenarios where a different tool (e.g., books_update_item) would be more 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?

    No annotations are provided, so the description must disclose behavior. It states it 'gets' payments, implying read-only, but provides no details about pagination, return structure, or any side effects. It relies on the name for safety profile, which 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.

    Conciseness4/5

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

    The description is a single, efficient sentence with no redundancy. It is front-loaded with the verb and resource, though it could arguably include more detail without being verbose.

    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 output schema and no annotations, the description is too sparse. It doesn't mention that payments are returned as a list, does not describe pagination behavior, and leaves the agent without information about what fields are included. More context is needed for a complete understanding.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description should compensate. It only hints at bill_id ('for a bill') but does not explain page, per_page, or the meaning of bill_id beyond the schema. The schema's defaults and constraints provide some value, but the description adds minimal semantic meaning.

    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 uses a specific verb 'Get' and resource 'payments' with scope 'for a bill', clearly indicating a read operation for bill-specific payments. It distinguishes from sibling tools like books_get_payments (general) and books_get_bill (bill details), though it doesn't explicitly name alternatives.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. The description only states what it does, without mentioning context, prerequisites, or referencing sibling tools. Usage context is only implied by the name.

    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 must disclose behavior. It does not mention pagination (despite `page` and `per_page` parameters), which could mislead users into thinking all bills are returned at once. No information about filtering limits or response format 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.

    Conciseness3/5

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

    The description is a single short sentence, so it is concise, but it lacks structure: no separation of purpose, usage, or parameter context. It is not overly verbose, but it is too terse to be considered 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?

    For a tool with 12 parameters and no output schema, the one-sentence description is wholly insufficient. It doesn't explain return values, pagination, or parameter usage, making it impossible for an agent to invoke this tool correctly beyond a basic call.

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

    Parameters1/5

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

    There are 12 parameters with 0% schema description coverage. The description provides no explanation of any parameter, leaving users to guess at the meaning of `filter_by`, `sort_column`, `search_text`, etc. This is a complete failure to compensate for the schema gap.

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

    Purpose5/5

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

    The description uses a specific verb 'Get' with resource 'all bills' and context 'Books', clearly distinguishing it from the singular sibling tool `books_get_bill`. This makes the tool's purpose unambiguous.

    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 `books_get_bill` or how it relates to other bill-related tools. There is no mention of filters or intended 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?

    With no annotations, the description carries full responsibility for behavioral disclosure. It only says 'Create', implying a write operation, but gives no details on required permissions, validation behavior, whether the record must exist, or the nature of the created note. This is a significant gap 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, front-loaded sentence with zero wasted words. It efficiently communicates the core action and resource, achieving maximum conciseness. Being brief is not a flaw here; the lack of content is addressed in other dimensions.

    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 5 parameters, no annotations, and no output schema, the description is inadequate for complete invocation. It does not explain which record the note attaches to, how module and record_id relate, or what the agent can expect in the response. It only covers the basic action.

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

    Parameters1/5

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

    Schema description coverage is 0%, yet the description provides no parameter information. It does not clarify the role of 'module', 'record_id', 'Parent_Id', or the distinction between Note_Title and Note_Content. The agent gets no help beyond the raw schema, making this nearly useless for parameter understanding.

    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 a specific action ('Create') and resource ('a new note for a CRM record'), which distinguishes it from sibling tools like crm_get_notes, crm_create_task, and crm_create_event. However, it lacks specifics about the target record or module scope, so it is not as precise as the TDQS 4.3 example.

    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 does not mention that crm_get_notes is for reading notes, or that crm_create_task/event are for other record types. The description simply states what it does, leaving the agent to infer usage context.

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

  • Behavior1/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 only says 'Create a new profile' with no mention of permissions, reversibility, side effects, or required data, leaving all behavioral traits undisclosed.

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

    Conciseness4/5

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

    The description is a single concise sentence with no filler, making it efficient and front-loaded. However, it is under-specified, similar to the update_drive example which also earned a 4 for efficiency despite limited detail.

    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 absence of annotations and output schema, and a single opaque nested parameter, the description is insufficient for an agent to know what constitutes a valid profile_data object or what the result will be. It fails to cover essential context, though the purpose is clear.

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

    Parameters3/5

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

    Schema description coverage is 100% for the one parameter (profile_data), so the baseline is 3. The description does not add any meaning beyond the schema's 'Profile data' label, and the nested object structure remains opaque, but the schema provides some 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 uses the clear verb 'Create' and the resource 'new profile', which states the core action. However, it does not differentiate between sibling tools like crm_update_profile or config_add_profile, so it lacks sibling 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 crm_update_profile or config_add_profile. It only states the action without any context, 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 present, so the description carries the full burden of behavioral disclosure. It only says 'Export' without detailing output formats, side effects, or whether the operation is asynchronous. The schema includes an export_type enum, but the description does not mention it.

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

    Conciseness4/5

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

    The description is a single short sentence, which is concise and front-loaded with the core action. However, it is so sparse that it borders on under-specification, but this dimension rewards brevity, so a score of 4 is appropriate.

    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?

    With 7 parameters, 0% schema coverage, and no annotations or output schema, a one-sentence description is far from complete. The agent would need to infer parameter meanings from naming alone, which is insufficient for correct tool invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%; the description does not explain any of the 7 parameters. It fails to mention that export_type is required or enumerate its possible values (pdf, csv, xls), leaving the agent without critical usage details.

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

    Purpose5/5

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

    The description uses the verb 'Export' with the resource 'credit notes in bulk,' clearly stating the operation. It distinguishes from sibling tools like books_get_credit_notes (retrieval) and books_bulk_print_credit_notes (printing).

    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 only states the action without explaining that it is for file export or how it differs from other 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 only that a credit note is converted to open status, but does not explain side effects, idempotency, required starting status, or whether the operation is reversible. This is insufficient for a state-changing operation.

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

    Conciseness5/5

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

    The description is a single concise sentence with no filler or repetition. It is appropriately sized for the simple operation it describes and delivers 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?

    Given the lack of annotations, minimal schema, and no output schema, the description should provide more context about the status transition. It fails to mention preconditions, what 'open' means in the credit note lifecycle, or any related side effects, making it incomplete for an agent to confidently invoke.

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

    Parameters2/5

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

    The schema has one parameter (creditnote_id) with 0% schema description coverage, yet the description does not mention the parameter at all. Although the parameter name is self-explanatory, the description adds no additional meaning beyond what the schema already provides.

    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 ('convert') and the target resource ('credit note') along with the desired outcome ('to open status'). This makes the tool's purpose reasonably distinct from sibling tools like books_void_credit_note or books_apply_credit_note_to_invoice, though it could be more explicit that it changes the credit note's status.

    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 does not mention prerequisites, excluded scenarios, or differences from related credit note operations, leaving the agent to infer usage solely from the tool name.

    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?

    The schema annotations (readOnlyHint=false, idempotentHint=false) indicate a non-read-only, non-idempotent operation, but the description adds no behavioral context such as side effects (e.g., marking the estimate as converted) or what happens to the original estimate. It merely restates the operation.

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

    Conciseness4/5

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

    The description is a single concise sentence with no redundant words, making it easy to parse. However, its brevity sacrifices essential context that would improve usability.

    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 there is no output schema and minimal annotations, the description is incomplete. It does not explain what the tool returns, what changes occur (e.g., estimate status), or any error conditions. A conversion operation should describe the outcome or at least reference the resulting invoice.

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

    Parameters1/5

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

    The schema has one parameter (estimate_id) with no description, and the tool description provides no additional meaning or usage context for it. With 0% schema parameter coverage, the description should compensate but does not, leaving the parameter's purpose entirely to guesswork from the tool name.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb 'Convert' and a specific resource transformation ('Books estimate to invoice'). This distinguishes it from related invoice creation tools like books_create_invoice or create_invoice_from_deal.

    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 usage guidance is provided. The description does not mention when to prefer this tool over alternatives such as books_create_invoice, nor does it state any prerequisites (e.g., the estimate must exist or be in a certain 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. It only states 'Get all purchase orders', omitting important behavior such as pagination (page/per_page parameters), optional filters, result ordering, or that this may return a large dataset.

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

    Conciseness5/5

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

    The description is a single, concise sentence that front-loads the primary action without any filler. It is efficiently sized for the clarity it provides.

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

    Completeness1/5

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

    For a tool with 12 parameters and no output schema, this description is grossly incomplete. It fails to explain return format, filtering options, pagination behavior, or differentiate itself from siblings like books_get_purchase_order, leaving the agent with insufficient context.

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

    Parameters1/5

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

    The schema has 12 parameters with 0% description coverage, and the description does not explain any parameter meanings. Terms like 'filter_by', 'search_text', and 'sort_column' are left ambiguous, so an agent cannot determine how to use them effectively.

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

    Purpose5/5

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

    Description uses a specific verb ('Get') and resource ('all purchase orders') from 'Books', clearly conveying a list operation. The word 'all' distinguishes it from the singular sibling 'books_get_purchase_order', and it is clearly a read 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 given on when to use this tool versus alternatives. There is no mention of scenarios where this listing tool is preferred over the singular purchase order retrieval or other list tools, nor any exclusions or 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?

    With no annotations, the description carries the full burden. It only states the action without disclosing side effects, requirements (e.g., invoice existence), or failure behavior. No details about what happens after sending or any state changes.

    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 redundant words. It is front-loaded and easily scannable.

    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 four parameters, the one-sentence description is insufficient. It lacks information about required inputs, email content customization, or potential side effects, making it incomplete for an agent to invoke correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It does not mention any of the four parameters (invoice_id, to_mail_ids, body, subject). While the parameter names are self-explanatory, the description adds no clarity about their roles, optionality, or constraints.

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

    Purpose4/5

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

    The description 'Send an invoice via email' uses a specific verb 'Send' and resource 'invoice' with medium 'email', clearly stating the tool's function. However, it does not explicitly differentiate from sibling tools like books_email_credit_note or books_email_purchase_order, though the resource specificity implies the 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 relative to alternatives such as books_email_credit_note or books_email_purchase_order. There is no mention of prerequisites, target scenarios, or excluded 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 must disclose behavioral traits. It merely says 'Update', which implies mutation, but does not state whether the update is partial or full, whether unspecified fields are preserved, or any other side effects. This is a significant gap for an update operation with 10 parameters.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence with zero filler words. It is appropriately sized for its minimal content, though it could include more detail without becoming verbose.

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

    Completeness1/5

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

    With 10 parameters, no annotations, no output schema, and no parameter descriptions, this bare-minimum description is completely inadequate. It provides no context about what data is returned, whether updates are partial, or any special considerations for updating a Books item.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not explain any parameters. The parameter names in the schema (e.g., sku, rate, is_taxable) are self-explanatory, but the description adds no semantic value beyond what the property names already convey. It fails to compensate for the lack of schema documentation.

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

    Purpose4/5

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

    The description 'Update an existing item in Books' clearly states the action (update) and the resource (item), distinguishing it from sibling tools like books_create_item and books_delete_item. However, it does not explicitly differentiate from other update tools (e.g., books_update_invoice), though the resource scope is clear.

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

    Usage Guidelines3/5

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

    The purpose implies when to use this tool (modifying an existing item), but there is no explicit guidance on when not to use it or mention of alternatives. It relies entirely on the name and the verb 'update' to convey usage context, which is minimally sufficient but not detailed.

    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 must disclose behavioral traits. It simply states 'Update' without explaining partial vs full replacement, required fields, side effects, or return behavior. This is a minimal mutation tool description with no additional context.

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

    Conciseness3/5

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

    The description is a single sentence with no redundancy, which is concise. However, it is too terse for a tool with 22 parameters and nested objects, making it under-specified rather than appropriately sized.

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

    Completeness1/5

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

    With 22 parameters, no annotations, and no output schema, a one-sentence description is severely incomplete. It does not convey update semantics, field applicability, return values, or any operational context, making it wholly inadequate for the tool's complexity.

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

    Parameters1/5

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

    The schema has 22 parameters with 0% description coverage. The description does not mention any parameter names or semantics, failing to compensate for the low coverage. It adds no value over the schema itself.

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

    Purpose5/5

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

    The description clearly states the tool updates an existing purchase order in Books. The verb 'Update' and resource 'purchase order' are specific and distinguish it from sibling tools like books_create_purchase_order and books_delete_purchase_order.

    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 phrase 'Update an existing purchase order' implies use when modifying an existing order, but no explicit guidance or exclusions are provided. It doesn't mention when to prefer this over create/delete or other related 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 available, the description carries the full burden for behavioral disclosure, but it only says 'Update profile permissions.' It does not disclose whether this is a partial or full update, what fields are affected, whether the operation is reversible, or any permission requirements.

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

    Conciseness3/5

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

    The description is a single short sentence, so it is concise in length, but it is so terse that it borders on under-specification. It does not waste words but also does not earn its place by conveying substantive information.

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

    Completeness2/5

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

    Given the lack of annotations, prevalence of nested objects, and no output schema, this minimal description is inadequate. It does not describe the return value, side effects, or any cautionary notes, leaving the agent with insufficient context to confidently invoke the tool.

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

    Parameters3/5

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

    Schema coverage is 100%, but the parameter descriptions are minimal ('ID of the profile', 'Profile data to update'). The description adds no additional semantics beyond the schema, and the nested 'profile_data' object remains vague, yet the baseline for full coverage is 3.

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

    Purpose4/5

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

    The description states a specific action ('Update') on a specific resource ('profile permissions'), which is clear and distinguishes it from sibling tools that update roles or configurations. However, it lacks details on what 'permissions' means in this 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?

    No guidance is provided on when to use this tool versus alternatives like config_update_profile or crm_update_role. The description does not mention prerequisites, context, or exclusions, leaving the agent without decision support.

    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 the full burden of behavioral disclosure. It only states that it performs statistical analysis, but does not indicate whether this is a read-only operation, whether results are returned in a specific format, or if there are side effects. This is insufficient for a tool with no supplemental metadata.

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

    Conciseness4/5

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

    The description is a single, concise sentence that front-loads the primary action and scope. It is efficient and free of fluff, though it is slightly generic and could benefit from a bit more specificity without becoming bloated.

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

    Completeness2/5

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

    Given the tool has 4 parameters, no annotations, and no output schema, the description is too thin. It does not explain what 'statistical analysis' entails (beyond the schema enum), how grouping works, or what the response contains, leaving the agent with an incomplete picture for correct invocation.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description adds minimal semantic value beyond the schema—it broadly mentions 'any field' but does not clarify parameter relationships or provide context for the analysis_type enum. The schema already sufficiently describes each parameter.

    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 uses a specific verb ('Perform statistical analysis') and identifies the resource ('any field in any module'), making the core function clear. However, it does not explicitly differentiate from sibling analysis tools like 'analyze_custom_module' or 'crm_analyze_activity_patterns', so it falls short of 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 does not mention prerequisites, exclusions, or typical scenarios, leaving the agent to infer usage solely from the tool name and schema.

    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 bears full responsibility for disclosing behavioral traits. It does not mention side effects such as whether comments are appended, overwritten, or visible to clients by default. This is a mutation tool with no 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 sentence that efficiently conveys the core action without any filler. It is front-loaded with the verb 'Add' and every word serves a 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 three parameters, no annotations, and no output schema, the description is severely incomplete. It lacks parameter explanations, behavioral details, and any context about how this tool fits with related credit note operations.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description must compensate. It does not explain any of the three parameters (description, creditnote_id, show_comment_to_clients), leaving the agent to infer meaning solely from names and types.

    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 'Add a comment to a credit note' clearly states the action (add) and resource (credit note). It is distinct from the sibling tool 'books_get_credit_note_comments' which retrieves comments, making the purpose unambiguous.

    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, prerequisites, or alternatives. It merely states what it does without any context for decision-making, which falls short of the 'implied usage' benchmark.

    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 responsibility for disclosing behavior. It does not explain what 'print' entails (e.g., generating PDFs, sending to a printer), whether it marks bills as printed, or any required permissions. The ambiguity 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.

    Conciseness4/5

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

    The description is extremely concise, using only four words, and is front-loaded with the core action. It wastes no words, but it omits essential context, which is penalized in other dimensions.

    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?

    The tool has 3 parameters, no output schema, and no annotations, leaving the description as the sole source of behavioral information. It provides only a minimal purpose and fails to explain return values, side effects, or parameter usage, making it incomplete for reliable invocation.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description does not mention any parameters. While the word 'bills' hints at the required bill_ids array, it adds no meaning for orientation or template_id, which the schema leaves to the caller to infer.

    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 ('Print'), the resource ('bills'), and the scope ('bulk'), which distinguishes it from sibling tools like books_get_bill or books_bulk_export_bills. The verb and resource are specific and unambiguous.

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

    Usage 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 does not mention that it is intended for printing multiple bills at once, nor does it contrast with related tools like bulk export or sending invoice emails.

    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?

    The description provides no behavioral details beyond the bare action. It does not mention that creating an estimate is a mutating operation, whether it requires an existing customer, what happens to line items, or what the response contains. With no annotations provided, the description carries the full burden; this one-liner is insufficient for 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 no wasted words. It conveys the essential purpose efficiently. While extremely brief, this dimension rewards economy and there is no redundant or filler 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?

    Given the tool's complexity (9 parameters, nested line_items, no output schema, no annotations), this one-line description is inadequate. It doesn't explain required prerequisites, response behavior, or how estimates fit into the broader Books workflow. The description leaves the agent without critical operational context.

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

    Parameters1/5

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

    The input schema has 9 parameters, but the description provides no parameter explanations. Coverage is 0%, and the description doesn't mention any parameter names, formats, or relationships. It completely fails to compensate for the schema's lack of description.

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

    Purpose5/5

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

    The description clearly states the action ('Create') and the object ('a new estimate'), with the context 'in Books'. This distinguishes it from sibling tools that create invoices, bills, customers, or other records. The verb and resource are specific and immediately understandable.

    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 given on when to use this tool versus alternatives like books_create_invoice or books_convert_estimate_to_invoice. There are no prerequisites, selection criteria, or context notes. The description simply states what it does without any 'when-to-use' information.

    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 responsibility for behavioral disclosure. It states 'Delete' but does not disclose whether the deletion is permanent, if it fails when related records exist, or if any state transitions are involved. The interplay with 'cancel' being a separate sibling tool further underscores the need for more detail.

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

    Conciseness5/5

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

    The description is a single concise sentence that wastes no words. It is front-loaded with the action and resource, making it easy to scan. No filler or redundant phrasing is present.

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

    Completeness3/5

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

    The tool is simple (one parameter, no output schema), so a brief description can be acceptable. However, the description does not address critical context such as whether deletion is reversible, how it relates to 'cancel', or if any restrictions apply. For a straightforward delete, the minimal text is partially complete but leaves notable gaps.

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

    Parameters2/5

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

    The input schema defines a single parameter 'purchase_order_id' with 0% schema description coverage. The description does not mention this parameter at all, leaving the agent to infer that the ID identifies the purchase order to delete. Given the low coverage, the description should have at least stated the parameter's purpose or format.

    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 purchase order from Books' clearly identifies the action (delete) and resource (purchase order), making the purpose unambiguous. However, it does not distinguish from the sibling tool 'books_cancel_purchase_order', which also modifies a purchase order status, so it misses the opportunity to clarify which operation is appropriate for different lifecycle states.

    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 usage guidance is provided. The description does not explain when to use this delete operation versus the similar 'books_cancel_purchase_order' tool, nor does it mention any prerequisites or conditions (e.g., whether the purchase order must be in a certain status). This leaves the agent to guess.

    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 only states 'Get comments for a credit note', which conveys the basic read operation but does not disclose details such as whether comments are returned in any specific order, if pagination is used, or if any permissions are required. It offers minimal insight beyond the tool's name and implied action.

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

    Conciseness5/5

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

    The description is a single concise sentence: 'Get comments for a credit note'. It is front-loaded with the action and target, contains no redundant words, and is appropriately sized for a tool with a single parameter and straightforward purpose.

    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 tool with one parameter and no output schema, the description is minimally adequate. It states the primary function, and the schema covers the input. However, it does not specify what the response contains (e.g., array of comments, fields included), pagination, or error conditions, which might be expected given there is no output schema to fill the gap.

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

    Parameters2/5

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

    The schema has 0% description coverage and one required parameter, creditnote_id. The description mentions 'credit note' but does not explicitly explain that creditnote_id is the identifier needed to fetch comments. While the parameter name is self-explanatory, the description adds no meaningful semantic detail to compensate for the lack of 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 uses the specific verb 'Get' and identifies the resource as 'comments for a credit note', which clearly distinguishes it from sibling tools like books_add_credit_note_comment or books_get_credit_note. However, it does not explicitly mention that the credit note is identified by an ID, though this is implied by the parameter.

    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 does not mention that creditnote_id is required, nor does it differentiate when to use this instead of books_get_credit_note (which might include comments) or other get tools. There are no explicit exclusions or context clues.

    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 supplied, the description carries the full burden of disclosing behavioral traits. 'Add' implies a mutation, but it does not reveal potential side effects, required permissions, persistence behavior, or the outcome of the operation. For a configuration-changing tool, 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.

    Conciseness4/5

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

    The description is a single, concise sentence that is front-loaded and to the point. All words are meaningful, and it avoids unnecessary verbosity. However, it is so brief that it borders on under-specification, preventing a perfect score.

    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 that this is a config mutation tool with no annotations and no output schema, the description is too minimal. It does not explain what an environment is, what happens when one is added, or any implicit consequences. For a tool that alters configuration state, 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 for its two parameters (name and description), so the baseline is 3. The tool description adds no further parameter semantics beyond what the schema already provides, making it neutral.

    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 new environment' clearly states the action (add) and the resource (environment), which distinguishes it from sibling tools like config_switch_environment or config_remove_environment. However, it does not elaborate on what 'environment' means in this context, so it's slightly above average but not fully differentiated.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, scenarios, or why one would add an environment. The description simply states the action without contextualizing it among the many config_* 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, the description carries the full burden of disclosing side effects. It fails to mention that switching environments is a global state change, whether it is persistent, or if it validates the environment name, leaving significant behavioral ambiguity.

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

    Conciseness4/5

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

    The description is a single, clear sentence with no wasted words, which is appropriately concise for a simple tool. However, it is too sparse to convey meaningful context, so it does not reach the level of a well-structured, informative 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 the tool has no annotations, no output schema, and only one parameter, the description should at least mention that valid environment names can be discovered via config_list_environments and that switching has a global effect. The current description provides insufficient context for an agent to use the tool 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?

    The schema fully covers the only parameter (environmentName) with a description, so the baseline is 3. The tool description adds no extra meaning beyond the schema, and no enums or examples are given, but the parameter is straightforward.

    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 ('Switch') and the resource ('environment'), which distinguishes it from the profile switching tool. However, it does not elaborate on what an 'environment' is, making it clear only in the context of sibling tools.

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

    Usage Guidelines2/5

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

    The description offers no guidance on when to use this tool versus alternatives, such as config_list_environments to see available options or config_switch_profile for profile changes. Users are left to infer the appropriate 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?

    With no annotations, the description bears the full burden of behavioral disclosure. It merely states 'update' without mentioning whether the profile must exist, what happens on success/failure, whether it's idempotent, or any side effects. This is a significant gap 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.

    Conciseness4/5

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

    The description is a single succinct sentence, front-loaded with the verb. It contains no fluff or repetition, making it appropriately concise for a simple action, though it could have added more context without becoming verbose.

    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 nested updates object and no output schema, the description is too sparse. It does not clarify what a 'profile' refers to in the config context, the meaning of the updates fields, or any prerequisites. The minimal text is insufficient for an agent to confidently select and invoke 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?

    The schema provides descriptions for the top-level parameters (profileName and updates), yielding high coverage. The description adds no extra semantic meaning beyond what the schema provides, but the baseline of 3 is appropriate given the schema's clarity.

    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 'Update an existing profile' clearly states the action and resource. It is specific enough to distinguish from other config tools like add/remove/list, but it doesn't explicitly mention that it's a config profile vs a CRM profile, so it's not fully differentiated from siblings like crm_update_profile.

    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 crm_update_profile or config_add_profile. It only states the basic action, leaving the agent to infer context from the tool name and parameter schema.

    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 must carry the full burden of behavioral disclosure. It says 'analyze,' implying read-only, but doesn't state whether admin permissions are required, what kind of output is produced, or if any side effects exist. This leaves critical unknowns for the agent.

    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 one short sentence with no waste or redundancy, making it efficient. It could have added more substance, but brevity is not penalized here.

    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?

    This is a one-param analysis tool with no output schema or annotations. The description only states the general purpose and omits what the analysis includes, what the return format is, and how 'accessibility' is determined, leaving significant gaps for an 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 schema has 100% coverage for the single parameter with its description 'Name of the module,' so the tool description adds no extra meaning. Baseline 3 is appropriate since the schema already documents the parameter, but no additional insight about valid values or formatting is given.

    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 uses 'Analyze' as the verb and names the resource 'module permissions and accessibility,' which clearly indicates the tool's function. It doesn't explicitly distinguish from sibling analyze tools, but the resource-specific language sets it apart enough.

    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 crm_get_module_details or crm_analyze_activity_patterns. The description gives no context on prerequisites, use cases, 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, the description carries the full burden. 'Delete a role' implies mutation but does not disclose whether deletion is permanent, requires special permissions, or has cascading effects on related entities, leaving the agent without critical 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.

    Conciseness4/5

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

    The description is extremely concise and front-loaded with no wasted words. While it is minimal, it efficiently states the primary purpose, earning a high 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?

    For a destructive operation with no annotations and no output schema, the description is incomplete. It fails to mention return behavior, success/failure indicators, or any side effects, leaving significant gaps 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 schema fully covers the single parameter 'role_id' with a description. The tool description adds nothing beyond the schema, so the baseline of 3 applies since schema coverage is 100%.

    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 role' clearly states the action (delete) and the resource (role). It distinguishes from sibling tools like crm_get_all_roles, crm_create_role, and crm_update_role by the verb, though it doesn't explicitly differentiate into a usage 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?

    No guidance is provided on when to use this tool versus alternatives, prerequisites, or any conditions for deletion. The description is only the action itself, with no 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 the full burden for safety and behavioral disclosure. It only states 'Get', implying a read operation, but does not disclose potential large payloads, pagination, errors, or any side effects. The description adds minimal behavioral context beyond the name.

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

    Conciseness5/5

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

    The description is a single, concise sentence that front-loads the main purpose. Every word contributes to the core meaning without any fluff or 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?

    Given there is no output schema and no annotations, the description is too brief to be complete. It does not explain what 'disposition data' is, how module_name affects results, what the return structure looks like, or why include_dependent_fields matters. Users cannot fully anticipate the tool's behavior.

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

    Parameters3/5

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

    The input schema has 100% description coverage, so the baseline is 3. Both parameters include descriptions in the schema. The description does not add any extra meaning to the parameters beyond what the schema already provides.

    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 uses a specific verb ('Get') and resource ('complete disposition data'), and mentions inclusion of Global Set values and dependent fields, providing some scope. However, it does not differentiate from similar siblings like crm_get_global_set_values or crm_get_dependent_fields, and 'disposition data' is jargon that is not defined.

    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 given on when to use this tool versus alternatives. It does not mention whether it should be used instead of crm_get_global_set_values, crm_get_dependent_fields, or crm_extract_complete_picklist_hierarchy for specific use cases. The context of use is only implied by the name.

    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 must carry the full burden. 'Get' implies a read-only operation, but the description does not explicitly state that it has no side effects, requires no special permissions, or returns a snapshot. It offers no detail about what 'detailed metadata' includes or whether the response is exhaustive.

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

    Conciseness5/5

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

    The description is a single, well-formed sentence that front-loads the action and resource. It contains no redundant words or filler, scoring maximum on 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?

    The tool is simple (one parameter, no output schema), but the description leaves significant ambiguity about what constitutes 'detailed metadata' and how it differs from several sibling tools. Without an output schema or richer description, an agent cannot reliably determine if this tool returns fields, layouts, relationships, or just basic module 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 coverage is 100% and the only parameter (module_name) is documented in the schema as 'Name of the module'. The description does not add any extra meaning beyond what the schema already provides, so the baseline of 3 applies.

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

    Purpose4/5

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

    The description clearly states the tool retrieves detailed metadata for a specific module, using a specific verb ('Get') and resource ('detailed metadata for a specific module'). However, 'detailed metadata' is vague and does not distinguish this tool from similar siblings like crm_get_module_fields or crm_get_metadata_summary, so it earns a 4 rather than 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 does not mention that this is the go-to tool for a single module's metadata, nor does it exclude cases where crm_get_all_modules or crm_get_complete_module_configuration would be more 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?

    No annotations are provided, so the description carries the full burden. It does not disclose pagination, filtering capabilities, or potential performance implications. The phrase 'all tasks' may be misleading given the pagination parameters.

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

    Conciseness5/5

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

    The description is a single concise sentence with no wasted words, front-loading the core purpose. However, it is terse to the point of under-specification, but that is not a conciseness penalty.

    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?

    With 6 parameters, no annotations, and no output schema, a single sentence is insufficient. The description does not explain pagination, filtering, sorting, or expected return structure, making it incomplete for effective tool invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description adds no meaning to the 6 parameters. It does not explain the purpose or formatting of page, status, sort_by, due_date, per_page, or sort_order.

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

    Purpose5/5

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

    The description uses a specific verb 'Get' and identifies the resource as 'all tasks from CRM', clearly distinguishing it from sibling tools like crm_get_events or crm_create_task. The scope is 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 guidance is given on when to use this tool versus alternatives. It does not mention that this is for listing/filtering tasks, nor any exclusions or context like pagination. The description is purely functional.

    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 only states the high-level action and does not mention how the search is scoped (e.g., by module), what happens with include_custom_fields, or what kind of results are returned. There is no contradiction with annotations since none exist, but transparency is minimal.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that immediately conveys the tool's function. It includes parenthetical examples that are useful without being verbose. Every word earns its place, making it an example of concise writing.

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

    Completeness2/5

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

    Despite having a simple parameter set, the tool lacks an output schema and the description does not explain what the search returns (e.g., field names, labels, metadata). It also lacks usage guidance or behavioral context, leaving the agent to guess the tool's full capabilities. More details about result structure or search scope would be necessary for 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 parameters are already well-documented. The description adds only examples of 'concept' values that duplicate the schema's own examples (e.g., 'disposition', 'status', 'reason'). It does not provide additional semantic meaning beyond the schema.

    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: 'Semantic field search - find fields related to a concept' with concrete examples like 'disposition', 'status', 'reason'. It uses a specific verb ('find') and resource ('fields related to a concept'), and the term 'semantic' distinguishes it from literal search tools like crm_search_fields, though not explicitly.

    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 given on when to use this tool versus alternatives such as crm_search_fields or crm_smart_field_discovery. There is no mention of scenarios where semantic search is preferable or exclusions, leaving the agent to infer usage from the name and description alone.

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

  • 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 disclosing behavioral traits. It merely states 'Update layout configuration' without indicating whether this is a destructive operation, if it requires specific permissions, or what happens to existing layout data. This is insufficient 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 short sentence, 'Update layout configuration', which is extremely concise and front-loads the action verb. There is no 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?

    This tool has two required parameters including a nested object (layout_data) and no output schema or annotations, so the description must compensate. It does not explain the structure of layout_data, what constitutes a valid update, or provide any operational context, leaving a significant gap.

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

    Parameters3/5

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

    The input schema provides descriptions for both parameters (layout_id and layout_data), giving 100% coverage. The description adds no extra meaning beyond what the schema already states, so it meets the baseline but doesn't exceed it.

    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 uses the imperative verb 'Update' with the resource 'layout configuration', clearly indicating the tool's function. While there are sibling tools like crm_update_profile and crm_update_role, the mention of 'layout' distinguishes it from those, though it doesn't elaborate on what 'layout configuration' encompasses.

    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 is no mention of prerequisites, such as fetching existing layouts first with crm_get_layouts, or scenarios where updating a profile or role would be more 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?

    The schema already provides destructiveHint: true, but the description adds no additional behavioral context beyond the verb 'Delete'. It does not disclose irreversibility, cascading deletions, permission requirements, or any side effects. The description simply restates what the hint already implies, offering no new value.

    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 unnecessary words. It is appropriately sized for a straightforward delete operation and front-loads the essential action, making it 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?

    For a destructive operation, important context is missing: whether the deletion is permanent, whether it requires special permissions, or whether it is blocked if related records exist. The description, combined with a sparse schema (one param, no output schema), leaves significant gaps for an agent to fully understand the operation's implications.

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

    Parameters2/5

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

    Schema coverage is 0% for the customer_id parameter, and the description does not explain its format, purpose, or how to obtain it. Although the parameter name is self-explanatory, the description fails to compensate for the missing schema description, which is required at this low coverage level.

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

    Purpose5/5

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

    The description uses the explicit verb 'Delete' with the resource 'customer' and system 'Books', making the action and target unmistakable. It clearly distinguishes from sibling tools like books_delete_item or books_delete_invoice, and complements the customer lifecycle tools (create/get/update).

    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 does not mention prerequisites, such as whether the customer must have no existing invoices or orders, nor does it suggest checking the get/update siblings first. The single sentence only states the action with no 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?

    The annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=true, so the agent knows this is a destructive, idempotent operation. However, the description adds no additional behavioral context beyond the annotation hints, such as whether deletion is permanent, what happens to associated records (payments, estimates), or any authorization requirements.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence: 'Delete an invoice from Books'. It is concise, direct, and uses no filler words. Every word contributes to the purpose, making it an efficient and well-structured 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?

    While the tool is simple (one parameter, no output schema), the accounting context implies potential side effects (e.g., deleting an invoice that has payments, credits, or linked estimates). The description provides no information about these consequences, prerequisites, or reversibility. The annotations cover the high-level destructive nature, but the description lacks the depth needed to fully understand the operation's impact.

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

    Parameters2/5

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

    The schema has one parameter, invoice_id (type string), with 0% schema description coverage. The description does not mention the parameter or clarify its format, requiredness (though required is in schema), or any constraints. The parameter name is somewhat self-explanatory, but because the description fails to compensate for the missing schema descriptions, it adds minimal semantic value beyond the schema itself.

    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 ('Delete') and the resource ('an invoice from Books'), using a specific verb and resource pair. It distinguishes the tool from sibling tools like 'books_get_invoice', 'books_create_invoice', and 'books_update_invoice' by making the deletion intent unambiguous.

    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 'books_update_invoice' or 'books_void_credit_note'. It does not mention prerequisites, exclusions, or typical use cases. The implied usage is limited to 'delete an invoice', but no explicit context or comparative guidance is given.

    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 the full burden of behavioral disclosure but only states 'Get an invoice as PDF'. It does not reveal the return format (e.g., binary, URL, base64), authentication needs, error conditions, or whether it is a read-only operation.

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

    Conciseness5/5

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

    The description is a single concise sentence that is front-loaded with the key action and resource. There is no unnecessary information; 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?

    This is a simple tool with one parameter and no output schema, but the description is still incomplete. It does not describe what the returned PDF looks like (e.g., file path, binary, link), any prerequisites (e.g., invoice existence), or how errors are handled, leaving significant gaps for an agent.

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

    Parameters2/5

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

    The schema has one required parameter, invoice_id, but the description does not mention it at all. With schema description coverage at 0%, the description should compensate, but it fails to explain what invoice_id is or how it relates to the PDF retrieval.

    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 'Get an invoice as PDF' clearly states a specific action (get), a resource (invoice), and a format (PDF), distinguishing it from sibling tools like books_get_invoice that return invoice data rather than a PDF.

    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 usage guidance is provided. The description does not mention when to choose this tool over alternatives such as books_get_invoice or books_get_invoices, nor any prerequisites like the invoice 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 present, so the description carries the full burden. It only says 'Mark a purchase order as billed' without disclosing side effects, permissions, reversibility, or what happens to the purchase order status. This is under-specified for a mutating action.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no unnecessary words. It is maximally concise while conveying the core action.

    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 complex domain of purchase orders (with many sibling lifecycle tools), the description is too thin. It does not explain what 'billed' means, whether this triggers related actions (e.g., bill creation), or any prerequisites. This is insufficient for a mutating tool with no output schema.

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

    Parameters2/5

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

    The schema has 0% description coverage; the description does not mention the 'purchase_order_id' parameter. While the parameter name is self-explanatory, the description adds no meaning, constraints, or format details, leaving the agent to infer from the name alone.

    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: 'Mark a purchase order as billed', which is a specific verb+resource. It distinguishes this tool from siblings like mark as open, cancel, or approve by indicating a specific state change.

    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 or what conditions should be met (e.g., purchase order must be open). It does not compare to alternatives or mention exclusions, 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, the description carries the full burden of behavioral disclosure. It does not state whether the export is read-only, whether it writes a file or outputs content, or if any configuration is altered. The tool could have side effects (e.g., creating a .env file), but this is not communicated.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence with no wasted words. It is efficient but slightly under-specified; a bit more detail would improve clarity without harming conciseness. Still, it is far from tautological or overly verbose.

    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?

    The tool has no output schema and no annotations, so the description should compensate by explaining return values or output behavior. It does not specify what the tool returns (e.g., .env content as a string) or whether it writes to a file. For a simple tool, this missing context leaves the agent guessing.

    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% since the only parameter, profileName, has a descriptive explanation. The tool description adds no extra parameter context beyond the schema, but the schema already adequately documents the parameter, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description clearly states the action ('Export'), the resource ('current configuration'), and the output format ('.env'). It is specific and distinguishable from sibling configuration tools like config_get_status or config_switch_profile, which serve different purposes.

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

    Usage 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. It does not mention prerequisites, such as having an active profile or a target environment, nor does it note scenarios where another config tool would be preferable. The description only states what it does, not when to use it.

    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, and the description does not disclose behavioral details such as read-only nature, potential for expensive analysis, or what happens with invalid module names. It only states what the tool identifies, lacking transparency about side effects or requirements.

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

    Conciseness5/5

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

    The description is exceptionally concise, consisting of two clear sentences with no filler or redundant information. Every word contributes to meaning.

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

    Completeness3/5

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

    With only one parameter and no output schema, the description provides enough to understand the tool's purpose but omits expected output format or how the analysis results are presented. It is adequate but leaves gaps for a tool that likely returns complex relationship data.

    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 fully documents the only parameter module_name with a clear description. The description adds no additional meaning beyond the schema, so the baseline of 3 applies given the 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 tool analyzes picklist dependencies and relationships in a module, and specifies outputs like field dependencies, picklist chains, and relationship patterns. However, it does not differentiate from sibling tools like crm_get_dependent_fields or crm_get_field_relationships, making the purpose clear but not uniquely scoped.

    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 does not mention preferred scenarios, exclude cases, or reference sibling tools, leaving the user to infer appropriate 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 available, the description carries the full burden for behavioral disclosure. It only says 'comprehensive metadata summary' without stating what data is included, whether the operation is read-only, or any pagination or formatting details. This is insufficient for a tool that returns a complex summary.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that clearly communicates the core purpose without any fluff or redundancy. It is appropriately sized for a tool with no 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?

    Despite being a simple tool with no parameters and no output schema, the description does not explain what the metadata summary actually contains or how to interpret the result. Given the lack of annotations and output schema, the description should provide more context, but it remains vague.

    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 tool has zero parameters, and the schema coverage is trivially 100%. Per the rubric, a baseline of 4 is appropriate when there are no parameters, and the description does not need to explain parameter semantics.

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

    Purpose4/5

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

    The description clearly states the action ('Get') and the resource ('comprehensive metadata summary for the entire CRM'). It is specific enough to distinguish from detail-oriented siblings like crm_get_module_details, though it does not explicitly differentiate from crm_get_all_modules or similar summary tools.

    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 alternative metadata tools. The description does not mention exclusions, prerequisites, or scenarios where a different tool would be more 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?

    No annotations are provided, so the description carries full burden. It only mentions 'optimized response format to reduce tokens and iterations,' which is vague and does not disclose concrete behaviors like read-only nature, response structure, or limitations. This is insufficient for an unannotated tool.

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

    Conciseness4/5

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

    The description is a single sentence with no wasted words, but it starts with a redundant label 'Smart field discovery' that mirrors the tool name. It is appropriately sized but could use more substance.

    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?

    With no output schema and no annotations, the description should clarify response format and usage context. It fails to explain what 'optimized response format' entails or how it differs from similar field-search tools, leaving a significant gap.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description adds no parameter-specific semantics beyond what the schema already provides, such as default values or intent 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 states it 'finds fields based on intent,' providing a specific verb and resource. However, it does not differentiate from sibling tools like crm_search_fields or crm_semantic_field_search, so it lacks 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 Guidelines3/5

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

    The description implies usage for intent-based field discovery and mentions token-efficiency, but does not provide explicit alternatives or when-not conditions. No guidance is given on when to choose this over other CRM field 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 responsibility for behavioral disclosure. It only states the basic retrieval action without mentioning side effects, required permissions, error behavior, or return format. For a get operation this is minimal but lacks useful 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, focused sentence of nine words with no redundant information. Every word contributes to the purpose statement, 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.

    Completeness4/5

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

    For a simple get-by-ID tool with one parameter and no output schema, the description covers the core action and parameter adequately. It is reasonably complete given the low complexity, though it omits potential error handling and return value details.

    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 single parameter 'invoice_id' is only documented as a string in the schema, with 0% schema coverage. The description's 'by ID' clarifies that the parameter is the invoice identifier, adding some meaning, but it does not specify format, length, or how to obtain it.

    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'), the resource ('a specific invoice from Books'), and the method ('by ID'). It distinguishes itself from list-style siblings like books_get_invoices by specifying 'specific invoice', though it does not explicitly differentiate from books_get_invoice_pdf.

    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 given on when to use this tool versus alternatives. It does not mention using books_get_invoices for listing or books_get_invoice_pdf for PDF retrieval, leaving the agent to infer usage context from the sibling names.

    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 only states that a profile is added, but does not mention whether duplicate names are allowed, credentials are validated, the profile becomes active, or any side effects on the current environment. Security-sensitive fields like clientSecret and refreshToken are not flagged.

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

    Conciseness5/5

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

    The description is a single, concise sentence that front-loads the verb and resource. It contains no filler words, and every word contributes to the core meaning.

    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 9 parameters (7 required), no output schema, and no annotations, the description is far too sparse. It does not explain the concept of a 'profile' or 'environment', what happens after adding, or how to verify the result. Agents are left without critical context for correct invocation and follow-up.

    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?

    Input schema descriptions cover 100% of parameters, so the baseline is 3. The description itself adds no meaning beyond the schema; it does not explain how the parameters relate to each other or any defaults, but the schema already handles field-level semantics.

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

    Purpose5/5

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

    The description uses a specific verb 'Add' and identifies the resource 'profile' within the 'current environment', clearly distinguishing it from sibling tools like config_update_profile, config_remove_profile, and config_switch_profile. There is no ambiguity about the action performed.

    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 gives no guidance on when to use this tool versus alternatives such as config_update_profile or config_switch_profile. It lacks prerequisites, exclusions, or post-conditions, so an agent receives no decision support for selecting this tool over 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?

    The description adds no behavioral context beyond the name. The schema's destructiveHint=true already signals destructiveness, but the description does not mention consequences, irreversibility, or any side effects, which is a gap.

    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 an efficient single sentence with no redundant information. It is concise and appropriately sized for a simple one-parameter tool.

    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 tool with one parameter, no output schema, and a destructive hint in the schema, the combination of description and annotations is minimally adequate. However, the description itself is sparse and does not add any additional context such as prerequisites or side 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 coverage is 100% for the single parameter 'name', which is fully described in the schema. Thus, the description is not required to add parameter details, and a 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 'Remove an environment' uses a specific verb and resource, clearly distinguishing it from sibling tools like config_add_environment and config_switch_environment. It accurately conveys what the tool does.

    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, nor any prerequisites or exclusions. The description simply restates the action without contextual 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 the full burden of behavioral disclosure. It does not mention potential response format, ordering, permissions, rate limits, or any side effects. As a read-only tool, this is less critical, but the absence of any behavioral context leaves the agent uncertain about what to expect.

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

    Conciseness5/5

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

    The description is a single, concise sentence that directly states the tool's purpose with no redundant information. It is front-loaded and efficient, every word adds value.

    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 (no parameters) and lack of an output schema, the description is minimal but adequate for a simple retrieval. However, it does not specify the return format or any additional context (e.g., whether it returns currency codes, names, or both), which would be helpful for an agent to interpret the result correctly.

    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 tool has zero parameters, and the schema confirms this with 100% coverage. The description correctly implies there are no inputs. Since there are no parameters to document, the baseline score of 4 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 uses a specific verb 'Get' and resource 'all currencies', making the purpose clear. It is distinct from sibling tools, as no other tool references currencies. However, it lacks detail on what 'currencies' entails (e.g., symbols, codes) and could be more specific about the scope (e.g., organization-wide).

    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, nor does it mention any prerequisites or exclusion criteria. It simply states the action without contextualizing its use case, leaving the agent to infer when this is the appropriate choice.

    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 only says 'Get fields' and does not disclose whether the operation is read-only, what the response format looks like, if pagination or limits apply, or any other behavioral characteristics. This is a significant gap 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.

    Conciseness4/5

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

    The description is concise, consisting of two sentences totaling about 20 words. The first sentence front-loads the core purpose, and the second adds context. However, the second sentence ('Useful for understanding field relationships and dependencies') is somewhat generic and could be more specific, preventing a perfect score.

    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 tool with only 2 parameters and no output schema or annotations, the description is minimally adequate. It states the purpose but does not hint at the return structure, whether it returns a list of field names or full field details, or any limitations. Given the absence of output schema, this feels incomplete for an agent trying to interpret the result, but it is not critically deficient.

    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 module_name and field_name having clear descriptions. The tool description does not add any extra meaning beyond what the schema already states ('in a module' and 'specific field' are implicit in the parameter names/descriptions). The baseline of 3 applies because the schema fully documents the parameters.

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

    Purpose4/5

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

    The description clearly states the tool's function: 'Get fields that depend on a specific field in a module.' This identifies a specific verb and resource, and the scope ('depend on a specific field') distinguishes it from broader field-related tools. However, it does not explicitly differentiate from sibling tools like crm_get_field_relationships or analyze_module_field, so it stops short of a 5.

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

    Usage Guidelines3/5

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

    The description adds 'Useful for understanding field relationships and dependencies,' which gives some context for when to use it. However, it does not provide explicit when-to-use versus alternatives, nor any exclusions or prerequisites. It implies usage but lacks direct comparison with sibling tools, so it earns a 3.

    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 the full burden of behavioral disclosure, but only says 'get' and 'extracting'. It does not disclose whether the operation is read-only, what the return structure looks like, or how include_metadata affects results. This leaves significant ambiguity for an agent.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence that efficiently conveys the core action and scope. The phrase 'specifically for extracting complete disposition data' is a bit redundant with the tool's purpose but does not add meaningful bloat.

    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?

    Basic invocation is covered by the schema and short description, but the tool lacks an output schema and the description omits key context like what 'complete disposition data' means, whether metadata is included by default, and how this differs from sibling disposition-related tools. This leaves gaps for an agent deciding between 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?

    The input schema already provides full descriptions for both parameters, including the example 'Disposition' for global_set_name and the default false for include_metadata. The description's reference to 'by name' adds little beyond the schema, so it stays at the schema-driven baseline of 3.

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

    Purpose4/5

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

    The description clearly states the verb 'Get' and resource 'Global Set values by name', and narrows scope with 'specifically for extracting complete disposition data'. This distinguishes it from generic getters, though the sibling crm_get_complete_disposition_data suggests potential overlap, preventing a 5.

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

    Usage Guidelines3/5

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

    The phrase 'specifically for extracting complete disposition data' implies intended usage, but there is no explicit when-to-use guidance or mention of alternatives. The description does not explain when to prefer this tool over crm_get_complete_disposition_data or crm_get_picklist_values.

    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 must fully disclose behavior. It states 'analyze' and 'statistical breakdown' but does not explicitly say the operation is read-only, describe the output format, or mention any side effects or limitations. The behavioral details are lacking.

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

    Conciseness4/5

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

    The description is concise, with a clear first sentence and a useful workflow line. It is front-loaded and free of fluff, though it could be slightly more compact by removing the 'Perfect for' clause. Still, it earns a 4 for structure and efficiency.

    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 (9 parameters), lack of output schema, and the presence of a similar sibling, the description only provides a high-level purpose and workflow. It omits critical details such as the return structure, how pagination is handled, and how it differs from analyze_module_field. This makes it incomplete for an agent to use reliably.

    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 78%, so the schema already documents most parameters. The description adds minimal extra parameter context beyond the schema, so a baseline of 3 is appropriate. It does not go into specifics about how breakdown_field or numeric_field interact.

    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 analyzes any CRM module with a statistical breakdown by field values, and lists use cases like generating reports and identifying patterns. However, it does not distinguish itself from the similarly named sibling 'analyze_module_field', so it stops 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 Guidelines4/5

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

    The description provides an explicit workflow: first use crm_get_all_modules, then get_custom_module_records, and finally analyze_custom_module. This gives clear context on when to use the tool. It does not mention any exclusions or alternatives, but the workflow is strong enough to warrant a 4.

    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 present, so the description carries the full burden. It states the destructive action ('Remove') but does not disclose whether removal is permanent, whether it affects the active profile, or what happens if the profile is in use. This is a meaningful gap 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 clear sentence with no wasted words. It conveys the action, target, and scope efficiently.

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

    Completeness3/5

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

    Given the tool's simplicity (one parameter, schema coverage 100%, no output schema), the description is minimal but adequate. However, for a destructive operation, additional context about side effects or prerequisites would improve completeness.

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

    Parameters3/5

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

    The input schema already describes profileName as 'Name of the profile to remove' with 100% coverage. The description adds no additional meaning beyond the schema, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description uses a specific verb ('Remove') and resource ('profile') with clear scope ('from the current environment'). It clearly distinguishes itself from sibling tools like config_remove_environment and config_add_profile/update.

    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 gives no guidance on when to use this tool versus alternatives such as config_remove_environment or config_switch_profile. It does not mention prerequisites, caveats, or conditions that would make it the appropriate choice.

    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 present, so the description carries the full burden. It does not disclose output format, whether dependencies are direct or transitive, performance implications for large modules, or any permissions needed. The claim of 'comprehensive analysis' is a promise but not a behavioral disclosure.

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

    Conciseness3/5

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

    The first sentence is clear and front-loaded, but the second sentence, 'Provides comprehensive analysis of field connections,' largely repeats the first and adds little value. It could be one sentence, making each word count.

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

    Completeness3/5

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

    The tool is simple with one parameter and no output schema. The description conveys the core purpose, but given no output schema, it would benefit from describing what the response contains or how relationships are represented. It is adequate but leaves 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?

    The schema description for module_name is 'Name of the module' and coverage is 100%. The tool description adds no extra semantics beyond the schema, such as acceptable formats or examples, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description clearly states the tool gets all field relationships and dependencies in a module, with a specific verb and resource. It distinguishes itself from sibling tools like crm_get_dependent_fields by emphasizing 'all' and 'comprehensive analysis'.

    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 purpose implies when to use it (when you need field relationship analysis), but it does not explicitly mention alternatives or when-not-to-use scenarios. No exclusion or comparison to related tools like crm_analyze_picklist_dependencies 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?

    With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states 'Get a specific credit note', leaving out critical behaviors such as return format, error handling (e.g., not found), and the read-only nature (which is obvious by 'get' but not explicitly stated). The lack of any caveats or response details makes this 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 concise sentence that is front-loaded with the action and resource. It contains no unnecessary words or filler, making it highly 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 tool with no annotations and no output schema, the description needs to provide more context about the expected return value and possible edge cases. It only states the action, without explaining what the agent receives or how to interpret the response. The simplicity of the tool mitigates this somewhat, but the absence of return and error information makes it 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 shows 'creditnote_id' as a required string, and the description's phrase 'by ID' clarifies that this parameter identifies which credit note to fetch. While the property name is self-explanatory, the description does add the semantic context that the ID corresponds to a credit note within the Books module, providing some meaning beyond the raw schema.

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

    Purpose5/5

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

    The description clearly states it retrieves a single credit note by its ID, using the verb 'Get' and specifying the resource 'specific credit note' and scope 'by ID'. This distinguishes it from sibling tools like 'books_get_credit_notes' (which likely lists credit notes) and other get-by-ID tools.

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

    Usage Guidelines3/5

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

    The description implies usage when a specific credit note ID is known and the full record is needed, but it does not explicitly mention alternatives or exclusions. There is no direct guidance on when to prefer this over the plural credit note listing tool, so it remains at the implied level.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It adds useful behavioral context by warning about token limits and recommending pagination strategies, and it explicitly advises using smaller per_page values for error recovery. The 'Get' verb implies a read-only operation, which is appropriate for a listing tool. While it does not explicitly state 'read-only' or mention auth requirements, it goes beyond the minimal by discussing response-size limitations and recovery tactics.

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

    Conciseness3/5

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

    The description is short and well-structured with clear section labels (Workflow Starter, Next Steps, Pagination, Error Recovery). However, the Next Steps section contains inaccurate tool names, meaning that portion does not 'earn its place' and actively misleads. The structure is good but the content reliability issue prevents a higher score.

    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 no output schema and no annotations, the description provides useful pagination and error-handling context. However, the core workflow guidance (which is a headline feature of the description) is flawed due to incorrect tool references. This makes the description incomplete for agents relying on it to navigate the full discovery workflow, so a score of 3 is appropriate.

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

    Parameters4/5

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

    The schema already covers 100% of the parameters, giving baseline of 3. The description adds value by explaining how to use page and per_page to limit response size and avoid token limits, and offers concrete troubleshooting advice (try 10-20). This semantic guidance goes beyond what the schema provides, so a score of 4 is warranted.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Get all CRM modules with metadata.' It uses a specific verb and resource, and the name 'crm_get_all_modules' aligns with the description. It is distinguishable from siblings like crm_get_module_details (which targets a specific module) and crm_get_module_fields (which targets fields), so purpose clarity is excellent.

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

    Usage Guidelines1/5

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

    While the description labels this as a 'WORKFLOW STARTER' and provides 'Next Steps', it references tools that do not exist in the sibling list: 'crm_get_fields' and 'crm_validate_criteria' are not among the provided sibling tools. This is misleading and could cause the agent to attempt invoking nonexistent tools, making the usage guidance not only unhelpful but actively harmful. No when-not-to-use guidance is given either.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses that pagination and filtering are used to avoid large responses, which is a behavioral trait. However, it does not mention authorization requirements, error handling, or the nature of the response (e.g., field metadata structure). The disclosure is minimal but not misleading.

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

    Conciseness5/5

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

    The description is a single sentence that conveys the core purpose and key features without any unnecessary words. It is well-structured 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?

    For a read-only listing tool with five documented parameters and no output schema, the description is adequate but sparse. It could benefit from mentioning what the response contains (e.g., field names, types, labels) or any limitations, but given the schema coverage and simple purpose, it is minimally viable.

    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 each parameter already has a clear description (page, per_page, field_type, module_name, search_term). The tool description adds no additional parameter semantics beyond the generic mention of pagination and filtering. Baseline 3 is appropriate because the schema handles the burden.

    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 (fields for a module), and mentions pagination and filtering which are key features. It does not explicitly distinguish from sibling tools like crm_get_picklist_fields or crm_get_field_details, but the specificity of 'fields for a module' is sufficient for general understanding.

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

    Usage Guidelines3/5

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

    The description implies usage when you need a paginated/filtered list of module fields to avoid large responses, but it does not provide explicit when-to-use vs alternatives, such as when to use crm_get_picklist_fields for picklists-only or crm_get_field_details for a single field. The guidance is inferred rather than explicit.

    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 only says 'Get' which implies a read operation, but it does not mention what happens if the bill is not found, the return format, or any error behavior. This goes no further than the basic verb.

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

    Conciseness5/5

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

    The description is a single, concise sentence that front-loads the verb and resource. It is appropriately sized with no wasted words.

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

    Completeness4/5

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

    For a simple read tool with one param and no output schema, the description conveys the core operation. It does not explicitly describe the return value, but 'Get a specific bill' naturally implies returning the bill object. Given the low complexity, this is largely complete, though a note on return format could push it higher.

    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 a single required 'bill_id' with no description, and schema description coverage is 0%. The description's phrase 'by ID' clarifies that 'bill_id' is the unique identifier for the bill, mapping the parameter to its purpose. Given the simplicity of the single parameter, this is adequate but not highly detailed.

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

    Purpose5/5

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

    The description uses the specific verb 'Get' with the resource 'specific bill from Books' and the method 'by ID', clearly distinguishing this single-record retrieval from the sibling tool 'books_get_bills' which likely lists bills. It states exactly what the tool does.

    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 use when a specific bill ID is known and a single bill is needed, but it does not explicitly mention when not to use it or point to alternatives like 'books_get_bills' for listing. There is no exclusionary guidance.

    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 must disclose behavioral traits. It states that switching occurs but does not mention persistence, side effects, whether the profile must exist, or what happens if the switch fails. For a state-changing operation, 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, compact sentence with a clear front-loaded verb and no redundant words. Every word contributes to comprehension.

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

    Completeness4/5

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

    For a simple tool with one parameter and no output schema, the description provides useful context by indicating 'within the current environment'. It is adequate for basic invocation but lacks details about available profiles or behavioral consequences, which prevents a higher score.

    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 already describes profileName as 'Name of the profile to switch to' with 100% coverage. The tool description adds no extra meaning to the parameter, 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 ('Switch') and resource ('profile'), and scopes it to 'within the current environment'. This distinguishes it from sibling tools like config_switch_environment and config_update_profile, making the purpose unambiguous.

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

    Usage Guidelines3/5

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

    The description implies usage by context but provides no explicit when-to-use/when-not-to-use guidance. It does not mention prerequisites such as listing available profiles (config_list_profiles) or how it differs from switching environments, leaving the agent to infer.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden of behavioral disclosure. It adds useful context about error recovery (e.g., checking if module supports relationships) and hints that the operation returns related lists. However, it does not mention permissions, return format, pagination, or potential side effects beyond the read implication.

    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 bolded sections (Prerequisites, Next Steps, Common Pattern, Error Recovery) and front-loaded with the primary purpose. Some redundancy exists between 'Next Steps' and 'Common Pattern', but each section adds useful guidance without excessive verbosity.

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

    Completeness3/5

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

    No output schema exists, so the description should explain return expectations. It mentions 'showing relationships with other modules' but does not detail the structure of related lists. Error recovery and workflow guidance enhance completeness, but the lack of explicit output format or permission requirements leaves 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?

    The schema fully covers the single parameter module_name with a basic description. The tool description adds that module_name should be verified via crm_get_all_modules, providing operational context beyond the schema. No enums or complex structure, so baseline 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 retrieves related lists for a module, with a specific verb 'Get' and resource 'related lists for a module'. It distinguishes itself from siblings like crm_get_module_details and crm_get_field_relationships by focusing on module-to-module relationships, but does not explicitly contrast with those alternatives.

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

    Usage Guidelines4/5

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

    The description provides explicit prerequisites (use crm_get_all_modules to verify module_name) and a common pattern showing when this tool fits in a broader workflow. It lacks explicit 'when not to use' or alternative tool exclusions, but gives clear contextual cues for adoption.

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

  • Behavior3/5

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

    The input schema includes readOnlyHint and idempotentHint, which already convey that the operation is safe and idempotent. The description 'Get a specific item' is consistent with these annotations but provides no additional behavioral details such as error handling, response format, or whether the item is returned in full.

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

    Conciseness5/5

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

    A single, concise sentence of seven words that front-loads the action and resource. Every word earns its place, and there is no filler or repetition of schema details.

    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 get-by-ID tool, the description is adequate but minimal. It doesn't specify what the response contains or how missing IDs are handled, which would be helpful given no output schema. The presence of readOnlyHint and idempotentHint reduces safety concerns, but the description could have added a bit more context about the returned item details.

    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 0%, so the description must compensate. The phrase 'by ID' clarifies that item_id is the unique identifier, aligning with the parameter name. However, it doesn't elaborate on ID format or any constraints beyond the schema's type string, so the added meaning is minimal though present.

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

    Purpose5/5

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

    The description uses 'Get' as a specific verb and identifies the resource as 'a specific item from Books', with retrieval by ID. This clearly distinguishes from the sibling tool books_get_items, which would list all items. The action and scope are unambiguous.

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

    Usage Guidelines3/5

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

    The description implies usage when the caller has an item ID and needs a single item, but it doesn't explicitly mention alternatives like books_get_items for listing all items. The 'by ID' qualifier provides clear context, but there is no explicit when-not-to-use guidance or named alternatives.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool does but omits important traits such as case sensitivity, pattern matching semantics (substring vs regex), scope within a module, or return format. This is a significant gap for a search 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, front-loaded sentence that conveys the core purpose and usage without unnecessary words. It earns its place completely.

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

    Completeness3/5

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

    The tool is simple with only two parameters, and schema coverage is high. However, the lack of output schema and no behavioral details (e.g., return values, pagination, error conditions) leaves some ambiguity. It is minimally viable but not thorough.

    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 baseline is 3. The description repeats the parameter examples from the schema (e.g., 'disposition', 'status') but adds no additional meaning beyond the schema. It does not clarify how the search_term interacts with the pattern matching.

    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 states 'Search fields by name pattern' with a specific verb and resource, and clarifies the use case with examples ('disposition', 'status'). This distinguishes it from sibling tools like crm_get_module_fields (which lists all fields) or crm_semantic_field_search (which implies semantic search).

    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 phrase 'use to find specific fields' provides clear context for when to use this tool. However, it does not explicitly mention alternatives or when not to use it, so it falls short of the highest bar.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of explaining behavior. 'Get' implies a read-only operation without stating it explicitly. It also doesn't mention pagination, response format, or any side effects. While not misleading, it lacks depth beyond what the name already suggests.

    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 no redundant words. It front-loads the core action ('Get records') and adds key modifiers. Every word earns its place, making it exemplary in 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?

    The tool has 6 parameters, optional filtering, pagination, and no output schema. The description is minimal, covering only the basic action. It does not mention pagination behavior, return format, or error cases. Given the complexity and lack of annotations/output schema, the description is adequate but leaves gaps in understanding for an 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 coverage is 67% (4 of 6 parameters have descriptions). The description's 'flexible filtering' hints at filter_field/filter_value, but the schema already describes these. It adds no meaningful explanation for page and per_page, which lack schema descriptions. The description does not compensate for the missing parameter details, so a 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 function: get records from a custom module, with the scope 'any custom module' and the qualifier 'flexible filtering.' This is specific and action-oriented. It does not explicitly distinguish from sibling tools like search_records, but the 'custom module' scope provides a clear boundary.

    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 the use case: retrieving records from custom modules with optional filters. There are no explicit exclusions or alternative tool recommendations, but the context is clear enough for an agent to know when this tool is appropriate. Because it doesn't mention alternatives, it doesn't earn a 5, but it provides a solid contextual basis.

    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 must carry the full burden of behavioral disclosure. However, it only states the basic action and workflow. It does not mention side effects (e.g., invoices being marked paid), validation rules (such as amount equaling the sum of amount_applied), non-idempotency, or potential irreversible consequences. This is a significant gap for a financial 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 concise and front-loaded: the first sentence states the purpose, followed by a helpful example workflow. Every sentence earns its place, and it is 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.

    Completeness4/5

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

    Given the 10 parameters and no output schema, the description provides a clear usage pattern with the workflow example. However, it does not explain what happens on success (e.g., return value or confirmation) or describe failure conditions. Still, it is sufficiently complete for correct invocation when combined with the rich schema descriptions.

    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 value through an example showing how to use customer_id, amount, and invoices, reinforcing relationships like the sum constraint. However, it does not provide additional semantics beyond what the schema already specifies.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Create a payment in Books to apply against specific invoices.' It uses a specific verb and resource, and the workflow example further clarifies its purpose. It is distinct from sibling tools like books_get_payments or books_record_bill_payment.

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

    Usage Guidelines4/5

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

    The description explicitly instructs to first use books_get_invoices to find invoice IDs and amounts, and provides a concrete example workflow. It does not explicitly mention when not to use this tool (e.g., for bill payments), but the focus on invoices and the example differentiate it from alternatives like books_record_bill_payment.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden for safety disclosures. It clearly implies a read-only operation ('List'), but does not disclose expected output format, behavior when no profiles exist, or whether it reflects changes made by config_add_profile. This is a moderate gap for a simple listing 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, front-loaded sentence with no redundant words. It efficiently conveys the tool's purpose and scope without verbosity.

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

    Completeness4/5

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

    Given the tool's simplicity (zero parameters, no output schema, and a clear scoping phrase 'in the current environment'), the description is mostly complete. It could mention what the returned list contains or how to interpret 'current environment', but these are minor omissions for a basic list operation.

    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 tool accepts zero parameters and the schema is empty, so there is nothing to explain. The description adds no parameter-specific details, but the baseline for no-parameter tools is 4, and no compensation is needed.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb ('List'), resource ('profiles'), and scope ('current environment'). It distinguishes itself from sibling tools like config_switch_profile and crm_get_all_profiles by focusing on profile listing within the current environment.

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

    Usage Guidelines2/5

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

    The description provides no explicit guidance on when to use this tool versus alternatives. It lacks mentions of prerequisites, exclusions, or related tools such as config_get_status or config_list_environments. Usage context is only implied by the description.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the tool as an analysis/BI operation, implying a read-only nature, but does not explicitly state whether it modifies data, requires specific permissions, or has rate limits. The 'Error Recovery' note about insufficient data provides some insight into behavior, but overall the description lacks detail on side effects and operational constraints. This is a moderate gap, not a contradiction.

    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 headings (Prerequisites, Next Steps, Business Value, Error Recovery) and a front-loaded purpose statement. The first sentence is concise and action-oriented. While the 'Business Value' and 'Next Steps' sections are somewhat tangential for invocation purposes, they are brief and do not bloat the description. It earns a 4 for effective organization and economy of language.

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

    Completeness3/5

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

    The tool has 5 parameters (all schema-described) and no output schema. The description provides useful workflow context (prerequisites, next steps) and error recovery, which helps an agent decide when to use it. However, it does not describe the return format or what the analysis output looks like, which is more critical given the absence of an output schema. It is adequate but leaves a gap in understanding the tool's complete behavior.

    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 adds minimal extra semantics, only alluding to 'different grouping' in the error recovery note, which weakly references the group_by parameter. It does not explain module_name, date formats, or per_page beyond what the schema already states. Thus, the description contributes little beyond the baseline provided by the schema.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Analyze activity patterns and trends in CRM data - business intelligence for user behavior'. It uses a specific verb (analyze) and resource (CRM activity patterns), distinguishing it from sibling tools like crm_search_by_timeline (which searches timeline events) and crm_analyze_module_permissions (which analyzes permissions). The purpose is unambiguous and differentiates from related tools.

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

    Usage Guidelines4/5

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

    The description provides explicit workflow context via 'Prerequisites: Use crm_search_by_timeline to identify activity periods' and 'Next Steps: Generate insights reports → Optimize workflows → User performance analysis'. It also includes an error recovery hint: 'If insufficient data, try broader date range or different grouping'. While it doesn't explicitly name alternatives or exclusions, the prerequisite clearly indicates when to use this tool after timeline search, which is sufficient guidance.

    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 is the only source of behavioral detail. 'Get' implies a read-only operation, but there is no disclosure about pagination, rate limits, or return format. The description adds minimal context beyond the name itself.

    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, focused sentence with no irrelevant information. It is as concise as possible while conveying the essential purpose.

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

    Completeness4/5

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

    For a zero-parameter, read-only list-all tool, the description is sufficiently complete to enable correct selection and invocation. It could mention return shape or data scope, but the purpose is clear enough for a simple operation.

    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 tool has zero parameters, so the schema is fully covered by default. Baseline 4 is appropriate since no parameter documentation is needed.

    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 'Get all territories' clearly states the action (get) and the resource (all territories), making it unambiguous. It distinguishes itself from siblings, as no other sibling tool targets territories.

    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 usage is implied: if an agent needs the full list of territories, this is the tool to use. However, there is no explicit guidance about when not to use it or any mention of alternatives, but given the uniqueness of the tool, the implied context suffices.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It adds useful behavioral hints like 'If no changes found, verify field names and date range' in Error Recovery, but does not disclose whether the operation is read-only, what the return format looks like, or any permission requirements. This is adequate but not comprehensive.

    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-organized with clear headers (Prerequisites, Next Steps, Business Value, Error Recovery) and front-loads the main purpose. It is efficient and each section serves a purpose, though the 'Business Value' section is somewhat superfluous.

    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 tool with 6 parameters and no output schema, the description provides workflow and error recovery guidance but does not explain return value structure or pagination behavior. It covers the basics but leaves gaps for an agent to fully understand what to expect from the 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 baseline is 3. The description adds minimal parameter-related context beyond the schema; the error recovery note mentions field names and date range, which correlates with existing fields. No substantial new parameter meaning is provided.

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

    Purpose5/5

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

    The description starts with 'Track field change history for records - detailed audit of specific field modifications', which clearly states the tool's function with a specific verb and resource. It distinguishes itself from sibling tools like crm_get_timeline by focusing on field changes rather than general timeline events.

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

    Usage Guidelines4/5

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

    The description provides explicit workflow context: 'Prerequisites: Use crm_search_records or crm_search_by_timeline to find target records' and 'Next Steps: Use crm_analyze_activity_patterns for trend analysis'. This clearly indicates when to use the tool relative to others, though it does not explicitly state exclusions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses error behavior ('If "Field not found" error, verify field_name with crm_get_fields') and the type of metadata returned, but it does not fully explain the return format or any permissions needed. The field_name/field_id mismatch is a transparency concern.

    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 bold headers for Prerequisites, Next Steps, Common Pattern, and Error Recovery. It is longer than necessary but every section adds value. The formatting makes it easy to scan, though the length could be trimmed slightly.

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

    Completeness4/5

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

    Given no output schema or annotations, the description competently covers the return content (data type, validation rules, picklist values, dependencies) and provides usage context. It also includes error recovery, making it fairly complete for a read-only metadata tool. The missing clarification on field_id vs field_name is a notable gap.

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

    Parameters2/5

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

    Schema description coverage is 100%, so the schema already documents the parameters. The description does not add meaningful semantics and actually introduces confusion by referring to 'field_name' when the schema requires 'field_id'. This offsets the baseline 3, reducing the score.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Get detailed metadata for a specific field including data type, validation rules, picklist values, and dependencies.' It uses a specific verb and resource, and the mention of 'specific field' differentiates it from sibling tools like crm_get_module_fields (which lists all fields).

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

    Usage Guidelines4/5

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

    The description provides explicit prerequisites (e.g., 'Use crm_get_fields or crm_get_module_fields first'), next steps (e.g., 'Use field details for crm_validate_criteria'), a common pattern, and error recovery. However, it references 'crm_get_fields' which is not among the sibling tools and conflates field_name with field_id, slightly muddying the guidance.

    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 the full burden of disclosing behavior. It only states the operation and scope, saying 'Get' without confirming it is read-only, what the return format is, or whether any limitations exist. This is a minimal disclosure that does not add behavioral context beyond the operation itself.

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

    Conciseness5/5

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

    The description is a single sentence with no filler. Each component—verb, scope, and parenthetical clarification—earns its place, making it highly efficient and well-structured.

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

    Completeness4/5

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

    For a zero-parameter read operation, the description is largely sufficient. It covers the tool's purpose and scope, but lacks any mention of the return structure (e.g., list of field metadata) since no output schema is provided. This slight gap prevents a perfect score.

    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 tool has zero parameters, so schema coverage is 100%. The description does not need to compensate for undocumented parameters, and the baseline of 4 applies as no parameter information is required.

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

    Purpose5/5

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

    The description uses the specific verb 'Get' and clearly identifies the resource as 'global fields across all modules', further clarified as 'global picklists and lookups'. This distinguishes it from module-specific field tools like crm_get_module_fields and crm_get_picklist_values, making the purpose unambiguous.

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

    Usage Guidelines3/5

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

    No explicit usage guidance is provided, such as when to use this tool versus alternatives. The 'across all modules' phrasing implies a distinction from module-specific field retrieval, but the description does not name alternatives or exclusion criteria, leaving usage to be inferred.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It notes that results may be empty and suggests 'try broader date range or different action types,' implying date/action filtering behavior. However, it does not state whether the operation is read-only, what the response format is, or any permission requirements. This is a notable gap for a search tool, but the error recovery hint adds some value.

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

    Conciseness4/5

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

    The description is concise and well-structured with bold headings (Prerequisites, Next Steps, Use Cases, Error Recovery). It front-loads the main purpose and each section adds useful information without excessive verbosity. Slightly long but every sentence earns its place.

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

    Completeness3/5

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

    The tool has 7 parameters and no output schema. The description covers use cases and error recovery but does not describe the return value structure, pagination behavior (beyond schema), or how results are ordered. For a search tool, this is a moderate gap, but the description is not completely inadequate given the schema richness and clear purpose.

    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 every parameter already described in the input schema. The description adds marginal context by mentioning 'date ranges' and 'action types' in the error recovery section, but does not elaborate on parameter semantics beyond what the schema provides. Baseline of 3 is appropriate because 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 tool's function: 'Search records by timeline events - find records modified within date ranges.' The verb 'search' and resource 'records by timeline events' is specific and distinguishes it from siblings like crm_get_timeline, which is for detailed analysis of a single record's timeline. The scope (date ranges) is explicit.

    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?

    Provides clear usage context with 'Use Cases: Recent activity analysis, audit trails, change tracking' and offers alternatives via 'Next Steps: Use crm_get_timeline for detailed analysis → crm_get_field_changes for specific tracking.' It does not explicitly state when NOT to use this tool, but the use cases and next steps effectively guide selection.

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

  • Behavior3/5

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

    The input schema already includes readOnlyHint: true and idempotentHint: true, so the safe read-only nature is known. The description adds a use case ('understand the organization of tools') but no additional behavioral details such as output format, ordering, or any limitations. It does not contradict the annotations.

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

    Conciseness5/5

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

    The description is two concise sentences. The first states the main action, and the second explains the use case. There is no unnecessary information or redundancy.

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

    Completeness3/5

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

    For a zero-parameter tool with readOnly and idempotent hints, the description is mostly sufficient. However, the presence of a nearly identical sibling tool ('list_tool_categories') creates ambiguity, and the description does not clarify the relationship or differentiate itself. This makes the description incomplete for tool selection in a large sibling list.

    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 tool has zero parameters, so the schema trivially covers all parameters. The baseline for zero-parameter tools is 4, and the description doesn't need to add any parameter semantics.

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

    Purpose4/5

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

    The description clearly states the tool's function with a specific verb and resource: 'List all available tool categories.' However, it does not differentiate from the sibling tool 'list_tool_categories' which appears to have the same purpose, so it lacks sibling differentiation.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use the tool: 'Use this to understand the organization of tools and find the right category for your task.' However, it does not mention any alternative tools or situations where another tool would be more appropriate, so it lacks exclusionary guidance.

    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?

    The description mentions creation but lacks details on side effects, required permissions, idempotency, or error behavior. With no annotations, the description fails to disclose any behavioral traits beyond the basic creation action.

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

    Conciseness5/5

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

    The description is short and front-loaded, with a clear purpose and an illustrative example. No redundant wording.

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

    Completeness3/5

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

    The description gives a solid overview and example, but with 9 parameters, no output schema, and no annotations, it leaves gaps such as response format, error handling, and all parameter combinations. Not fully complete for a complex tool.

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

    Parameters4/5

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

    All 9 parameters are already described in the schema (100% coverage). The description adds value by providing a concrete JSON example that demonstrates usage of name, description, rate, unit, and item_type, making the parameter semantics more concrete.

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

    Purpose5/5

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

    The description clearly states the verb 'Create' and the resource 'a new product or service item in Books inventory.' It further specifies use cases (products to sell, services to offer, invoice items) and includes an example, distinguishing it from sibling create tools like books_create_customer.

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

    Usage Guidelines4/5

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

    It provides explicit 'Use for' guidance listing three specific scenarios. It doesn't explicitly contrast with alternatives (e.g., books_update_item) or state when not to use, but the context is clear enough for an AI agent to select appropriately.

    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 must carry the full behavioral burden. It only says 'Create a task' without disclosing side effects, required permissions, or idempotency. For a mutation tool with no 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 two sentences plus an example, with no wasted words. It is front-loaded with the main purpose and the example is directly useful.

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

    Completeness3/5

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

    Given the tool has 10 parameters and no output schema, the description gives a decent overview and example but does not cover return values or additional behavioral details. It is adequate but leaves room for more information about what the API returns after creation.

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

    Parameters4/5

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

    The schema provides descriptions for all 10 parameters (100% coverage), so the baseline is 3. The description adds a concrete example showing how to combine Subject, Due_Date, Priority, What_Id, and Who_Id, which clarifies usage beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool creates a CRM task and specifically mentions linking to accounts, contacts, or deals. This differentiates it from sibling tools like crm_create_event or crm_create_note. The example reinforces the purpose.

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

    Usage Guidelines4/5

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

    The description mentions tasks are for follow-up activities, providing a clear use case. However, it does not explicitly state when not to use it or mention alternatives like events or notes, so it lacks exclusions.

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

  • Behavior3/5

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

    With no annotations, the description itself must disclose behavioral traits. It implies a read-only operation via 'Get' and includes error recovery tips, but it does not explicitly state non-destructiveness, permissions, return structure, or pagination. The workflow mention of accessibility checking hints at permission considerations but does not fully disclose behavior.

    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 core description is a single, clear sentence, but the additional prerequisite/next-steps/pattern sections are extensive for a one-parameter getter. They are well-structured with bold labels and provide genuine workflow value, though arguably more verbose than necessary.

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

    Completeness4/5

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

    Despite lacking an output schema and annotations, the description supplies essential workflow context: prereq verification, sibling tool sequencing, common pattern, and error recovery. This gives an agent enough to integrate the tool. It does not describe the return shape, but the rule allows that if an output schema existed—here it doesn't, so a brief mention would improve completeness.

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

    Parameters3/5

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

    The schema already fully describes module_name ('Name of the module'), and the description's 'for a module' adds no extra semantics. Since schema coverage is 100%, baseline 3 applies; the description does not provide additional examples, formats, or type conventions.

    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 function: 'Get all custom views for a module including system and user-defined views.' It specifies a concrete verb (Get), resource (custom views), and scope (module), and distinguishes it from sibling crm_get_custom_view_details by focusing on the complete list rather than single view analysis.

    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?

    Provides explicit workflow context: prerequisites (verify module with crm_get_all_modules), next steps (use crm_get_custom_view_details, crm_search_records, crm_create_custom_view), and a common pattern. This implicitly defines when to use the tool versus alternatives. Lacks an explicit 'do not use when' statement, but the guidance is clear enough.

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

  • Behavior3/5

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

    No annotations exist, so the description carries the burden. It discloses error recovery behavior for missing users and hints at access checks, but does not specify return format, pagination, permission details, or rate limits. Some transparency is present, but key behavioral details are omitted.

    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 organized with bold labels and every section provides workflow or error-recovery value. 'Next Steps' and 'Common Pattern' overlap somewhat, but the text remains compact and scannable.

    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 one-parameter read-only tool, the description covers what data is returned (roles, profiles, permissions), prerequisite workflow, and error handling. There is no output schema, but the return scope is clearly indicated.

    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 describes user_id as 'ID of the user' with 100% coverage. The description adds no further parameter-level semantics, so it relies on the schema—meeting the baseline of 3.

    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 states 'Get detailed metadata for a specific user including roles, profiles, and permissions,' using a specific verb, resource, and content scope. This clearly distinguishes it from siblings like crm_get_all_users (list users) and crm_get_role_details (role-specific).

    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?

    Provides explicit prerequisites ('Use crm_get_all_users to identify target user_id'), next steps, and a common workflow pattern. It falls short of stating when-not-to-use or explicit alternatives, but the workflow context is clear.

    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; description carries full burden. It states the operation is to get a timeline but does not disclose return format, pagination behavior, permissions, or what constitutes 'timeline/activity history'. Error recovery hints at behavior but 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?

    Description is structured with bolded sections, front-loaded with the main purpose. Each section (prerequisites, next steps, use cases, error recovery) provides unique value without redundancy.

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

    Completeness3/5

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

    While schema describes parameters and description provides prerequisites/use cases, there is no mention of response structure, pagination behavior, or what timeline entries contain. No output schema to compensate. The tool is relatively straightforward but would benefit from explicit info about the 'limit'/'from' behavior and typical usage limits.

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

    Parameters4/5

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

    Schema covers 100% of parameters with descriptions. The description adds context by specifying that required parameters come from desk_search_entities, which is not in the schema. This is additive value.

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

    Purpose5/5

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

    Description explicitly states 'Get timeline/activity history for a specific Desk entity record,' which is a clear verb+resource+scope. It distinguishes from similar timeline tools (crm_get_timeline, people_get_timeline) by specifying Desk and entity record.

    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?

    Provides explicit prerequisites (Department ID, entity type, record ID from desk_search_entities) and next steps/use cases, giving clear context for when to use. Does not explicitly mention alternatives or exclusions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It clearly implies a read-only list operation, and the example shows filtering behavior. However, it does not disclose potential response size, pagination, or any side effects. For a simple get/list tool, this is acceptable but not fully transparent.

    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 well-structured with a front-loaded action statement, followed by relevant details in bullet points and an example. Each section adds value without redundancy. It is concise yet comprehensive, earning a top score.

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

    Completeness4/5

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

    Given the tool's simplicity (2 optional enum params, no output schema), the description is complete enough. It explains what smart queries are, available categories, covered products, and an example. The only minor gap is not describing the return format, but for a list tool this is not essential.

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

    Parameters4/5

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

    Schema coverage is 100% with enum descriptions for both parameters. The description adds semantic value by explaining what each product covers (e.g., CRM for sales intelligence) and provides an example that maps params to usage. This goes beyond the schema's basic definitions.

    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 'Get all available smart query builders across Zoho products' with a specific verb and resource. It explains what smart queries are and lists categories/products, making the purpose unambiguous. However, it does not explicitly contrast with sibling tools like get_smart_query_plan or list_business_scenarios, so it lacks sibling differentiation.

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

    Usage Guidelines4/5

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

    The description provides clear context on when to use the tool by listing covered categories and products, and includes an example with a filter. It implicitly guides usage but does not explicitly mention when to use an alternative tool or exclude cases. Thus, it meets 'clear context, no exclusions' but stops short of explicit alternatives.

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

  • Behavior3/5

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

    No annotations were provided, so the description carries the burden. It conveys that the tool is a read-only listing ('Get organized list') and adds that results include descriptions, but it does not disclose specifics like whether categories are grouped, sorted, or filtered. It accurately implies a safe read operation without contradicting any structured 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 sentences long and front-loaded with the core action ('Get organized list of all tool categories with descriptions'). The second sentence adds useful usage context without fluff. Every word earns its place.

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

    Completeness4/5

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

    For a simple, parameterless discovery tool, the description is sufficiently complete. It states both the return content (categories and descriptions) and the intended use case (starting point for LLMs). No output schema exists, but the description adequately helps a caller understand what to expect, though it omits details like category count or ordering.

    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 tool has zero parameters, and the description correctly implies this by focusing entirely on the output. The schema already provides full coverage of the empty parameter set, so no additional parameter-level guidance is needed or 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 tool returns an organized list of all tool categories with descriptions, using a specific verb and resource. It distinguishes from list_tools_by_category (which lists tools within a category) but does not explicitly differentiate from the sibling list_available_categories, which appears to serve a nearly identical purpose.

    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 phrase 'Perfect starting point for LLMs to understand available functionality' provides clear guidance on when to use this tool—as an initial discovery step. It does not explicitly mention alternatives or exclusions, but the context is clear enough for an agent to know this is a discovery action.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It usefully notes that the timeline includes status changes and updates, and mentions error recovery around permissions and empty timelines. However, it does not disclose pagination behavior, the precise effect of include_inner_details, or what timeline_types values are accepted, leaving several behavioral aspects unexplored.

    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 with bold section headers (Prerequisites, Next Steps, Use Cases, Error Recovery). Every sentence provides useful information without redundancy, and it is 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.

    Completeness3/5

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

    Given the absence of an output schema and the presence of six parameters, the description provides useful context such as prerequisites, use cases, and error recovery. However, it does not describe the return structure, explain parameter semantics beyond the schema, or specify how timeline_types and include_inner_details affect results, leaving some gaps for a tool of this 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 parameters. The description adds no extra meaning beyond the schema, such as examples or clarifications of timeline_types or include_inner_details. It only states the general content of the timeline, which is already implied by the tool name.

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

    Purpose5/5

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

    The description uses a specific verb-plus-resource structure: 'Get timeline/activity history for a People record including status changes and updates.' This clearly identifies the tool's function and distinguishes it from sibling timeline tools like crm_get_timeline by explicitly targeting People records.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use the tool via prerequisites ('Record ID from people_search_records'), next steps, and use cases (employee activity tracking, change auditing, compliance monitoring). It does not explicitly exclude alternative tools such as crm_get_timeline, but the focus on People records makes the usage context clear.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It states that the tool 'creates or updates' contacts, which is useful, but it does not disclose matching logic, idempotency, or potential deletion of existing contacts. The schema includes idempotentHint: true, but the description itself adds limited behavioral context beyond the basic write action.

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

    Conciseness5/5

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

    The description is two concise sentences that directly state the tool's purpose and action. The first sentence identifies the sync direction, and the second elaborates on the create/update behavior. Every word contributes value with no redundancy or filler.

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

    Completeness3/5

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

    The tool is a synchronization operation with no output schema, and the description gives a high-level view. However, it omits critical details such as how records are matched, whether it does a full or incremental sync, and what happens to contacts not present in Books. These gaps make it only minimally complete for a sync 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% (all 3 parameters have descriptions). The description adds no parameter-specific details beyond what the schema already provides, so it earns the baseline score of 3. It does not help clarify the nested 'filters' object beyond the schema's own description.

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

    Purpose5/5

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

    The description uses a specific verb ('Sync') and resource ('Books customers to CRM contacts') with an explicit direction (Books → CRM). This clearly distinguishes it from sibling tools like sync_contacts_to_customers (reverse direction) and sync_accounts_to_customers (different source data).

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

    Usage Guidelines4/5

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

    The description provides clear context by stating the direction of sync (Books to CRM) and the operation (creates or updates). However, it does not explicitly mention when not to use it or name alternative tools, so it falls short of a 5. It does offer enough context for an agent to differentiate it from reverse-direction tools.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It says 'Get detailed information' and lists return fields, indicating a read operation, but it does not explicitly state that the tool makes no modifications, requires specific permissions, or handles missing IDs. The read-only nature is implied by the verb 'Get' and the schema's readOnlyHint and idempotentHint (though these are not in the annotations section). This is acceptable but not exceptional.

    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, two sentences plus a related-tools line. It leads with the purpose, immediately followed by the return content, and then provides useful cross-references. No filler or redundant information.

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

    Completeness4/5

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

    The tool is simple (one parameter, no output schema, no nested objects). The description explains what is returned (contact details, addresses, account status) and how to obtain the ID. It does not specify error behavior (e.g., 404 if not found) or authorization requirements, which could be useful but are not critical for such a straightforward lookup tool.

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

    Parameters3/5

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

    The single parameter customer_id is fully documented in the schema with description 'Unique customer ID (get from books_get_customers).' The tool description reinforces this by saying 'by ID' and pointing to books_get_customers in the related tools. Since schema coverage is 100%, the description adds marginal value beyond what the schema already provides, so a 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 tool's function: 'Get detailed information for a specific customer from Books by ID.' It specifies the resource (customer), the action (get), and the key identifier (ID), and it distinguishes it from sibling tools like books_get_customers (which lists customers) and mutation tools (create/update/delete). The return contents are also detailed: 'complete customer profile including contact details, billing/shipping addresses, and account status.'

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

    Usage Guidelines4/5

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

    The description provides clear guidance on related tools: 'books_get_customers (to find IDs), books_create_invoice (to bill customer), books_create_payment (to record payments).' This tells the agent when to use alternatives for finding IDs or taking actions, implying that this tool is for retrieving a single customer's details. It doesn't explicitly say 'use this when you need a customer profile,' but the context is sufficient for a straightforward get-by-ID operation.

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

  • Behavior3/5

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

    The schema includes readOnlyHint and idempotentHint, which already inform the agent that this is a safe, read-only, idempotent operation. The description adds little behavioral context beyond that, mentioning filtering and pagination (already in params) and use cases. It does not contradict the annotations, so the score is at baseline with annotations present.

    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 plus a related-tools line. It front-loads the primary purpose, adds use cases, and then points to related tools. Every sentence contributes value with no fluff.

    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 list/retrieval tool with strong schema annotations, the description covers purpose, use cases, and key capabilities. It lacks explicit mention of the return format (no output schema exists), but 'Get invoices' implies it returns invoice objects. The related tools section helps orient the agent among many siblings. Slight gap: no mention of default sort or result limits beyond parameters.

    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% for all 8 parameters, so the schema provides full meaning for each filter and pagination option. The description adds no new parameter-level detail, but the generic mention of 'filtering and pagination' reinforces the overall intent. Baseline of 3 is appropriate given the high schema coverage.

    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 states a specific verb ('Get'), resource ('invoices from Books'), and scope ('with filtering and pagination'). It also lists concrete use cases ('find invoices for payments, get invoice details, or browse invoice history') which helps distinguish it from other tools. The plural 'invoices' and mention of pagination clearly differentiate it from the singular 'books_get_invoice' tool in 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 Guidelines4/5

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

    The description provides clear usage context ('Use to find invoices for payments, get invoice details, or browse invoice history') and explicitly names related tools with their purposes (create, pay, customer details). However, it does not contrast with the closely related 'books_get_invoice' (singular) tool, so the guidance could be more precise about when to choose this listing tool over the single-invoice retrieval tool.

    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?

    Although annotations include readOnlyHint and idempotentHint, the description adds valuable context beyond those: prerequisites (inventory management permissions), error recovery guidance (verify setup and permissions), and scope clarification (includes products and services). It does not contradict any annotations.

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

    Conciseness5/5

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

    The description is well-structured with clear sections (Prerequisites, Next Steps, Workflow, Error Recovery). Every sentence serves a purpose, and the most important information (what it does and why it's essential) is front-loaded. It is concise yet comprehensive.

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

    Completeness3/5

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

    The description covers usage workflow, prerequisites, and error recovery, but lacks explicit details about the return format and pagination behavior. It only hints that item_id and details are available for invoice line items. Given the absence of an output schema, more explanation of response structure would improve completeness, but the description is adequate for a list-oriented read-only tool.

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

    Parameters1/5

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

    The description does not mention any of the 6 parameters (page, per_page, filter_by, sort_order, search_text, sort_column). Schema description coverage is 0%, and the description provides no guidance on how to use filtering, sorting, or pagination, leaving the agent to infer from generic names.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get all items from Books including products and services available for billing.' It distinguishes itself from the sibling tool books_get_item by noting it returns all items for billing, and explicitly recommends books_get_item for detailed item information.

    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 strong usage context by calling the tool 'ESSENTIAL for invoice line items' and outlines a complete workflow (books_get_items → books_create_invoice → books_create_payment). The 'Next Steps' section explicitly directs when to use sibling tools like books_get_item and books_create_item, offering clear alternatives and sequencing.

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

  • Behavior3/5

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

    With no annotations, the description carries full responsibility for behavioral disclosure. It conveys that this is a read operation ('Get'), but does not mention edge cases (e.g., not found), permissions, or return format. Adequate but minimal.

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

    Conciseness5/5

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

    A single concise sentence that is front-loaded with the action and resource. Zero wasted words, perfect for an agent to quickly grasp.

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

    Completeness4/5

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

    Given the tool's simplicity (one parameter, no output schema), the description is sufficient to invoke correctly. It could optionally mention the return value (the purchase order details), but that is implied by 'Get'.

    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 references 'by ID' which maps to purchase_order_id, but this adds minimal value beyond the schema's property name and type. The parameter is self-evident from the context, but no extra format or semantics are provided.

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

    Purpose5/5

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

    The description explicitly states the action (Get), the resource (a specific purchase order), and the scope (by ID). This clearly distinguishes it from siblings like books_get_purchase_orders (which lists all purchase orders), making the tool's purpose unambiguous.

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

    Usage Guidelines4/5

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

    The description implies the tool is for retrieving a single purchase order when the ID is known. It does not explicitly name alternatives or exclusions, but the 'by ID' phrasing clearly contrasts with list-style tools. Highly functional but slightly implicit.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It adds prerequisites (Books access with sales order read permissions) and error recovery advice, which is useful. However, it doesn't disclose response format, rate limits, or edge-case behavior, leaving some transparency 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 front-loaded with a clear purpose sentence, followed by concise labeled sections (Prerequisites, Next Steps, Workflow, Error Recovery). Every sentence adds value and there is no redundancy.

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

    Completeness4/5

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

    Despite having no output schema, the description covers prerequisites, workflow, and error recovery, while the schema fully documents parameters. Minor gap: no mention of return value structure, but the tool's role in the lifecycle is clear enough.

    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 all 11 parameters described. The description only mentions 'filtering and pagination' at a high level, adding no specific meaning beyond the schema. Baseline 3 applies.

    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 states 'Get all sales orders from Books with filtering and pagination', which is a specific verb+resource+scope. This clearly distinguishes it from sibling tools like books_get_invoices or books_get_estimates.

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

    Usage Guidelines4/5

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

    The description provides workflow context ('Sales order management → invoice conversion → payment tracking') and next steps ('Use books_create_invoice to convert sales orders to invoices'), implying when this tool is the entry point. It does not explicitly exclude alternatives but places the tool within the sales order lifecycle.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. 'List' clearly implies a read-only operation, and there are no parameters or side effects to disclose. The description fully conveys the tool's behavior, though it does not explicitly state that it is read-only.

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

    Conciseness5/5

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

    The description is a single, simple sentence of five words. Every word is necessary and there is no wasted text.

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

    Completeness4/5

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

    Given the tool's simplicity (no parameters, no output schema, no annotations), the description is sufficient to understand what the tool does. It could be slightly more helpful by mentioning the purpose (e.g., to get environment identifiers for switching), but it is not incomplete for a basic list operation.

    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 tool takes zero parameters, so the schema covers all cases (100% coverage). The description does not need to add parameter details, and the baseline of 4 applies.

    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 'List all available environments' uses a specific verb ('List') and clearly identifies the resource ('environments'). It is unambiguous and distinguishes itself from sibling tools like config_list_profiles by the resource type.

    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 does not mention related tools such as config_switch_environment or config_list_profiles, nor does it give any context for why one would call this tool.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses a key behavioral trait: the tool is optimized to reduce multiple API calls to a single request. However, it does not reveal details about return value structure, potential side effects, or limitations. It adds some value but is not rich.

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

    Conciseness5/5

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

    One concise sentence front-loads the action and the key benefit. Every word earns its place, with no fluff or repetition.

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

    Completeness4/5

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

    The description is short but adequate for a straightforward extraction tool. The schema covers parameter semantics, and the description explains the 'one call' consolidation aspect. While no output schema exists, the purpose is clear enough for an agent to select and invoke this tool 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 all four parameters are already documented. The description adds no additional parameter-specific meaning beyond what the schema provides. The baseline score of 3 applies.

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

    Purpose5/5

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

    The description specifies the action ('Extract'), the resource ('complete picklist hierarchy with dependencies'), and distinguishes it from siblings by emphasizing the consolidated single request. It clearly tells the agent what this tool does uniquely compared to other CRM picklist tools.

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

    Usage Guidelines4/5

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

    The description provides clear context for when to use this tool: when you need the complete picklist hierarchy with dependencies and want to avoid multiple API calls. However, it does not explicitly name alternatives or state when not to use it, so it doesn't fully meet the 'explicit when/when-not/alternatives' bar.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It discloses that the response includes fields, layouts, custom views, and related lists, which adds value. However, it does not mention permissions, response size, pagination, or performance implications, and the read-only nature is only implied by 'Get.'

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that lists the included components without redundancy. Every word contributes meaning, making it highly concise and easy to parse.

    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?

    With no output schema, the description is the only source for return-value expectations. It explicitly lists the four main components, which is sufficient for most use cases. However, it does not describe the structure or potential volume of the response, leaving some uncertainty for agents needing precise data shapes.

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

    Parameters3/5

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

    Schema coverage is 100% for the only parameter, module_name, which is described as 'Name of the module.' The description does not add further detail about values or formatting, so it meets the baseline for schema-driven parameter understanding.

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

    Purpose5/5

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

    The description uses the specific verb 'Get' and resource 'complete module configuration,' and lists the components (fields, layouts, custom views, related lists). This clearly distinguishes it from sibling tools that fetch these individually, such as crm_get_module_fields, crm_get_layouts, crm_get_custom_views, and crm_get_related_lists.

    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 this is the aggregate tool for full configuration, and the word 'complete' indicates when to use it. However, it does not explicitly state when to use this instead of individual getters or mention exclusions, so it lacks explicit alternative guidance.

    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 responsibility for behavioral disclosure. It does not explicitly state that this is a read-only operation, what permissions are required (only hints via "check admin permissions" in error recovery), or what the return structure looks like. The error recovery note adds a small amount of context, but the description is largely silent on side effects, availability, and output format.

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

    Conciseness3/5

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

    The description is front-loaded with a clear purpose sentence, but it is somewhat verbose for a tool with no parameters. The 'Common Pattern' section largely repeats the 'Next Steps' guidance, and the multi-section format feels padded relative to the tool's simplicity. Still, the structure is organized and scannable, and each section adds some operational value.

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

    Completeness4/5

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

    Given the tool's low complexity (0 params, no output schema, no annotations), the description provides sufficient context: what the tool returns at a high level, prerequisites, workflow suggestions, and error recovery. It could be more explicit about the response structure or data sensitivity, but for a foundational read-only lookup, it covers the essential context adequately.

    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 tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and it correctly omits any parameter details. It does describe the kind of information returned (configuration, limits, admin info), which is entirely appropriate for a no-parameter tool.

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

    Purpose5/5

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

    The description clearly states "Get organization details and settings including configuration, limits, and administrative info," which identifies the specific resource and scope. It also distinguishes from siblings by mentioning "Use crm_get_organization_features for feature analysis" and "try crm_get_organization_features as alternative," clarifying that this tool focuses on general org context rather than feature-specific data.

    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 usage guidance: "Prerequisites: None - foundational tool," a concrete next-step sequence ("crm_get_organization_features → crm_get_all_users → crm_get_all_modules"), and an error recovery path with an alternative tool. This clearly tells the agent when to use this tool and how it fits into a broader workflow.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It implies a read-only 'get' operation and narrows the scope to picklist fields, but does not disclose return format, pagination, or any side effects. The behavioral traits are clear enough for a simple getter, but not richly described.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no wasted words. It immediately states the action and scope, then adds a helpful use-case hint. Perfectly concise.

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

    Completeness4/5

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

    For a simple one-parameter getter with no output schema, the description is mostly complete. It explains what the tool does and its intended use case. It could ideally clarify the exact return structure (e.g., list of field definitions), but the tool name and description are sufficient for basic 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?

    The single parameter module_name has 100% schema description coverage ('Name of the module'), so the schema already provides the meaning. The description reinforces that it is a 'specific module' but adds no extra syntax or format details beyond the schema.

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

    Purpose5/5

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

    The description clearly states a specific action ('Get only picklist fields') and resource ('for a specific module'), and adds a specialized use case ('optimized for finding disposition/status fields'). This distinguishes it from sibling tools like crm_get_module_fields (all fields) and crm_get_picklist_values (values of picklist fields).

    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 gives clear context on when to use this tool: when you need only picklist fields, and specifically for locating disposition/status fields. It does not explicitly name alternative tools or state when not to use it, so it falls just short of a 5.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It adds useful error recovery ('If fields not found, verify department and entity type are valid') and lists common entities, but it does not disclose whether this is a read-only operation, potential rate limits, or the exact response format. This is acceptable for a simple getter but lacks richer behavioral detail.

    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 front-loaded with the main purpose and uses concise markdown sections for prerequisites, next steps, common entities, and error recovery. Every sentence earns its place without redundancy.

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

    Completeness4/5

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

    For a two-parameter tool with no output schema, the description covers prerequisites, valid inputs, and error recovery. It does not describe the returned field metadata structure, which would be helpful given the lack of an output schema, but it is otherwise complete for its apparent simplicity.

    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%: both 'entity_type' and 'department_id' already have descriptions that include the same guidance (e.g., 'get from desk_get_all_departments'). The description repeats these points and adds error recovery, but it does not significantly enhance parameter understanding beyond what the schema provides.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get field metadata for a specific entity type in a Desk department'. This uses a specific verb and resource, and it distinguishes itself from sibling tools like desk_get_all_departments (departments) and desk_search_entities (searching entities) by focusing on field metadata.

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

    Usage Guidelines4/5

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

    The description provides explicit workflow guidance: prerequisites ('Department ID from desk_get_all_departments') and next steps ('Use field details for desk_search_entities criteria and filtering'). It does not explicitly name alternatives or exclusion criteria, but the workflow context is clear.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful hints like 'check entity permissions' and 'broaden search criteria' for error recovery, which suggests permission-related behavior, but it does not explicitly state that the operation is read-only, describe the response format, or detail auto-pagination behavior. Some context is added, but important behavioral traits remain implicit.

    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, with a one-sentence summary followed by clearly labeled sections (Prerequisites, Next Steps, Common Patterns, Error Recovery). Each section earns its place and adds practical value without redundant or vague wording.

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

    Completeness4/5

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

    Given the tool's complexity (13 parameters, no output schema, no annotations), the description compensates well with prerequisites, common patterns, next steps, and error recovery. It provides a strong sense of when and how to use the tool. However, it lacks an explicit description of the return value or result format, which would make it more complete 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?

    The input schema already provides 100% coverage of the 13 parameters, so the baseline is 3. The description adds minimal parameter meaning by mentioning 'optional field details for targeted searches', which relates to the 'fields' parameter, but it does not explain nuanced parameters like auto_paginate, include, or max_records beyond what the schema already documents.

    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 opens with 'Search entities in a Desk department with flexible filtering and pagination', which clearly states the verb ('search'), resource ('entities in a Desk department'), and key capabilities. This distinguishes it from sibling Desk tools like desk_get_entity_fields or desk_get_entity_timeline, which are retrieval-specific.

    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 includes 'Prerequisites' (Department ID and entity type), 'Common Patterns' (ticket management, contact lookup, account discovery), and 'Next Steps' (use desk_get_entity_timeline), giving clear context on when and how to use the tool. However, it does not explicitly state when not to use it or mention alternative search tools, so it stops short of a full 5.

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

  • Behavior3/5

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

    The schema includes readOnlyHint, openWorldHint, and idempotentHint, which already convey safety and idempotency. The description adds only the example and module coverage but does not describe pagination behavior, error cases, or return format, so it adds limited value beyond these 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 brief, front-loaded with the main purpose, and includes a concrete example. Every sentence serves a purpose with no redundancy.

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

    Completeness4/5

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

    For a search tool with 5 parameters and no output schema, the description covers the core purpose and usage with an example. It does not explicitly mention pagination behavior or result structure, but these are partially inferable from the schema parameters and the example. It lacks guidance on when to prefer this over sibling search tools, but overall it is reasonably complete.

    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 includes an example that illustrates how to combine module, criteria, and fields, adding modest contextual meaning but not explaining parameter syntax beyond the schema.

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

    Purpose5/5

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

    Clearly states a specific action ('Search') and resource ('CRM and Books records') with flexible criteria. Distinguishes from sibling search tools by explicitly covering both CRM and Books modules, though it doesn't name alternatives.

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

    Usage Guidelines4/5

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

    Provides clear usage context: 'Use for finding specific records by name, email, phone, or other fields.' This tells when to use the tool but does not mention when not to use or alternatives, so it lacks exclusions.

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

  • Behavior3/5

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

    The description discloses that the tool 'creates or updates customer records', which is a key behavioral trait and aligns with the schema's idempotentHint. However, with no tool-level annotations provided, the description carries the burden of transparency. It does not mention matching logic, potential side effects beyond create/update, error handling, or reversibility, leaving some uncertainty.

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

    Conciseness5/5

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

    The description is concise—two sentences plus a compact example. It front-loads the core action and direction, then provides a concrete usage example. Every sentence earns its place, with no wasted words.

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

    Completeness4/5

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

    For a sync operation with three parameters and no output schema, the description is largely complete: it states the direction, the create/update behavior, and includes a practical example. It could mention matching criteria or failure modes, but the schema plus description cover the essentials. The complexity is moderate, so a 4 is appropriate.

    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 already provides 100% coverage with descriptive text for each parameter, including enums for source_module and target_module. The description adds a small example JSON that illustrates usage (e.g., filters.limit), but it does not add deeper semantic meaning beyond what the schema already offers. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Sync CRM accounts to Books customers' with an explicit direction (CRM → Books). This distinguishes it from sibling tools like sync_contacts_to_customers and sync_customers_to_contacts. The example further reinforces the specific source and target modules.

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

    Usage Guidelines4/5

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

    The description explicitly notes the CRM → Books direction, which helps an agent understand when to use this tool (for account-to-customer syncs). However, it does not explicitly name alternative tools or provide exclusions (e.g., 'use this instead of sync_contacts_to_customers when source is accounts'). The direction is clear, but guidance is not exhaustive.

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

  • Behavior3/5

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

    With no annotations, the description must carry behavioral detail. It adds 'Prerequisites: None' and error recovery advice, implying a read-only discovery operation. However, it does not explicitly state that the operation is read-only, what the return format looks like, or any pagination/limits. Thus it provides some context but not full transparency.

    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 front-loaded with the main purpose and then uses structured sections for prerequisites, next steps, common pattern, and error recovery. This is easy to scan and mostly efficient. Minor redundancy exists between 'Next Steps' and 'Common Pattern,' but it remains concise.

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

    Completeness4/5

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

    Given the tool's low complexity (no params, no annotations, no output schema), the description is quite complete. It explains the purpose, provides workflow context, and offers error recovery. It could mention return value specifics, but for a simple discovery tool, the provided context is sufficient.

    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 tool has zero parameters and the schema already reflects this (empty properties). Per the rubric, 0 params sets a baseline of 4. The description does not need to add parameter details; it correctly focuses on the tool's purpose.

    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 is a clear, specific statement: 'Get all profiles in the organization.' It identifies the verb (get), resource (all profiles), and scope (organization). This distinguishes it from siblings like crm_get_all_roles (roles vs. profiles) and config_list_profiles (organization vs. configuration context).

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

    Usage Guidelines4/5

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

    The description provides clear usage context through 'Prerequisites: None - this is a discovery tool for organizational structure' and outlines a common workflow with 'Next Steps.' It does not explicitly state when not to use it or name alternative tools, but the discovery role and workflow guidance make the intended use clear.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It adds useful context about error recovery (e.g., trying different type filters, checking org user limits) and implies a read operation via the 'get' verb, but does not disclose return format, pagination, authorization requirements, or data volume. This is helpful but incomplete.

    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 longer than typical but well-structured with clear headings (Prerequisites, Next Steps, Common Pattern, Error Recovery). Each section adds value by guiding the agent through a multi-step workflow. The main purpose is front-loaded, and while slightly verbose for a simple tool, the organization makes it efficient.

    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 tool with one optional parameter and no output schema, the description provides strong context: what it does, how it fits into a broader workflow, and error recovery. It falls short of being complete by not describing the response structure or fields returned, but for a list operation this level of detail is quite sufficient.

    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 'type' described as 'Optional type filter (AllUsers, AdminUsers, etc.)'. The description repeats this and provides examples but adds no additional semantics beyond the schema. Baseline 3 is appropriate since the schema already documents the parameter effectively.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get all users in the organization with optional type filtering.' This is a specific verb+resource combination with scope. It distinguishes itself from sibling tools like crm_get_user_details and crm_create_user by focusing on the broad list operation.

    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 includes explicit workflow guidance: 'Prerequisites: Use crm_get_all_profiles and crm_get_all_roles first' and 'Next Steps: Use crm_get_user_details...' This gives clear context on when and how to use the tool relative to alternatives, plus error recovery tips for troubleshooting, far exceeding basic usage guidance.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It adds useful context about error recovery (check module permissions and layout availability) and prerequisites, but does not disclose behavioral traits like response format or that it is read-only (though implied by 'Get'). For a simple read tool, this is adequate but not rich.

    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 sections for prerequisites, next steps, common pattern, and error recovery. It is front-loaded with the purpose and each section earns its place, though it is slightly longer than absolutely necessary. Overall it is concise and logically organized.

    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 tool with one optional parameter and no output schema, the description is quite complete. It includes the workflow from discovery to modification, error recovery tips, and a clear pattern. It does not describe the return value shape, but for a list tool this is acceptable given the other context provided.

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

    Parameters3/5

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

    The schema has 100% coverage for the single parameter 'module_name' with a clear description ('Optional module name to filter layouts'). The tool description does not add further meaning to this parameter, so the baseline score of 3 is appropriate since the schema already handles parameter semantics.

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

    Purpose5/5

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

    The description clearly states the tool's function: 'Get all layouts for modules including page layouts, related lists, and section configurations.' It uses a specific verb and resource, and differentiates from sibling tools by referencing crm_get_layout_details for specific configuration analysis, making the purpose unambiguous.

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

    Usage Guidelines5/5

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

    The description explicitly provides prerequisites ('Use crm_get_all_modules first'), next steps ('Use crm_get_layout_details...', 'Use crm_update_layout if modifications are needed'), and a common workflow pattern (crm_get_all_modules → crm_get_layouts → crm_get_layout_details → crm_update_layout). This gives clear when-to-use guidance and alternatives.

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

  • Behavior4/5

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

    Annotations indicate readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the agent knows this is a mutating, non-idempotent operation. The description adds valuable context by stating it 'automatically transfers deal information, products, and pricing', and the workflow clarifies that email sending and payment are separate subsequent steps. This goes beyond the bare mutation hints, though it does not mention failure modes or prerequisites.

    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 exceptionally concise: one purpose sentence and one workflow line. Every word earns its place, with no repetition of schema details or filler. The front-loaded purpose immediately orients the reader, and the workflow adds unique context in minimal space.

    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 creation tool with 6 parameters and no output schema, the description covers the primary purpose, the automation behavior, and the intended downstream workflow. It does not explicitly describe return values or prerequisites beyond the required deal_id, but the schema covers the parameter, and the workflow makes the integration context clear. A small gap is lack of mention of what happens when send_email or include_line_items are toggled, but those are in 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?

    All 6 parameters (deal_id, due_date, send_email, customer_id, invoice_date, include_line_items) already have descriptions in the schema, giving 100% coverage. The description itself adds little new parameter-specific meaning, but the workflow line ties the parameters to the overall process. Per guidelines, baseline 3 is appropriate when schema covers parameters fully.

    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 opens with 'Create a Books invoice from a CRM deal', a specific verb+resource that clearly distinguishes it from generic invoice creation tools like books_create_invoice or books_convert_estimate_to_invoice. The title is descriptive and the workflow line reinforces the unique purpose.

    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 workflow line 'CRM deal → Books invoice → books_send_invoice_email → books_create_payment' explicitly places this tool in a sequence, implying it should be used when starting from a CRM deal. While it does not explicitly name alternatives (e.g., books_create_invoice) or state when not to use it, the context is clear enough for an agent to infer the appropriate usage.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It mentions error handling ('If view_id not found') and the nature of the output ('detailed metadata'), but does not explicitly state read-only behavior, permission requirements, or full response structure. The 'get' in the name implies read-only, but additional behavioral details are limited.

    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 well-structured with clear sections (Prerequisites, Next Steps, Common Pattern, Error Recovery), each contributing meaningful information without redundancy. It is appropriately sized, front-loaded with the core purpose, and uses formatting to enhance scannability.

    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 tool with two params and no output schema, the description adequately covers the return contents (criteria, fields, sorting), the prerequisite workflow, and error recovery. It lacks explicit detail on output structure or edge cases, but is reasonably complete given the tool's simplicity.

    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% (both parameters have descriptions), but those are minimal. The description adds value by linking custom_view_id to crm_get_custom_views, but module_name receives no additional explanation beyond 'Name of the module'. This is consistent with the baseline for high schema coverage, with slight improvement.

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

    Purpose5/5

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

    The description clearly states the action: 'Get detailed metadata for a specific custom view' and specifies contents (criteria, fields, and sorting). It distinguishes from sibling crm_get_custom_views by emphasizing 'specific' and requiring a custom_view_id, making the purpose unambiguous.

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

    Usage Guidelines5/5

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

    Explicitly provides prerequisites ('Use crm_get_custom_views to identify target custom_view_id'), next steps, common patterns, and error recovery. This is the gold standard for usage guidance, clearly indicating when and how to use the tool relative to alternatives and follow-up actions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. It indicates the tool is read-only through 'Get' and 'viewing', and mentions filtering and pagination behavior. However, it does not disclose potential limitations, default sorting, or whether all events are returned. It is adequate but not rich.

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

    Conciseness5/5

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

    The description is a single concise sentence with a related-tools line. It is front-loaded with the key purpose and adds relevant sibling references without fluff.

    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?

    No output schema is present, but the tool is a simple read operation. The description covers the use case and filtering/pagination, and the schema documents all six parameters. Related tool references add context. It is reasonably complete for a straightforward list 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%, with each parameter (page, sort_by, end_date, per_page, sort_order, start_date) already described. The tool description only says 'filtering and pagination' without naming parameters or adding format details, so it does not go beyond the schema. Baseline 3 applies.

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

    Purpose5/5

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

    The description clearly states the tool retrieves calendar events ('Get calendar events from CRM'), specifies the use case ('viewing meetings, appointments, and scheduled activities'), and distinguishes from sibling tools by naming alternatives (crm_create_event, crm_create_task, crm_get_notes).

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

    Usage Guidelines5/5

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

    The description explicitly states when to use this tool ('Use for viewing meetings, appointments, and scheduled activities') and provides alternative tools for related purposes (crm_create_event for scheduling, crm_create_task for follow-ups, crm_get_notes for meeting notes), giving clear when/when-not guidance.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that the tool retrieves permissions and hierarchy and includes error recovery for missing role_id, but it does not explicitly state that it is a read-only operation, nor does it describe the return format, pagination, or any access requirements. This is adequate but has clear 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 well-structured with a clear one-sentence summary followed by concise sections (Prerequisites, Next Steps, Common Pattern, Error Recovery). Each section is focused and adds valuable context without redundancy. The structured format makes it easy to scan and understand.

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

    Completeness4/5

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

    For a simple single-parameter tool with no output schema, the description is quite complete. It covers the workflow context, prerequisites, next steps, and error handling. The only missing element is a description of the return value structure, but given that the output schema is absent, the description's coverage is strong for the tool's simplicity.

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

    Parameters3/5

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

    The schema already provides 100% coverage for the sole parameter role_id with a description. The description adds value by explaining how to obtain the role_id (via crm_get_all_roles), but this is a minor addition. The baseline of 3 is appropriate since the schema handles the parameter semantics well, and the description offers slight guidance without overexplaining.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: 'Get detailed metadata for a specific role including permissions and hierarchy.' This distinguishes it from sibling tools like crm_get_all_roles (list all roles) and crm_update_role (modify roles). The verb and resource are specific and unambiguous.

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

    Usage Guidelines5/5

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

    The description provides explicit usage guidance: prerequisites (use crm_get_all_roles to identify role_id), next steps (use crm_get_all_users, crm_get_all_profiles, crm_update_role), and a common pattern. It also includes error recovery steps, making it clear when and how to use this tool relative to alternatives.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the burden. It discloses the output format (curated list with matching smart queries and expected ROI) and lists covered business areas, giving a good sense of what to expect. It does not mention side effects or safety, but the 'list' verb implies a read-only operation. Missing details like pagination or depth are minor for this type of tool.

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

    Conciseness3/5

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

    The description is mostly concise with structured sections for Business Areas and Output. However, it includes a placeholder 'Example: {}' that is empty and adds no value, violating the principle that every sentence should earn its place. This reduces the overall quality.

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

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has no parameters, no output schema, and no annotations, the description provides enough context about what the tool returns and which business domains it covers. The empty example placeholder is a minor gap, but for a simple discovery tool, the description is adequate for effective use.

    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 tool has zero parameters, and the schema coverage is 100% (trivially). The baseline for 0 params is 4, and the description doesn't need to explain any parameter behavior. It adds no parameter-related information, but none is required.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's function: 'List common business scenarios and their recommended smart query solutions.' It uses a specific verb (list) and resource (business scenarios) and differentiates from siblings like get_smart_queries, which focuses on queries rather than scenarios. The business areas and output type add specificity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It provides a clear use case: 'Perfect for discovering workflow automation opportunities.' However, it does not explicitly mention when not to use it or compare it to alternatives like get_smart_queries or list_tool_categories, so it lacks exclusionary guidance.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint and idempotentHint, covering the safety profile. The description adds value beyond this by mentioning 'detailed schema information' and an 'Error Recovery' note about verifying module existence and checking field access permissions, which are useful behavioral traits not evident from annotations 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 concise and well-structured with clear sections (overview, prerequisites, next steps, common pattern, error recovery). Every sentence serves a purpose with no wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple read-only tool with one required parameter, the description is quite complete. It covers purpose, workflow integration, and error recovery. It doesn't detail the exact return format, but that is a minor gap given the tool's simplicity and the absence of an 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% (both parameters have clear descriptions). The description reinforces that module_name should come from people_get_all_modules and mentions using field api_name values, but these add only minor context beyond the schema. The schema already carries the semantic load, so a baseline 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 tool's function: 'Get field metadata for a specific People module with detailed schema information'. The verb 'Get' and resource 'field metadata' are specific, and it distinguishes from siblings like people_get_all_modules (lists modules) and people_search_records (searches records).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit workflow context with 'Prerequisites: Module name from people_get_all_modules' and 'Next Steps: Use field api_name values in people_search_records operations'. It also outlines a 'Common Pattern'. However, it does not explicitly mention when not to use this tool or name alternative tools, so it stops short of a perfect score.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description discloses the core mutation behavior ('Creates or updates customer records'), which is the key side effect. It also adds workflow context beyond what schema hints provide. However, it does not mention idempotency, rate limits, or potential broad scope of sync, though the schema hints (idempotentHint=true) partially cover this. Without separate annotations, description carries the transparency burden, and it does so adequately for the main 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 concise, with the purpose in the first sentence and workflow in the second. No fluff, all sentences are informative and front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is a data synchronization with no output schema. The description provides direction, timing, and follow-up steps, which is sufficient for a sync operation. It could mention potential edge cases or mapping details, but given the schema covers filters and the workspace is straightforward, the description is fairly complete.

    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% for all 3 parameters, so the schema already documents source_module, target_module, and filters. The description adds no extra meaning to these parameters, only stating that records are created based on contact data. Baseline score of 3 applies because the schema handles parameter semantics.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb ('sync'), resources ('CRM contacts', 'Books customers'), and direction ('CRM → Books direction'). It clearly distinguishes from sibling tools like sync_customers_to_contacts and sync_accounts_to_customers by making the one-way direction explicit.

    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 gives clear workflow context ('Typically run after CRM data updates') and a follow-up verification step ('Follow with books_get_customers to verify sync results'). It does not explicitly name alternative tools or say when not to use, but the context is sufficient for basic differentiation.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The schema includes readOnlyHint: true and idempotentHint: true, so the agent already knows this is a safe, non-destructive operation. The description adds a little context (grouping by category) but does not disclose other behavioral aspects such as output format, pagination, or error handling. With annotations present, the description is minimally adequate.

    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: two sentences plus an example. It is front-loaded with the core action and immediately provides a practical illustration. No redundant filler; every part contributes to understanding and using the tool.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (one optional parameter, no output schema, annotations present), the description is complete enough. It explains what the tool does, gives a usage context, and provides an example. The schema covers parameter details, and the description adequately implies the output (tools grouped by category). No critical information is missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% and the parameter description already explains that the category is optional and can be left empty. The description adds an explicit example with a concrete enum value and JSON format, which reinforces how to pass the parameter. This goes beyond the schema's basic description, justifying a score above the baseline of 3.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's function with a specific verb and resource: 'List all available tools grouped by category.' It also provides concrete use cases (customer management, invoice processing, CRM activities) and an example, making its purpose unambiguous. While sibling tools exist for listing categories, the name and description together make this tool's role distinct.

    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 gives clear context on when to use the tool: 'Use this to discover tools for specific tasks...' and provides an example. It does not explicitly mention alternatives or when not to use it, but the guidance is sufficient for an agent to understand the typical scenario. Lacks explicit exclusion of sibling list tools, so not a 5.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds useful contexts such as the possibility of no results due to permissions ('verify module permissions') and the suggestion to broaden search terms. However, it does not describe return formatting, pagination behavior, or matching semantics beyond 'flexible text-based criteria'.

    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 well-structured with bold headers that front-load the core purpose and then organize supporting details efficiently. Each section (Prerequisites, Next Steps, Use Cases, Error Recovery) earns its place without redundancy or filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a search tool with no output schema, the description covers prerequisites, next steps, common use cases, and error recovery—all essential context. It effectively integrates with sibling tools and prepares the agent for realistic outcomes (e.g., empty results prompting broader search or permission checks).

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% with descriptions for all 5 parameters, giving baseline 3. The description adds value by connecting parameters to other tools: 'Module name from people_get_all_modules' and 'optional field details from people_get_fields' clarify where module_name and fields originate. It also illustrates valid module_name values through use cases.

    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 begins with a clear verb-object pair ('Search records in a People module') and specifies the method ('flexible text-based criteria'). It includes specific use cases (employee lookup, department searches, attendance tracking) that distinguish it from siblings like people_get_all_modules, people_get_fields, and people_get_timeline.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides clear context through 'Prerequisites', 'Next Steps', 'Use Cases', and 'Error Recovery' sections. It tells the agent when to use the tool (after obtaining module from people_get_all_modules) and what to do after (people_get_timeline), but it does not explicitly state when NOT to use it or name alternative search tools.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior5/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations indicate a write operation (readOnly=false) and non-idempotent behavior. The description adds valuable behavioral context by labeling it a 'KEY FINANCIAL OPERATION,' offering error recovery steps, and advising verification of customer_id and line_items. This goes beyond annotations with actionable operational details.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-organized with clear sections (Prerequisites, Next Steps, Complete Billing Workflow, Error Recovery) and uses concise arrows and bold formatting. Every sentence contributes meaningful information, making it efficient and easy to scan.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity (20 parameters, no output schema), the description provides strong workflow context and prerequisites, and implies the response includes invoice_id. However, it does not explicitly describe the return value structure or address many optional parameters, leaving some ambiguity for a complex create operation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It only clarifies the two required parameters (customer_id and line_items) in the context of prerequisites and error recovery. The other 18 parameters (e.g., discount, due_date, payment_terms) receive no explanation or guidance, leaving a significant gap for an agent.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb and resource: 'Create a new invoice in Books for billing customers.' This distinguishes it from sibling tools like books_create_estimate or books_create_bill, and the workflow context reinforces its specific role.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly provides prerequisites (use books_get_customers and books_get_items), next steps (books_create_payment, books_get_invoice), and a complete billing workflow. This offers clear when-to-use guidance and alternatives, going beyond simple context.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries the burden. It adds valuable behavioral context: it returns both active and inactive values and display labels, and it indicates error states ('Field not found' or 'Not a picklist') with remediation. It does not discuss read-only safety or permissions, but the name 'get' and the workflow context imply a non-destructive operation. This is more informative than a bare getter description.

    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 structured with clear sections (Prerequisites, Next Steps, Common Pattern, etc.) and front-loads the core purpose in the first line. It is longer than strictly necessary but each section earns its place by providing workflow guidance and error recovery, which aids agent decision-making.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a two-parameter tool with no output schema, the description is exceptionally complete. It explains what is returned (picklist values, active/inactive, display labels), how to use the results in subsequent tools, and how to handle errors. The common-pattern chain gives full end-to-end context, making the tool's role in the CRM workflow clear.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema already provides descriptions for both parameters ('Name of the field' and 'Name of the module'), giving 100% schema coverage. The description reinforces that module_name and field_name should come from field discovery but does not add new semantic details about format, validation, or examples. Baseline 3 is appropriate since the schema carries the weight.

    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 opens with a specific verb and resource: 'Get picklist values for a specific field in a module including active, inactive values and display labels.' This clearly states the tool's function and output scope, distinguishing it from sibling tools like crm_get_picklist_fields (which lists fields) and crm_get_field_details.

    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 prerequisites ('Use crm_get_fields first to identify picklist fields') and next steps ('Use picklist values for crm_validate_criteria...'). It also includes a common-pattern chain and error-recovery guidance, telling the agent when to use this tool and how to handle failures. This exceeds the minimum by giving a concrete workflow.

    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?

    Without annotations, the description carries the burden and does reveal the output nature (all field changes, activities, audit trail) and gives error recovery guidance. However, it does not mention pagination behavior, permission requirements, or whether the timeline includes deleted entries, leaving some 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 well-structured with bolded sections that front-load the core purpose and then efficiently add practical guidance. The workflow and error recovery sections are concise and directly usable, with no fluff.

    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 read-only tool with no output schema, the description gives a good high-level understanding of the return content. It also integrates the tool into a larger workflow, which helps the agent decide when and how to use it. However, without an output schema, it doesn't specify the structure of individual timeline entries, so some details remain missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema provides 100% coverage with descriptions for all six parameters. The description itself does not elaborate on parameter semantics but reinforces the need for record_id via prerequisites. Thus it adds marginal value beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's action ('Get timeline history for a CRM record') and specifies the content ('all field changes, activities, and audit trail'). It differentiates from siblings like crm_get_field_changes by positioning this as the comprehensive audit trail and explicitly suggesting the sibling for specific field tracking.

    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?

    Provides explicit prerequisites (use crm_search_records to find record_id), next steps (crm_analyze_activity_patterns, crm_get_field_changes), and a complete workflow chain. This gives unambiguous guidance on when to use this tool and how it fits into a broader analysis sequence.

    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?

    No annotations are provided, so the description carries full behavioral burden. It discloses prerequisites (read permissions), error recovery ('verify Desk product access and permissions'), and the response scope ('with supported entity types and configuration'), adding meaningful context beyond a simple 'Get all'.

    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 with clear section headers (Prerequisites, Next Steps, Workflow, Error Recovery). Every sentence adds value, and the main purpose is front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Despite having no output schema or annotations, the description covers purpose, prerequisites, workflow, and error handling. For a low-complexity list-read tool, it is complete enough for an agent to decide when to invoke it and what to expect.

    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 tool has zero parameters, so schema coverage is trivially 100%. Per the guidelines, 0-param tools receive a baseline of 4; the description does not need to explain parameters, and it adds context about the response contents.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get all departments in Zoho Desk' with a specific verb and resource, and differentiates from sibling tools like desk_get_entity_fields by focusing on department discovery. It has a clear, specific purpose.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides explicit next steps ('Use desk_get_entity_fields for entity analysis → desk_search_entities for records') and a workflow ('Department discovery → entity field analysis → ticket/contact operations'), giving clear context on when to use this tool. It lacks explicit exclusions but the workflow serves as a strong guide.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety profile. The description adds useful context beyond annotations, such as prerequisites (read permissions) and error recovery (verify People product access and API permissions), without contradicting the annotations.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with labeled sections: main purpose, prerequisites, next steps, workflow, and error recovery. Every sentence adds value, and the main purpose is front-loaded in the first line.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple zero-parameter discovery tool, the description covers purpose, prerequisites, next steps, workflow, and error recovery. This is sufficient for an agent to know when and how to invoke the tool, even without an output schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema has zero parameters, so baseline 4 applies. The description does not need to explain parameters, and it correctly avoids inventing any.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get all available Zoho People modules' with examples (Employees, Departments, Attendance, etc.), using a specific verb and resource. It distinguishes itself from the sibling tool crm_get_all_modules by specifying 'Zoho People' and from other People tools by its scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides clear usage context through 'Prerequisites' (Zoho People access with read permissions), a 'Next Steps' chain (people_get_fields → people_search_records), and a 'Workflow' (module discovery → field analysis → record operations). However, it does not explicitly state when not to use this tool or name alternative modules-listing tools, so it lacks explicit exclusions.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description adds context beyond the schema hints by noting it is a workflow starter, listing prerequisites, and providing error recovery advice. It clarifies that it is a list operation with filtering/pagination but does not detail rate limits or exact return behavior. Since no annotations are provided, the description carries reasonable burden and meets it well.

    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 well-structured with bold headers for Prerequisites, Next Steps, Workflow, Example, and Error Recovery. Each section is succinct and purposeful; no waste. It remains readable despite its length, and the use of arrows improves scannability.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given 15 optional parameters and no output schema, the description effectively provides workflow context, an example, and error handling. It lacks explicit details about the return structure (e.g., pagination metadata), but the tool's role as a list starter is well covered. This is slightly above average but not fully complete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The input schema covers 100% of parameters, so the baseline is 3. The description goes beyond by providing a concrete example using 'search_text' and 'per_page' and explaining the overall filtering/pagination concept. This adds practical meaning without duplicating schema details.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get customer list from Books with filtering and pagination', using a specific verb and resource. It also labels itself a 'WORKFLOW STARTER' and references the singular sibling tool 'books_get_customer' for detailed information, distinguishing itself from related tools.

    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 usage guidance: 'Prerequisites: Books access with customer management permissions', 'Next Steps' linking to other tools, and a 'Common Financial Workflow' chain. It also gives an example and error recovery instructions, making when-to-use and alternatives clear.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations exist, so the description carries the full burden. It adds useful behavioral context: mentions admin permissions for access issues and API rate limits as part of the returned data, implying a read-only operation. It doesn't explicitly state the response format or side effects, but for a get with no parameters, it covers key operational aspects.

    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 structured with bolded sections (Prerequisites, Next Steps, Common Pattern, Error Recovery) and front-loaded with the core purpose. It is slightly verbose but each section provides unique workflow context, so it earns a 4 rather than a 5.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the empty schema, no output schema, and zero params, the description is comprehensive: it states what to run before, what to do after, the common pattern, and error recovery. It fully equips an agent to integrate this tool into a broader workflow, so a 5 is warranted.

    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 tool has zero parameters, so there is no parameter semantics to elaborate. Per rubric, zero parameters yields a baseline score of 4. The description correctly omits parameter details.

    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 identifies the tool as retrieving organization features and limits, specifically listing API limits, storage, user counts, and enabled features. It distinguishes from the sibling crm_get_organization_details by focusing on features/limits, making the purpose unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly provides a prerequisite (use crm_get_organization_details first) and suggests next steps (crm_get_all_users, crm_get_all_modules) with a common pattern. It also includes error recovery guidance, giving clear contextual usage and alternatives.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the burden. It clearly indicates a read operation ('Get all roles') with no side effects, and adds error recovery context (empty list leads to organization setup checks). However, it does not explicitly state that it is read-only or disclose potential permission requirements, though the simple getter nature makes these less critical. It adds useful behavioral context beyond the raw name.

    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 front-loaded with the core purpose, then uses structured sections (Prerequisites, Next Steps, Common Pattern, Error Recovery) that each provide distinct value. No redundant filler; every sentence earns its place in guiding the agent.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a zero-parameter, no-output-schema read tool, the description is complete. It covers not just the action but also the surrounding workflow, integration with sibling tools, and failure handling. This gives the agent enough context to use the tool effectively in a larger task.

    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 tool has zero parameters, so schema coverage is trivially 100%. The description correctly focuses on workflow context rather than parameter details, which are unnecessary. Baseline for 0 params is 4, and the description does not need to add more.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get all roles in the organization' with a specific verb and resource. It distinguishes itself from siblings like crm_get_role_details (specific role) and crm_get_all_profiles (profiles vs roles) by explicitly scoping to all roles.

    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?

    Provides explicit prerequisites ('Use crm_get_all_profiles first'), next steps ('crm_get_role_details → crm_get_all_users → crm_update_role'), a common pattern, and error recovery instructions. This tells the agent exactly when and how to use this tool relative to alternatives, including when not to use it (e.g., if needing details, use role details).

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries the full burden for behavioral disclosure. It communicates the output contents (sections, fields, display rules) and includes error recovery ('If "Layout not found" error, verify layout_id with crm_get_layouts'). However, it does not explicitly state that the operation is read-only, though the verb 'Get' inherently implies it. This is a minor gap, so a 4 is given.

    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 well-structured with clear markdown sections (Prerequisites, Next Steps, Common Pattern, Error Recovery). Every sentence serves a purpose—providing the core purpose, workflow integration, and error handling—without redundant fluff. It is front-loaded with the main function and organized for quick scanning.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple read tool with one parameter and no annotations or output schema, the description is comprehensive. It explains what data is returned, how to obtain the required layout_id, how the tool fits into a larger workflow, and how to recover from errors. No additional context is necessary for an agent to use it correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema covers 100% of the parameter with a basic description ('ID of the layout'). The description adds meaningful context by advising to obtain the ID via crm_get_layouts, which clarifies the provenance and validity of layout_id. This additional guidance justifies a score above the baseline 3.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Get detailed metadata for a specific layout including sections, fields, and display rules,' which is a specific verb+resource+contents. It distinguishes itself from siblings like crm_get_layouts (which lists layouts) and crm_update_layout (which modifies), making its unique purpose unambiguous.

    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 usage guidance, including prerequisites ('Use crm_get_layouts first to discover available layout IDs'), next steps ('Use crm_update_layout to modify layout configuration'), and a common pattern 'crm_get_layouts → crm_get_layout_details → crm_update_layout'. This clearly indicates when to use this tool and what to use before/after it.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations exist, so the description carries the full burden. It clarifies that the tool returns a plan (tool sequence, parameters, expected outcomes) and implies it does not execute the steps since it says to execute them manually. However, it does not explicitly state read-only status, permissions, or side effects, though these are likely irrelevant for a plan retrieval.

    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 well-structured with clear sections: purpose, prerequisites, next steps, and example. Every sentence adds useful information without fluff. The example JSON is practical and space-efficient.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no output schema, the description sufficiently explains what is returned (complete tool sequence, parameters, expected outcomes). It also covers prerequisites, follow-up actions, and provides a usage example, making it fully complete for a simple single-parameter tool.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 100% for the single 'query_name' parameter, so baseline is 3. The description adds value by including a concrete example ('Hot Leads Pipeline Analysis') and a sample JSON body, plus pointing to get_smart_queries for discoverable names, enriching the schema description.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states 'Get detailed execution plan for a specific smart query' with a specific verb and resource. It clearly distinguishes from sibling 'get_smart_queries' by focusing on a plan for one named query rather than listing queries.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Explicitly states prerequisites ('Use get_smart_queries first') and next steps ('Execute the returned tool sequence manually'), giving clear guidance on when to use the tool and what to do after. This differentiates from alternatives and provides a workflow context.

    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

zoho-mcp-server MCP server

Copy to your README.md:

Score Badge

zoho-mcp-server 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/Mgabr90/zoho-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server