Skip to main content
Glama
Edison-Watch

mcp-template

by Edison-Watch

Server Quality Checklist

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

  • Disambiguation2/5

    Many tools have overlapping purposes, such as gmail_archive_thread and gmail_inbox.archive, or gmail_mark_thread_done and gmail_inbox.mark_done. The subtle differences (e.g., curation ledger updates) are not obvious, causing ambiguity for agents. Additionally, composer tools and non-composer tools are intermixed without clear delineation.

    Naming Consistency2/5

    Naming conventions are inconsistent: some tools use snake_case (gmail_archive_thread), some use camelCase (gmail_composer.save_draft), and some use dot notation (gmail_inbox.set_focus). There is no consistent verb_noun pattern, making it hard to predict tool names.

    Tool Count2/5

    With 50 tools, the server is overloaded. Many tools are redundant or could be consolidated (e.g., multiple archive/done/mark-read tools). A typical Gmail MCP server can operate with 15-25 tools; this exceeds that range significantly.

    Completeness3/5

    The tool set covers core Gmail operations like reading, sending, and managing drafts, plus advanced features like curation and webhooks. However, it lacks common operations like trash, label management, and filter creation, which are notable gaps.

  • Average 3.2/5 across 46 of 50 tools scored. Lowest: 2.3/5.

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

    • No community issues in the last 6 months
    • 31 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

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

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

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

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It only says the tool re-runs a curation process, implying it may have side effects, but it does not detail what those effects are, what data is modified, or any 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.

    Conciseness2/5

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

    The description is extremely brief (one sentence), but it omits critical information. It is under-specified rather than efficiently concise, which reduces its helpfulness.

    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 presence of three undocumented parameters, no annotations, and many sibling tools, the description is severely incomplete. It fails to explain parameter behavior, output, or how this tool fits into the broader workflow.

    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 for three parameters, and the description adds no information about them. The agent must guess the meaning and usage of 'limit', 'query', and 'user_id' based solely on 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 states a specific action ('Re-run gmail_curate_inbox') which identifies the tool's purpose. However, it does not differentiate this tool from siblings like gmail_curate_inbox itself, and the meaning of 'curate' is ambiguous without additional context.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It mentions being called by an inbox reader app, but does not specify conditions, prerequisites, or when not to use it.

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

  • 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 only says 'fetch', implying read-only, but does not explicitly state safety, permissions, 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.

    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 too brief to be adequately informative. It does not front-load critical context.

    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 lack of annotations and parameter explanations, the description is far from complete. It does not cover return values, usage context, or differentiation from similar sibling tools.

    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%; the description does not mention 'thread_id' or 'user_id', adding no meaning beyond the raw schema. It fails to compensate for the lack of schema explanations.

    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 'Fetch a single thread', which is a specific verb and resource. However, it does not differentiate from the sibling tool 'gmail_get_thread' which likely performs a similar function.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like 'gmail_get_thread' or 'gmail_inbox.reply'. No usage context is provided.

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

  • Behavior2/5

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

    No annotations provided, so description must convey behavior. It hints at a write operation ('store') but lacks details on persistence, side effects, auth requirements, or rate limits.

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

    Conciseness3/5

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

    Single sentence is concise, but lacks structure such as a summary or bullet points. Could be more informative without added length.

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

    Completeness2/5

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

    Despite having an output schema, the description fails to provide essential usage context, parameter meanings, or behavioral cues. An agent would struggle to use this 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?

    Schema description coverage is 0%. Description provides no explanation for any of the 6 parameters (e.g., from_, subject, messages, etc.), leaving agents without guidance.

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

    Purpose4/5

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

    Description clearly states verb 'store' and resource 'which thread the user is currently viewing', distinguishing it from siblings like gmail_inbox.open_thread and gmail_get_focused_email. The mention 'called by inbox UI' provides 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 on when to use this tool versus alternatives. It only states it's called by the inbox UI, but does not specify conditions for selection or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully convey behavioral traits. It implies mutation but does not disclose side effects, permissions required, reversibility, or what the output contains. The existence of an output schema is not utilized to clarify return values.

    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 short, consisting of a single phrase. While it is concise and front-loaded, it sacrifices completeness. Every word earns its place, but it omits important details that could be included without verbosity.

    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 is a simple undo action and an output schema exists (though not provided in the input), the description should still mention error conditions, authentication needs, or return value overview. It currently lacks contextual completeness for confident use.

    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%, meaning no parameter descriptions are in the schema, and the description adds none either. It does not explain the purpose of 'user_id' or the format of 'thread_id'. The description adds no value beyond the 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 clearly states the tool's purpose: 'Remove the done marker from a thread (undo mark-done).' It identifies a specific action on a specific resource. However, there is a sibling named 'gmail_unmark_thread_done' with an identical name and purpose, which could cause confusion.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'gmail_unmark_thread_done' or 'gmail_inbox.mark_done'. There is no mention of prerequisites, conditions, or typical contexts.

    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 provided, so description must carry behavioral disclosure. It only states the action and return value, omitting side effects, authentication requirements, idempotency, or error conditions.

    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 at one sentence, but it sacrifices necessary detail. It fits the minimum viable length but lacks informative 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?

    Despite having an output schema, the description fails to explain parameters or usage. For a tool with 3 parameters and no schema coverage, the description is incomplete.

    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%, but the description adds no meaning to the three parameters (url, user_id, event_types). The agent cannot infer parameter usage from the description.

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

    Purpose4/5

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

    Description uses specific verb 'Register' and resource 'webhook endpoint' and mentions return value. However, it does not differentiate from sibling tool 'webhook_subscribe', which likely serves a similar purpose.

    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 over alternatives like 'webhook_subscribe'. No context on prerequisites or typical use cases.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden. It only says 'Deactivate a webhook subscription', which implies mutation but lacks details on reversibility, idempotency, or side effects.

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

    Conciseness3/5

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

    Single sentence, front-loaded, but under-specifies critical information. Could be improved without adding length.

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

    Completeness2/5

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

    Despite having an output schema (not shown), the description omits parameter details and any behavioral context, making it incomplete 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?

    Schema description coverage is 0%. The description does not mention or explain any of the two parameters ('user_id' and 'subscription_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?

    Description states the verb 'Deactivate' and the resource 'webhook subscription', making the core purpose clear. However, it does not differentiate from sibling tools like 'settings.subscribe' or 'webhook_unsubscribe'.

    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, no context about prerequisites or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavior. It merely says 'Open your settings', implying a read-only navigation, but does not confirm safety, side effects, authentication needs, or what happens after opening. The agent learns little 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 a single sentence and concise, but it is under-specified. For a tool with one parameter and no annotations, more detail is needed to justify its brevity. It earns its place but lacks completeness.

    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 one parameter, no annotations, and an output schema (not shown), the description should contextualize the output and behavior. It does not address what the user sees or how to interact, leaving the agent with insufficient information 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?

    The schema has one optional parameter 'user_id' with no description coverage (0%). The description does not mention or explain this parameter, so it adds zero value beyond the schema. The agent cannot infer its purpose or default behavior.

    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 'Open your settings: Gmail connection status and webhook subscriptions', identifying both the action ('Open') and the resource ('settings'). It distinguishes the tool from siblings that modify subscriptions or perform other actions, though it does not specify what 'open' entails beyond viewing.

    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, scenarios, or contexts where opening settings is appropriate, 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.

  • Behavior1/5

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

    With no annotations, the description fails to disclose any behavioral traits such as authentication needs, error handling, rate limits, or what happens if the draft is not found.

    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, not verbose, but it lacks essential information; it is adequate in length but not optimally informative.

    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 fetch operation and existence of an output schema, the description is incomplete; it does not mention error scenarios 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 coverage is 0% and the description adds no meaning beyond the schema; it does not explain 'user_id' or the format of 'draft_id', 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 clearly states it fetches a single Gmail draft by ID, using specific verb 'Fetch' and resource 'single Gmail draft by id', distinguishing it from sibling tools like gmail_list_drafts.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like gmail_list_drafts or gmail_update_draft, nor any context or prerequisites 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?

    Description implies a destructive action but provides no details on side effects, irreversibility, permissions, or error conditions. Without annotations, this is insufficient for an AI agent to understand implications.

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

    Conciseness4/5

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

    Single sentence, concise. No unnecessary words. However, it is so brief that it sacrifices clarity. Still, it earns points for brevity.

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

    Completeness2/5

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

    Despite having an output schema, the description lacks context about the operation's impact (e.g., permanent deletion). It does not address potential errors or prerequisites, leaving the agent poorly informed.

    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 parameter (e.g., purpose of user_id, format of draft_id). Agent must rely solely on parameter names and types, which is inadequate.

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

    Purpose4/5

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

    Description clearly states the verb 'Delete' and resource 'draft', which is straightforward. However, it does not distinguish from sibling tools like gmail_discard_draft or gmail_composer.save_draft, so it lacks full 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 on when to use this tool versus alternatives (e.g., gmail_discard_draft). No prerequisites or use cases 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?

    No annotations exist, so the description must disclose behavior. It mentions persistence and sending, but provides no details on required permissions, rate limits, side effects, or error conditions. The mutation intent is implied but not explicit.

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

    Conciseness4/5

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

    Single sentence, no wasted words. However, it is so concise that it sacrifices clarity and completeness.

    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 8 parameters, required draft_id, and existence of output schema, the description is insufficient. It does not explain return values, prerequisites, or how the 'composer fields' are used.

    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 any of the 8 parameters. Parameters like cc, to, bcc, body, subject are not explained in context of the tool's action.

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

    Purpose4/5

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

    The description clearly states the action: 'send the draft via Gmail' and mentions persisting composer fields. It distinguishes the tool from siblings like save_draft that likely don't send. However, the term 'composer fields' is 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?

    No guidance on when to use this tool versus alternatives such as gmail_composer.save_draft or gmail_send. No when-not or selection criteria 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 must fully disclose behavioral traits. It only mentions deletion, but does not address permanence, authentication requirements, or side effects (e.g., whether the draft is permanently lost). This is insufficient for a destructive action.

    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, front-loaded with the key action. However, it lacks necessary elaboration, making it underspecified. It is efficient but not sufficiently informative.

    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 moderate complexity (2 parameters, destructive, output schema exists but not described), the description is too minimal. It fails to explain the output, error handling, or usage context. Sibling tools suggest a rich ecosystem, but this description isolates the tool without contextual connections.

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

    Parameters2/5

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

    With 0% schema description coverage, the description must explain both parameters. It clarifies draft_id via 'by id', but does not mention user_id at all, leaving its purpose ambiguous. The default value is not explained.

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

    Purpose4/5

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

    The description clearly states the action (Delete) and resource (Gmail draft) and the method (by id). However, it does not differentiate from the sibling tool gmail_composer.discard, which may perform a similar action.

    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 like gmail_composer.discard or context regarding prerequisites. The description only states the core action without usage context.

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

  • Behavior2/5

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

    No annotations provided, so the description must convey behavioral traits. It implies a mutation (issuing a new secret) but does not disclose consequences like old secret invalidation, required permissions, or whether the operation is reversible. This is insufficient for safe usage.

    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 that is front-loaded. However, it sacrifices essential detail for brevity, making it minimally adequate but not well-structured for completeness.

    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, an output schema exists but is not described, and the parameters are not explained. The description fails to provide a complete picture of the tool's behavior, input requirements, or effects, leaving significant 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?

    Schema coverage is 0%, but the description adds no explanation for the parameters (subscription_id, user_id). It does not clarify the role of user_id or how subscription_id is used. The description fails to add value beyond the raw 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 action ('Issue a new signing secret') and the resource ('webhook subscription'). It is specific and distinguishable from most sibling tools, though there is a similar 'webhook_rotate_secret' tool that may overlap.

    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 (e.g., webhook_rotate_secret), nor any prerequisites or conditions for rotation. The description lacks context for appropriate invocation.

    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 archiving removes the INBOX label and marks the thread dismissed in the curation ledger, as well as auto-advancing during triage. However, it does not mention authorization needs, rate limits, or side effects when not in a triage pass.

    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 three sentences long, with the main action in the first sentence. It is fairly efficient and front-loaded with the purpose. Minor waste could be trimmed, but overall 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?

    The tool has two parameters and an output schema. The description covers behavioral aspects but leaves out parameter documentation and return value explanation. Given the lack of annotations, this is incomplete for an agent to confidently use the 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 schema description coverage is 0%, so the description must explain parameters. It does not mention thread_id or user_id at all. The agent receives no guidance on what these parameters represent or how to use them.

    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 archives a Gmail thread by removing the INBOX label and mentions marking the thread dismissed in the curation ledger. This is a specific verb+resource combination. However, it does not explicitly differentiate from the sibling tool gmail_inbox.archive, which might have a similar purpose.

    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 implies use during a triage pass with the phrase 'During a triage pass, continue on to the next uncurated or stale thread.' But it provides no explicit guidance on when to use this tool versus alternatives like gmail_inbox.archive, nor does it state when not to use it.

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

  • Behavior2/5

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

    No annotations exist, and the description only says 'persist' without explaining behavioral traits like overwrite behavior, auth requirements, 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.

    Conciseness4/5

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

    Single sentence is concise and front-loaded, but could benefit from more detail without significant 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?

    Despite having an output schema, the description lacks context on return values, errors, or any additional behavioral detail needed given 8 parameters and no annotations.

    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 description adds no explanation for any of the 8 parameters beyond their 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?

    Description clearly states the action ('persist') and resource ('current composer fields onto an existing Gmail draft'), distinguishing it from sibling tools like send or discard.

    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 (e.g., save_draft vs send), or when not to use it.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility. It only states it fetches raw base64 data, but omits any behavioral context like authorization requirements, rate limits, error handling for missing attachments, or size limits.

    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 filler. However, some additional detail (e.g., a note on parameter usage) could be added without significant bloat, so it is not maximally concise for the information needed.

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

    Completeness2/5

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

    Despite having an output schema (so return values are covered elsewhere), the description lacks critical context: no mention of how to obtain attachment_id or message_id, and no usage guidance. For a simple fetch tool, it is minimally complete but leaves gaps.

    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 adds no meaning to the parameters (user_id, message_id, attachment_id). It fails to explain what each parameter represents or how to obtain them, leaving the agent to infer solely from parameter 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 verb ('Fetch'), the resource ('attachment'), and the format ('raw base64 data'), making it specific and distinguishable from sibling tools like gmail_add_attachment or gmail_remove_attachment. It fully explains 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 on when to use this tool versus alternatives such as gmail_get_attachment or other attachment-related tools. No context on prerequisites (e.g., message must be opened) or when not to use it.

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

  • Behavior2/5

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

    With no annotations, the description must disclose all behavioral traits. It only mentions removing the INBOX label but omits other effects (e.g., whether it marks as read, permissions needed, or irreversibility).

    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 that is directly to the point, but it could be slightly expanded without losing conciseness (e.g., adding a note about thread scope).

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

    Completeness3/5

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

    Given the presence of an output schema, the description is minimally adequate. However, it lacks information on error states, required permissions, or side effects, leaving gaps for such a simple 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%, and the description adds no explanation for the two parameters (user_id, thread_id) beyond their names. The agent must infer meaning from the 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 (archive) and the effect (removes INBOX label), making the purpose specific. However, it does not differentiate from the similar sibling 'gmail_archive_thread', which could cause confusion.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like gmail_archive_thread or gmail_inbox.mark_read. The agent receives no context about prerequisites or conditions.

    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?

    Despite no annotations, the description only states what the tool does without disclosing effects like whether it modifies the thread or adds a draft. Missing details like permissions needed 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.

    Conciseness4/5

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

    Single sentence, 10 words, no fluff. However, it could be expanded slightly to add value 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 tool has 4 parameters and an output schema, the description is too minimal. It does not explain what the output is, how the draft relates to the thread, or how this differs from similar tools like gmail_composer.save_draft.

    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 explanation for any of the 4 parameters. Only 'thread_id' is implied by the phrase 'for a message in a thread', but body, subject, and user_id are not explained.

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

    Purpose5/5

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

    Description clearly states the action ('Create'), the resource ('forward draft'), and the context ('for a message in a thread'). This differentiates from sibling tools like gmail_inbox.reply (reply to thread) and gmail_archive_thread (archive).

    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 (e.g., gmail_composer.send, gmail_inbox.reply). No mention of prerequisites like opening the thread or that it creates a draft that must be sent later.

    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 must disclose behavior. It only states the return type but does not mention network activity, auth requirements, error conditions, 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.

    Conciseness4/5

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

    Single sentence is concise, but could benefit from front-loading key information. No wasted words.

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

    Completeness2/5

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

    Given no annotations and one undocumented parameter, the description is too minimal. It does not clarify the role of user_id, prerequisites, or what the output looks like despite having an output schema.

    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 single optional parameter 'user_id'. It adds no meaning beyond the schema.

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

    Purpose5/5

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

    The description clearly states the tool returns a boolean about linked Gmail account, using specific verb 'Return' and resource 'whether the user has a linked Gmail account'. It distinguishes from sibling tools that perform actions or retrieve detailed data.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool vs alternatives, such as checking before using other gmail tools. Lacks any usage context.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It only states the basic action (register endpoint) but omits details such as authentication, rate limits, or effects on existing subscriptions.

    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. However, it is so brief that it sacrifices necessary detail 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?

    Despite having an output schema and 3 parameters with 0% schema coverage, the description does not explain return values or parameter behavior. It is incomplete for a registration 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?

    Schema description coverage is 0%, yet the description adds no meaning to the three parameters (url, user_id, event_types). It fails to explain their purpose or constraints.

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

    Purpose5/5

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

    The description clearly states the tool registers an HTTPS endpoint for signed webhook events. This specific verb+resource combination distinguishes it from siblings like webhook_list and webhook_unsubscribe.

    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 guidelines are provided. The description does not indicate when to use this tool versus alternatives, prerequisites, or scenarios where it should be avoided.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden. It only states the basic action without disclosing side effects, reversibility, or required permissions. The output schema exists but is not referenced.

    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 verbosity. However, it could be restructured to include more detail without losing conciseness.

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

    Completeness2/5

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

    Given the presence of an output schema and no annotations, the description is insufficient. It does not explain return values, confirmation, or integration with other webhook tools like 'webhook_subscribe'.

    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 adds no explanation for either parameter. The required 'subscription_id' is implied but not elaborated, and the optional 'user_id' is completely unmentioned.

    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 ('Deactivate'), the resource ('webhook subscription'), and the outcome ('stops receiving events'). It effectively distinguishes the tool from siblings like 'webhook_subscribe'.

    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 (e.g., existing subscription), or alternatives. It lacks explicit context for selection among siblings.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions 'OAuth flow' but does not disclose key behaviors like whether user interaction is required, if a redirect URL is returned, or that authentication may persist. This is minimal for an authentication 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 a single sentence, which is concise but too brief for an authentication flow. It lacks important details such as the outcome of the OAuth flow, making it less effective despite its brevity.

    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 an output schema (as noted in context signals), but the description does not clarify what the output contains (e.g., auth URL, tokens, success status). For a critical setup tool, more context is needed.

    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 sole parameter 'user_id' has a default value but no description in the schema (0% coverage). The tool description does not explain the purpose or format of this parameter, leaving the agent without needed context.

    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 initiates a Google OAuth flow to link a Gmail account. It uses a specific verb 'Begin' and resource 'Google OAuth flow' and distinguishes from sibling tools which focus on inbox actions, sending, etc.

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

    Usage Guidelines3/5

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

    The description implies that this tool is a prerequisite for other Gmail operations, but it does not explicitly state when to use it (e.g., 'call before other Gmail tools') or provide alternatives. No guidance on when not to use it.

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

  • Behavior3/5

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

    The description discloses key behavioral traits: it applies a label and hides from curated inbox. Since annotations are absent, the description carries the burden, but it lacks details on reversibility, permissions, or side effects. Adequate but not thorough.

    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. It efficiently communicates the purpose and primary effect.

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

    Completeness2/5

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

    Despite having an output schema (not provided), the description lacks usage guidance, parameter details, and differentiation from siblings. For a simple tool, it covers basic purpose but is incomplete for effective 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?

    The input schema has two parameters (user_id, thread_id) with 0% description coverage. The tool description provides no additional meaning about these parameters, such as required format or allowed values. Baseline 3 is not applicable because schema coverage is low.

    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 ('Mark a thread as done') and specifies the effect ('applies MCP/Done label, hides from curated inbox'). However, it does not differentiate from the sibling tool 'gmail_mark_thread_done', which may have identical behavior.

    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 siblings like 'gmail_archive_thread', 'gmail_inbox.mark_read', or 'gmail_mark_thread_done'. The description implies usage for marking done and hiding, but no explicit when-not or 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?

    With no annotations, the description alone must disclose behavior. It confirms the tool creates a draft and opens the composer, but does not address permissions, side effects (e.g., whether the draft is saved to the server), or any limitations. It provides basic transparency but lacks depth.

    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 conveys the core functionality without unnecessary words. It is front-loaded and to the point, earning full marks for brevity.

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

    Completeness2/5

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

    Given the complexity of a Gmail reply draft tool with 4 parameters (1 required) and zero schema descriptions, the description is too sparse. It fails to clarify parameter usage, return values, or integration with other tools like gmail_composer.save_draft. The presence of an output schema does not compensate for the lack of parameter 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 input schema has 0% description coverage, and the tool description does not explain any parameters (body, subject, user_id, thread_id). The agent must rely solely on parameter names, which is insufficient, especially for ambiguous fields like 'user_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 clearly states the action ('create a reply draft') and the resource ('on a thread'), with a note about the composer app opening. However, it does not explicitly distinguish this tool from similar sibling tools like gmail_reply_to_thread.

    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 lacks explicit when-to-use, when-not-to-use, or prerequisite information. The note about the composer app implies a workflow but is insufficient.

    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 provided. Description lacks details about permissions, rate limits, subscription renewal, or consequences of re-subscribing. Only a high-level purpose.

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

    Conciseness4/5

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

    Single sentence, no redundant words. 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.

    Completeness2/5

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

    With one parameter and no required fields, the tool seems simple, but crucial context like notification type, setup requirements, and return value format is missing. Output schema exists but description ignores it.

    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?

    Parameter 'user_id' has no description in schema or tool description. Schema coverage 0% forces description to clarify meaning, but it does not.

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

    Purpose5/5

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

    Description clearly states the action ('subscribe') and target ('user's Gmail inbox') with a specific outcome ('push notifications'). It distinguishes from siblings like gmail_watch_stop and webhook_subscribe.

    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 (e.g., webhook_subscribe). No mention of prerequisites or conditions for subscription.

    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 is minimal and does not disclose important behavioral traits beyond the obvious cancellation. There is no mention of side effects, required permissions, or what happens to existing watches, especially given the absence of annotations.

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

    Conciseness5/5

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

    The description is a single, concise sentence that is front-loaded with the essential action and resource, with no wasted words.

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

    Completeness2/5

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

    Given the tool has one parameter and at least one sibling (gmail_watch_start), the description is too sparse. It does not explain the result of the action, success criteria, or error scenarios, making it incomplete for an agent to use 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 parameter 'user_id' is not described in the description, and the schema coverage is 0%. The description adds no extra meaning beyond the parameter name, which is insufficient for an agent to understand its role.

    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 'Cancel' and the resource 'Gmail push-notification watch', which is specific and distinguishes it from its sibling gmail_watch_start.

    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 is implied that it should be used after starting a watch, 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 must cover behavioral traits. It only states the tool fetches the thread but does not disclose permissions, rate limits, or what constitutes a 'full thread.' The behavioral context 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.

    Conciseness4/5

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

    The description is a single concise sentence that front-loads the core action. However, it is somewhat under-specified for the required detail, but not 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 tool has an output schema and two parameters, the description omits essential context like expected input format for thread_id, behavior when user_id is not provided, and whether the thread must already be loaded. Incomplete for effective 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 does not explain either parameter (user_id or thread_id). It adds no meaning beyond the schema structure, failing to compensate for the lack of parameter 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 clearly states the tool fetches the full thread for display in the composer's thread panel, specifying the verb and resource. It distinguishes itself from the generic gmail_get_thread sibling by adding the composer context.

    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 the tool is for displaying a thread in the composer panel but does not explicitly state when to use it over alternatives like gmail_get_thread or any prerequisites. No when-not-to-use 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?

    No annotations provided, so description must convey behavioral traits. Only states 'list', missing details like pagination, ordering, or whether it returns full draft content. Insufficient for a tool with no 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?

    Single sentence with no fluff. 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?

    With output schema existing, description doesn't detail return format. However, for a list tool with no annotations, more context about behavior (e.g., sorting, draft state) would improve completeness.

    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 description adds no meaning to parameters (limit, user_id). Does not explain default behavior, maximum impact, or how user_id is used.

    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 specific verb 'List' and resource 'Gmail drafts' clearly distinguishing it from sibling tools like gmail_list_inbox. The purpose is immediately clear.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like gmail_get_draft or gmail_list_inbox. Missing context about appropriate scenarios or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavioral traits. It states the action (re-fetch draft) but does not clarify if the tool is read-only, destructive, or requires specific permissions. The description lacks transparency about side effects 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 a single sentence that immediately conveys the action and context. 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.

    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 and parameters, the description is too minimal. It does not cover when to call the tool, prerequisites, or the impact of the refresh operation. The presence of an output schema slightly reduces the burden, but the description lacks enough context for an agent to use it confidently.

    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%, meaning the input schema provides no descriptions for parameters. The tool description does not explain the meaning or usage of 'user_id' (optional with default) or 'draft_id' (required), leaving the agent with no guidance on how to populate them correctly.

    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 'Re-fetch' and the resource 'current draft'. It also provides context about its use in polling for agent edits, which distinguishes it from sibling tools like save_draft or send.

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

    Usage Guidelines3/5

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

    The description mentions it is 'used by the composer to poll for agent edits', giving some context. However, it does not explicitly state when to use vs alternatives or provide exclusions. The context is implied but not directive.

    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 reveals that the tool works by removing the UNREAD label, which adds behavioral context beyond the bare action. However, with no annotations provided, it lacks other important traits (e.g., reversibility, 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.

    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. Every word contributes to the purpose.

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

    Completeness2/5

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

    Given the low schema coverage (0%) and no annotations, the description is too brief. It does not explain the return value (output schema exists but is ignored) or provide sufficient context for the two parameters, leaving the agent underinformed.

    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 explain either parameter. The input schema has 0% description coverage, so the description should add meaning for 'thread_id' and 'user_id', but it fails to do so, leaving the agent without context on required identifiers.

    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 marks a Gmail thread as read by removing the UNREAD label. It uses a specific verb ('mark') and resource ('thread'), and distinguishes itself from sibling tools like gmail_archive_thread and gmail_mark_thread_done.

    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 archiving or marking done. It does not specify prerequisites, conditions, or exclusion cases.

    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 explicitly states that the old secret is invalidated, which is a destructive side effect. However, there are no annotations to rely on, and the description omits other behavioral details such as authentication requirements, rate limits, or whether the new secret is returned.

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

    Conciseness5/5

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

    The description is a single sentence that is concise, front-loaded with the action, and contains no superfluous information.

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

    Completeness3/5

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

    Given the tool's simplicity and the presence of an output schema, the description covers the main effect but lacks parameter details and usage context. It is adequate but leaves gaps 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 must compensate, but it provides no explanation for the two parameters ('user_id' and 'subscription_id'). The meaning of 'user_id' (optional, default '') is unclear, and 'subscription_id' is not explicitly linked to the described action.

    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 ('Issue a new signing secret') and the resource ('for a subscription'), and notes the side effect ('invalidates the old one'). However, it does not differentiate from the sibling tool 'settings.rotate_secret', which may have a similar purpose.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'settings.rotate_secret', nor does it mention prerequisites (e.g., an existing subscription) or typical use cases.

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

  • Behavior3/5

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

    No annotations provided; description discloses applying a label and marking in a ledger, but lacks details on other side effects (e.g., inbox visibility, thread 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.

    Conciseness4/5

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

    Two sentences; concise but could merge the second sentence about the curation ledger for better flow.

    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?

    Missing output schema description and parameter explanations; with no annotations, the description should provide more context for a tool with two parameters.

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

    Parameters1/5

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

    Schema description coverage is 0%; description does not explain the meaning or expected format of user_id or thread_id beyond the schema, leaving the agent underinformed.

    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 the tool marks a thread as done by applying a specific label and hiding it from the curated inbox. Distinguishes from archive and unmark siblings.

    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?

    Mentions usage during a triage pass and continuing to the next thread, but does not explicitly state when not to use it or describe alternatives among siblings.

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

  • Behavior2/5

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

    No annotations are provided, and the description fails to disclose behavioral traits such as whether sending deletes the draft, required authentication, or side effects. Only the basic action is described.

    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 unnecessary words. However, given the lack of parameter explanation, it could benefit from slightly 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?

    With no annotations and a 0% schema description coverage, the description is insufficient. It omits prerequisites (e.g., draft must exist), success behavior, and differentiation from sibling tools like gmail_composer.send.

    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 the 'draft_id' or 'user_id' parameters beyond their names. The description adds no semantics to what the schema already shows.

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

    Purpose5/5

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

    The description clearly states the action ('Send') and resource ('previously-composed Gmail draft'). It differentiates from sibling tools like gmail_composer.send (sends new email) and gmail_discard_draft (discards draft).

    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 you have a draft ID, but does not explicitly state when to use this versus alternatives like gmail_composer.send or gmail_discard_draft. No when-not 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 provided, the description carries the full burden of behavioral disclosure. It states the core action ('remove a label') but omits details like whether this is a permanent change, if it triggers any side effects (e.g., notifications), required permissions, or rate limits. For a mutation tool, more transparency is needed.

    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 12-word sentence that conveys the essential purpose without any fluff. It is front-loaded with the verb and resource, making it easy for an agent to quickly grasp the tool's function.

    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 is minimally adequate for a simple undo action, especially since an output schema exists (handling return values). However, it lacks parameter explanations and behavioral context, leaving gaps for an agent that could lead to incorrect usage or assumptions.

    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 add meaning to the parameters. It does not mention 'thread_id' or 'user_id' at all, leaving the agent to infer that 'thread_id' identifies the thread. No additional context about format, defaults, or optionality is provided.

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

    Purpose5/5

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

    The description clearly states the action ('remove the MCP/Done label') and the resource ('from a thread'), and explicitly frames it as an undo action for mark-done, distinguishing it from sibling tools like 'gmail_mark_thread_done' and 'gmail_inbox.mark_done'. The verb 'remove' is specific and the scope 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 provides no explicit guidance on when to use this tool over its siblings, such as 'gmail_inbox.unmark_done'. There is no mention of prerequisites, when not to use it, or context for choosing among similar tools. The implied usage ('undo mark-done') is insufficient for an AI agent to make informed decisions.

    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 provided, so description carries full burden. It discloses destructive behavior (revoke/remove) but lacks detail on side effects, reversibility, 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.

    Conciseness4/5

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

    Single concise sentence with no wasted words. However, it omits parameter details, making it slightly under-informative.

    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 existence of an output schema and one optional parameter, the description is adequate but incomplete. It doesn't explain parameter behavior or use case nuances.

    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 'user_id' parameter. Its purpose and effect remain unclear.

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

    Purpose5/5

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

    The description uses specific verbs ('revoke and remove') and identifies the resource ('user's linked Gmail account'). It clearly distinguishes from siblings like gmail_connect.

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

    Usage Guidelines3/5

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

    No explicit guidance on when to use this tool versus alternatives. Usage is implied from context, but no prerequisites 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?

    No annotations are provided, so the description must disclose behavioral traits. It only states the action without mentioning whether it's read-only, requires permissions, or has side effects.

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

    Conciseness5/5

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

    Two sentences, no filler, front-loaded with the core function. Every word adds 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?

    Given the lack of parameter documentation and behavioral transparency, the description is incomplete despite having an output schema which reduces the need for return value info.

    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 sole parameter user_id is not described at all. With 0% schema description coverage, the description should explain when or why to provide this parameter, but it does not.

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

    Purpose5/5

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

    The description clearly states 'Return the email thread the user is currently viewing in the inbox UI.' It uses a specific verb and resource, and distinguishes from siblings like gmail_get_thread which requires a thread ID.

    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 usage context: 'Call this when the user asks about...' but does not mention when not to use it or mention alternatives like gmail_get_thread for non-focused threads.

    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 solely discloses the behavior: removing the UNREAD label. This is accurate for a simple boolean toggle, but it omits idempotency (what if already read?), permission requirements, or consequences for related labels. Adequate but not thorough.

    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 at one sentence and front-loads the action. It avoids verbosity, but could be slightly expanded to include parameter hints without losing efficiency.

    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 an output schema, the description covers the core action. However, it lacks explanation of return value, edge cases (already read, invalid thread_id), and guidance on the optional user_id parameter. Completeness is adequate but not robust.

    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 any parameters. Given 0% schema description coverage, the tool relies entirely on this description to explain parameters. The names thread_id and user_id are somewhat self-explanatory, but the description adds no contextual meaning (e.g., format of thread_id, default behavior for user_id).

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

    Purpose5/5

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

    The description clearly states the action ('Mark a thread as read') and explains the effect ('removes the UNREAD label'). This distinguishes it from siblings like gmail_archive_thread which moves rather than marks. The verb+resource 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 like gmail_mark_thread_read or gmail_inbox.archive. There is no mention of prerequisites, thread state expectations, or cases where this tool is inappropriate.

    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 secrets are never returned, which is good for a read operation. However, it does not mention authentication, pagination, or other behavioral aspects beyond that.

    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 of 11 words, which is highly concise. It front-loads the key action and immediately adds a critical behavioral note about secrets.

    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 an output schema, the description is mostly adequate but lacks explanation of the user_id parameter and potential pagination or filtering. The behavioral note helps, but the parameter gap reduces completeness.

    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 sole parameter 'user_id' is not explained in the description. It is unclear what effect this parameter has or whether it allows listing others' subscriptions, which contradicts 'the caller's'.

    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 ('List') and resource ('webhook subscriptions') and clarifies scope ('the caller's'). It distinguishes from sibling tools like webhook_subscribe and webhook_unsubscribe by being 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 Guidelines3/5

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

    The description implies usage for viewing existing subscriptions but provides no explicit guidance on when to use this tool vs alternatives like webhook_subscribe or webhook_settings. No 'when not to use' or alternative mentions.

    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 bears the full burden of disclosing behavior. It truthfully describes the side effects (only attachments change) and the return value. However, it omits important details such as requirements for the draft to exist, size limits beyond the schema's maxLength, error handling, or permissions, leaving gaps in transparency 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.

    Conciseness5/5

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

    The description is two sentences with no fluff. The first sentence communicates the action, return value, and preservation of other fields; the second succinctly specifies how to pass the attachment. Every sentence is essential and front-loaded, making it 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 tool's simplicity, the description covers the core functionality well: what it does, what it returns, and the input format. It lacks details on error conditions or prerequisites (e.g., draft must exist), but the presence of an output schema and clear parameter schema mitigate this. It is reasonably complete for a single-purpose attachment tool.

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

    Parameters3/5

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

    The input schema already provides rich descriptions for each parameter (e.g., filename, MIME type, base64 data). The tool description adds a brief summary ('Pass the file as attachment (filename + mime_type + base64 data_base64)') but does not significantly enhance understanding beyond the schema. Since schema coverage is high, 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 attaches one file to an existing Gmail draft and returns the updated attachment list. It specifies what changes and what remains unchanged, making the purpose specific and actionable. However, it does not explicitly differentiate from sibling tools like gmail_remove_attachment or gmail_get_attachment, leaving some ambiguity for agents comparing options.

    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 when to use the tool (when adding an attachment to a draft without altering other parts) and states that only attachments change. It does not provide explicit context on when NOT to use it or mention alternative tools, but the guidance is sufficient for basic scenarios.

    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 mentions 'recent' but does not define recency, nor does it describe side effects (e.g., marking as read), rate limits, or pagination 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 (two sentences) and front-loaded with the core purpose. Every sentence adds 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?

    The description provides a minimal overview, but given that an output schema exists, return values need not be detailed. However, it omits important context such as message details returned, authentication requirements, and any limitations (e.g., only metadata).

    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 hints at the 'query' parameter by mentioning Gmail search query, but provides no explanation for 'limit' or 'user_id', leaving their meanings unclear.

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

    Purpose5/5

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

    The description clearly states the tool's purpose: listing recent inbox messages with optional filtering. It uses specific verbs and resources (list, inbox messages) and distinguishes from siblings like gmail_get_thread by implying it's for listing, not retrieving a single thread.

    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 instructs the agent to follow up with gmail_get_thread when a user asks for a specific email, providing clear guidance on when to use this tool and what to do next.

    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 must convey behavioral traits. It correctly indicates a read-only operation ('fetch'), but lacks details on authorization needs or rate limits. Acceptable for a simple get 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 sentence that is clear and to the point, with no wasted words or unnecessary 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?

    Given the presence of an output schema (which might detail return values) and the simplicity of the tool, the description is minimally adequate. However, it could elaborate on what 'settings snapshot' encompasses or any side effects.

    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 single parameter 'user_id' is not described in the schema (0% coverage) and the tool description provides no explanation of its purpose or usage. The description fails to compensate for the missing 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 clearly states the tool fetches a 'current settings snapshot' for the Settings app. The verb 'fetch' and resource 'snapshot' are specific, and it easily distinguishes from sibling tools like settings.subscribe or settings.rotate_secret.

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

    Usage Guidelines3/5

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

    No explicit guidance on when to use this tool versus alternatives. Usage is implied as a basic retrieval operation, but there are no clues about prerequisites or exclusions.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries the full burden. It discloses that the tool is cheap (no email bodies fetched, no reasoning run) and returns banked judgments plus coverage counts. However, it does not explicitly state idempotency or rate limits, but the read-only nature is implied.

    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 paragraph that front-loads the core purpose and then provides usage guidance. It is concise, but lacks structural elements like bullet points or explicit parameter descriptions. Still, it is efficient.

    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 output schema exists, the description adequately outlines return values. However, with 6 undocumented parameters, the description is incomplete for parameter usage. The presence of an output schema partially compensates, but the parameter documentation gap remains.

    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 6 parameters (limit, state, bucket, user_id, fresh_only, check_freshness) with 0% schema description coverage, yet the tool description does not explain any of them. The agent must rely on parameter names alone, which is insufficient for correct invocation.

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

    Purpose5/5

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

    The description clearly states the tool reads banked inbox triage from a curation ledger, specifying it returns judgments (bucket, importance, summary, suggested action) and coverage counts. It distinguishes itself from sibling tools like inbox_search and inbox_save_curation by emphasizing it is cheap and only returns precomputed 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 explicitly instructs to call this tool FIRST for triage requests, and provides clear conditional guidance: if coverage shows many uncurated or stale threads, then use inbox_search and inbox_save_curation; otherwise answer directly from banked verdicts. This clearly differentiates when to use this tool versus 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?

    No annotations provided, so description carries full burden. It discloses that results are annotated with ledger status (uncurated/stale/curated) and provisional importance_prior, and that since_history_id fetches only changes. No destructive behavior implied.

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

    Conciseness4/5

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

    Single paragraph of 4-5 sentences, front-loaded with purpose. No fluff, but could be structured slightly better with parameter 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?

    Fairly complete for a search tool: explains output structure, usage pattern. Missing details on query syntax, limit max, or user_id effect. Output schema presence helps but doesn't excuse all gaps.

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

    Parameters3/5

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

    Schema coverage is 0%, so description must compensate. It explains since_history_id well but says little about limit, query, or user_id. While output schema exists, input parameter documentation is incomplete beyond that.

    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 the tool searches recent inbox threads headlessly for thorough triage, distinguishing it from sibling tools like gmail_get_thread or inbox_save_curation by specifying the use case and mode.

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

    Usage Guidelines4/5

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

    Provides clear context for when to use (thorough triage) and how to use (pass since_history_id for incremental fetch, then bank verdicts with inbox_save_curation). Lacks explicit 'when not to use' but context is strong.

    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?

    Discloses key behaviors: attachment bytes omitted by default, metadata retained, options to include data or strip quotes. No annotations exist, so description carries full burden; could mention rate limits or auth requirements.

    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?

    Three sentences, concise and front-loaded with core action. The UI note is mildly tangential but still useful.

    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?

    Adequately covers retrieval logic and optional behaviors for a tool with output schema. No critical gaps for typical 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?

    Explains thread_id (implied), include_attachment_data, and strip_quoted_replies with added context. Does not mention user_id. Given 0% schema coverage, description adds significant meaning.

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

    Purpose5/5

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

    The description clearly states the tool fetches a Gmail thread by ID with full message bodies, using a specific verb and resource.

    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 guidance on default behavior (omitting attachments) and when to use optional parameters. Differentiates from gmail_get_attachment for fetching files, but lacks explicit when-not-to-use scenarios.

    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 explicitly states that only attachments change and body/subject/recipients are preserved, which is key behavioral context. With no annotations, this is valuable, though it doesn't cover error behavior or 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?

    Three sentences with no redundancy; first sentence gives core action, second clarifies side effects, third provides source for attachment_id. Front-loaded and 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?

    Given output schema exists, return values are covered. The description specifies the change scope and prerequisite, but could include error scenarios or scope requirements for a more complete picture.

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

    Parameters3/5

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

    Schema coverage is 0%, but the description adds meaning for attachment_id (source) and draft_id (implied), and partially for user_id (default only). It does not explain user_id's role or requirements.

    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 'remove' and the resource 'one file from a Gmail draft', and distinguishes it from siblings like 'gmail_add_attachment' and 'gmail_get_attachment'.

    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 explains that the attachment_id comes from 'any prior draft response or gmail_get_draft', implying when to use, but lacks explicit when-not-to-use or alternative tool references beyond the implicit distinction from add/get tools.

    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?

    Describes key behavioral traits: creates a real Gmail draft, opens an interactive composer UI, recipient default logic, and a specific error condition. It also advises on response brevity due to the UI. With no annotations provided, the description carries the full burden and does so 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?

    Two paragraph structure is concise and front-loaded with the purpose. Every sentence adds value—no filler. The description efficiently conveys all necessary information in about 120 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?

    Covers the core use case, edge cases, and behavioral expectations. While it doesn't detail output (output schema exists) or all parameters, it provides enough context for an AI agent to select and invoke the tool correctly given the complexity and sibling tools.

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

    Parameters3/5

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

    Adds meaning for to, cc, bcc, and body (e.g., default behavior for 'to', explicit control). However, subject, user_id, thread_id, and attachments are not explained in the description. Given 0% schema description coverage, the description compensates partially but not fully for all 8 parameters.

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

    Purpose5/5

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

    Explicitly states 'Create a reply draft on an existing Gmail thread' and distinguishes itself from composing reply text in chat. The description is specific about the resource (Gmail thread) and the action (create reply draft), making its purpose unmistakable.

    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 when-to-use instructions ('ALWAYS use this tool instead of composing reply text in chat') and covers an edge case (when 'to' must be explicitly passed if all messages are from the user). However, it does not explicitly compare to other sibling Gmail reply tools like gmail_inbox.reply.

    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 provided, but description discloses key behavior: stamps Gmail historyId to keep verdict valid until thread changes, and makes inbox_get_curation near-free. No contradictions.

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

    Conciseness5/5

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

    Approximately 80 words, well-structured, front-loaded with purpose, no redundant sentences. Each sentence earns its place.

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

    Completeness4/5

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

    Given presence of an output schema (not shown), description covers input parameters adequately and explains postcondition. Missing nothing critical for a save operation.

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

    Parameters3/5

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

    Description lists the fields of ThreadJudgment (bucket, importance, summary, suggested action, reasoning/confidence) but does not mention user_id or curator_version. Schema coverage is 0% for properties, so description adds some value but not fully comprehensive.

    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 the action ('bank triage judgments into curation ledger') and the resource, distinguishes from siblings like inbox_get_curation and inbox_search by indicating sequence.

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

    Usage Guidelines4/5

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

    Explicitly says 'Call this after reading and reasoning over threads (typically from inbox_search)', providing clear when-to-use context, though no explicit when-not or alternatives.

    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?

    Discloses that it creates a draft, returns saved state, and opens an interactive UI. No annotation 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 informative and well-structured, but slightly wordy with 5 sentences.

    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?

    Covers essential behavior, return values, and editing workflow, but could include more parameter details given the complexity.

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

    Parameters2/5

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

    With 0% schema description coverage, the description does not elaborate on individual parameters, only stating 'from the given fields'. The schema is self-explanatory but the description adds minimal parameter context.

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

    Purpose5/5

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

    The description clearly states it creates a new Gmail draft and opens an interactive composer UI, distinguishing it from siblings like gmail_send and gmail_update_draft.

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

    Usage Guidelines5/5

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

    Explicitly tells the agent to always use this tool instead of composing email text in chat, and mentions alternatives like gmail_update_draft for editing.

    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 full burden. It discloses that the ranking is deterministic heuristic (not LLM-based) and that it renders a dashboard. Minor omission: no mention of any potential side effects or permissions, but it is safe for a read-like 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, well-structured paragraph. It front-loads the primary purpose, then provides caveats and usage guidance. Every sentence adds value, and there is no wasted text.

    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 that the tool has an output schema (so return values don't need explanation) and the description clearly covers purpose, alternatives, and UI behavior, it is complete for an inbox curation tool of moderate complexity.

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

    Parameters2/5

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

    Schema description coverage is 0%; the description does not mention any of the three parameters (limit, query, user_id). The schema provides basic info (type, defaults), but the description adds no semantic guidance on how to use these parameters 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 starts with a clear verb and resource: 'Rank recent inbox threads by a deterministic heuristic score and render the inbox dashboard.' It distinguishes the tool from sibling tools by stating it is a quick provisional view, not the assistant's own triage.

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

    Usage Guidelines5/5

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

    Explicitly states when to use this tool (for a quick provisional view) and when not to (for triage, prefer inbox_get_curation). Also provides guidance on UI interaction: keep response brief when UI is rendered.

    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 provided, so description carries full burden. It discloses that data_base64 is raw encoded bytes, not a rendered image, and notes that on vision-capable hosts images are rendered as viewable. Lacks details on error handling or authentication, but covers the core 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?

    Two concise sentences: first defines the action, second provides usage guidance and a behavioral warning. No fluff, every sentence adds value.

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

    Completeness4/5

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

    Covers the main aspects: what it does, how to identify attachment, output format, and image rendering caveat. Output schema exists but not shown; still, description is fairly complete. Could mention error scenarios but not critical.

    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 has 0% description coverage, but description adds meaning: explains that message_id and attachment_id come from gmail_get_thread. Does not explain user_id (optional) but overall compensates for 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 clearly states it fetches raw base64 bytes of a single attachment or inline image, identifying the resource (attachment) and action (fetch). It distinguishes from siblings like gmail_get_thread and gmail_add_attachment by specifying it pulls one file on demand.

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

    Usage Guidelines5/5

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

    Explicitly says to use when you need a single attachment instead of loading all, and warns that data_base64 is raw bytes, not a rendered image. Also mentions how to obtain message_id and attachment_id from gmail_get_thread.

    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?

    No annotations are provided, so the description fully discloses behavior: non-destructive by default, fields omitted unchanged, null cleared, attachment handling with mixing inputs and references, and that the returned draft echoes the saved state.

    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 core action and is detailed but not verbose. Every sentence adds value, though it could be slightly more concise without losing clarity.

    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 8 parameters, nested objects, and an output schema, the description covers all aspects: mutation behavior, attachment handling, return value, and usage guidance. No gaps remain.

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

    Parameters5/5

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

    Schema coverage is 0%, but the description adds detailed semantics: explains effect of omitting vs null for each field, and for attachments how to mix new uploads with references. This compensates fully for the missing 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 clearly states it patches an existing draft and opens an interactive UI. It distinguishes from siblings like gmail_add_attachment and gmail_remove_attachment by explicitly preferring those for single-file operations.

    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?

    It instructs to always use this tool for writing/editing draft content, never to compose plain text. It specifies when to use sibling tools for attachments and advises keeping responses brief since the user can edit in the UI.

    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

Custom-MCPs MCP server

Copy to your README.md:

Score Badge

Custom-MCPs MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Edison-Watch/Custom-MCPs'

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