Skip to main content
Glama
seandkendall

productivity-mcp

by seandkendall

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose. Single vs bulk operations are explicitly separated, email, calendar, task, and contact tools are grouped by domain, and search utilities have specific scopes (by sender, threads, events). No two tools appear to overlap in functionality.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with lowercase underscores (e.g., 'create_event', 'list_emails', 'delete_event'). No mixing of camelCase or other conventions, making it easy for an agent to predict tool names.

    Tool Count4/5

    With 39 tools covering email, calendar, tasks, and contacts, the count is on the higher side but still reasonable for a comprehensive productivity suite. Each tool serves a distinct purpose, and the breadth is justified by the domain's complexity.

    Completeness4/5

    The tool surface is largely complete, covering CRUD for email (including bulk operations and drafts) and calendar (including free/busy and suggestion), plus tasks and contacts. Minor gaps like missing update/delete for tasks are not critical for most use cases.

  • Average 3.3/5 across 39 of 39 tools scored. Lowest: 2.4/5.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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?

    The only behavioral trait disclosed is 'rate-limited'. With no annotations, the description should cover more (e.g., atomicity, error handling, permission requirements). It fails to do so.

    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 only two sentences, which is concise. However, it sacrifices necessary detail for brevity, making it insufficiently 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 four parameters, no annotations, and an output schema that is not referenced, the description lacks completeness. Important details like parameter meanings, source folder role, and response structure are omitted.

    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 any of the four parameters. Schema description coverage is 0%, so both schema and description are silent on what 'account' and 'folder' (source?) mean. This leaves the agent guessing about required inputs.

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

    Purpose4/5

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

    The description clearly states it moves many emails to another folder/label in one call, distinguishing it from the singular 'move_email' sibling. The verb 'move' and resource 'emails' are explicit, though 'folder/label' slightly broadens the scope.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like 'move_email' for single moves or 'bulk_delete_emails' for deletion. The mention of 'rate-limited' is a caution but not a usage guideline.

    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 'move', omitting details like whether the move is permanent, supports labels vs folders, or requires specific permissions. These gaps are critical.

    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 overly terse. It lacks necessary details, making it insufficient despite being front-loaded.

    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, 0% schema coverage, and 4 parameters, the description provides no return value info, no behavioral context, and no parameter explanations. It is woefully 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%, and the description does not explain any parameters. The distinction between 'folder' and 'target_folder', or the purpose of 'account', is left unclear.

    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 'Move' and the resource 'email' with destination 'folder/label'. It is specific enough for a single-email move, but does not distinguish from the sibling tool 'bulk_move_emails'.

    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 over alternatives (e.g., bulk_move_emails for multiple emails). No context about 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?

    With no annotations, the description is the sole source for behavioral traits. It only states that the tool creates an event and uses ISO 8601 times, but omits details like authorization needs, rate limits, side effects, or error handling. This is insufficient for an 8-parameter creation 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 short (two sentences) and to the point, but it sacrifices informativeness for brevity. It earns its place without fluff, but could be more structured to include key behavioral notes.

    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 8 parameters, 0% schema coverage, and no annotations, the description is severely incomplete. It fails to explain optional parameters, output structure, or edge cases like timezone handling or recurrence. It does not meet the needs of an AI agent.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description must compensate. It adds meaning to start/end by specifying ISO 8601 format but leaves six other parameters (account, calendar, description, location, attendees) unexplained. The description adds marginal value beyond the schema.

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

    Purpose4/5

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

    The description clearly states the tool creates a calendar event and specifies that times are ISO 8601. It is distinguished from sibling tools like update_event and delete_event by the verb 'create'.

    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, no prerequisites are mentioned, and no exclusions are given. The description lacks context for effective decision-making.

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

  • Behavior2/5

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

    With no annotations, the description should disclose key behaviors like whether the original email content is included, attachment handling, or response expectations. It only mentions forwarding and an optional note, leaving much unspecified.

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

    Conciseness3/5

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

    The description is concise and front-loaded, but its brevity sacrifices necessary detail. It is appropriately short for a simple tool but incomplete for practical use.

    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 6 parameters and lack of annotations, the description is too sparse. It does not explain the return value (output schema exists) or how the forward operation handles attachments, threading, or original content.

    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 partially explains the 'body' parameter as an optional note, but ignores other parameters like account, folder, html. Insufficient 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?

    The description clearly states the action (forward an email), the target (new recipients), and an optional feature (prepending a note). It distinguishes from other email tools like reply_email or send_email.

    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 forward_email versus siblings like reply_email or send_email. The description lacks any contextual cues or alternatives.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits, but it only says 'list calendars on an account.' It doesn't mention read-only nature, authentication needs, pagination, or whether it returns all calendars including hidden ones.

    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?

    Extremely concise (5 words), but at the cost of providing essential context. It is not overly verbose, but it lacks necessary details for an agent to use it effectively.

    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 existence of an output schema, a parameter, and many sibling tools, the description is incomplete. It does not explain the parameter's effect, output structure, or when to use/avoid it.

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

    Parameters1/5

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

    Schema description coverage is 0%. The description mentions 'on an account' but does not explain the 'account' parameter: whether it filters by a specific account or lists across all accounts. The parameter is optional but its effect is 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 'List calendars on an account,' which is a specific verb and resource. It distinguishes from sibling tools like 'list_calendar_accounts' (lists accounts) and 'get_event' (retrieves a specific event).

    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 'list_calendar_accounts' or after creating events. No context about 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?

    With no annotations, the description should fully disclose behavioral traits. It only mentions the reply_all option but lacks other important details such as whether it creates a thread, modifies the original email, or requires authentication.

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

    Conciseness4/5

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

    The description is a single, front-loaded sentence that conveys the core action efficiently without waste.

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

    Completeness2/5

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

    Given 6 parameters, no annotations, and many sibling tools, the description is too sparse. It does not explain return values (though output schema exists), parameter details beyond one, or usage scenarios.

    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 description must compensate. It adds meaning only for reply_all ('include original Cc list'). Other parameters like message_id, body, account, folder, html are not elaborated, leaving the agent 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?

    The description clearly states that the tool replies to an email, which is a specific verb+resource. It distinguishes from send and forward by mentioning reply_all behavior, but does not explicitly differentiate from siblings like forward_email.

    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?

    Only a brief instruction on when to set reply_all=True. No guidance on when to use this tool versus alternatives like forward_email or send_email, nor any exclusions or prerequisites.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only says 'Returns the provider message id.' It does not disclose behavioral traits such as authentication requirements, rate limits, or error 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 sentences, no fluff. Every word contributes to the core purpose and output. Appropriately sized.

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

    Completeness2/5

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

    Despite having 7 parameters and an output schema (not shown), the description is too sparse. It fails to explain parameter relationships, constraints, or the expected behavior of 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 description adds no information about any of the 7 parameters. With 0% schema description coverage, the agent must rely solely on parameter names and types, which are insufficient for correct usage.

    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 an email') and the resource, and mentions the return value. However, it does not differentiate from sibling tools like forward_email or reply_email, 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 (e.g., reply_email, forward_email, send_draft). The agent must infer from the name alone.

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits like idempotency, required permissions, or side effects. It only states the basic operation without additional context.

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

    Conciseness4/5

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

    The description is a single sentence with no wasted words. It could be more structured to include parameter details, but it is concise for the information provided.

    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 4 parameters and no annotations, the description is incomplete. It does not explain how to use the optional parameters or the output schema's role.

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

    Parameters2/5

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

    The input schema has 4 parameters with 0% description coverage. The description only explains the 'read' parameter, leaving 'message_id', 'account', and 'folder' unexplained.

    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 an email as read or unread') and specifies the role of the 'read' parameter. However, it does not explicitly differentiate from sibling tools like 'bulk_set_read', which likely marks multiple emails.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives (e.g., bulk_set_read for multiple emails). The description does not mention 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?

    With no annotations, the description must convey behavioral context, but it only states the generic list operation. It does not mention authentication, whether drafts are ordered, or that the 'limit' parameter controls pagination.

    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 single sentence is concise and front-loaded, but it lacks any additional structure (e.g., parameter hints or usage notes). It earns its place but could be more informative without bloat.

    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 two optional parameters, the description is incomplete. It does not explain the expected return format, behavior of 'account' (null means primary?), or the effect of 'limit'.

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

    Parameters1/5

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

    The schema has 0% description coverage, and the description adds no information about the 'account' or 'limit' parameters. The agent must infer their meaning from names alone, which is insufficient.

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

    Purpose5/5

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

    The description 'List pending email drafts' clearly states the verb (list) and the resource (pending email drafts), distinguishing it from siblings like 'list_emails' which lists all emails.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives (e.g., 'list_emails' for all emails, 'save_draft' for saving). There are no exclusionary notes or context for typical use.

    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. The description only clarifies the 'due' parameter format. It does not disclose side effects, return behavior, or authentication needs.

    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?

    Very short, two sentences. First sentence states purpose, second adds parameter info. Front-loaded and no wasted words, though could be more informative.

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

    Completeness1/5

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

    No annotations, 0% schema coverage. Despite having an output schema, the description lacks necessary behavioral and usage context. AI agent would need more information to invoke correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%. The description adds meaning only for 'due' (ISO 8601, optional). Other parameters (title, account, notes) are not explained 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?

    The description clearly states 'Create a new task,' which is a specific verb and resource. It distinguishes itself from siblings like list_tasks and create_event.

    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. The description only mentions the 'due' parameter format, but not context or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must compensate. It does not disclose important traits such as irreversibility, recurrence handling, permission requirements, or side effects like cascade deletions.

    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, it could be slightly more informative 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 complexity of event deletion (recurring events, permissions, side effects) and the lack of annotation support, the description is too sparse. It does not mention return values or behavior for non-existent events, leaving important 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 description coverage is 0%, and the description only adds context for 'event_id' (by id). The optional 'account' and 'calendar' parameters are left unexplained, forcing reliance on parameter names alone.

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

    Purpose5/5

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

    The description clearly states the verb 'delete' and the resource 'calendar event', with the identifier 'by id'. This distinguishes it from siblings like create_event, get_event, and update_event.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool over alternatives (e.g., respond_event for cancellation) or when not to use it. No exclusions or prerequisites 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 provided, so description must disclose behavior. It only states output format but does not mention pagination, error conditions, or that it is a read operation. Minimal behavioral disclosure.

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

    Conciseness5/5

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

    Single sentence with output format; every word is informative. No redundancy or trivial 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?

    Tool has 3 parameters (1 required), no annotations, and moderate complexity. Description lacks parameter explanations and behavioral details beyond output format, making it incomplete for reliable invocation.

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

    Parameters1/5

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

    Input schema has 3 parameters (message_id, account, folder) with 0% schema description coverage. Description adds no explanation of parameter meaning or usage, failing to compensate for schema gaps.

    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 verb (list), resource (attachments on a message), and output structure (fields: attachment_id, filename, mime_type, size). It distinguishes from siblings like list_emails and download_attachment.

    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., download_attachment). No prerequisites or conditions for use are mentioned.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It only states the action but gives no details on behaviors like read-only, authentication requirements, or scope of data.

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

    Conciseness4/5

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

    The description is concise at one sentence with no redundant words. It is appropriately sized for a simple tool, though could benefit from minor expansion.

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

    Completeness2/5

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

    The description lacks specification of output details, handling of optional account, and any constraints. The output schema may provide some completeness, but the description alone is insufficient.

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

    Parameters3/5

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

    The description adds context that the account parameter identifies the email account, which is not evident from the schema alone. However, no format or constraints are given, and schema description coverage is 0%.

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

    Purpose4/5

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

    The description clearly states the tool lists folders/labels for an email account, distinguishing it from siblings like list_emails or list_calendars. However, it is generic and does not specify the scope of folders/labels returned.

    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, nor any prerequisites or context. The description simply states the action without usage recommendations.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only explains sender format and OR combination. It omits important behaviors like result ordering, pagination (limit parameter), and read-only nature, leaving significant gaps.

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

    Conciseness4/5

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

    The description is short (two sentences) and front-loaded, with no fluff. However, it could benefit from a structured format listing parameters and their semantics.

    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 on result ordering, pagination limits, and the meaning of other parameters. It is incomplete for a search tool with 5 parameters.

    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%, but the description only explains one parameter (senders) out of five. It fails to document account, folder, since_days, or limit, which the schema alone does not explain.

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

    Purpose5/5

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

    The description clearly states the tool lists emails from specific senders or domains, using a specific verb 'List' and resource 'emails'. It distinguishes from siblings like list_emails and search_threads by highlighting sender-based filtering.

    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 list_emails or search_threads. The description lacks usage context and does not mention exclusions or prerequisites.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden. It only says 'send', implying mutation, but does not disclose what happens to the draft after sending, authentication requirements, 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.

    Conciseness4/5

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

    The description is a single short sentence, concise and to the point, but could benefit from additional structured details 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 presence of siblings and a non-trivial parameter set, the description is insufficient. It does not cover return values, parameter behavior, or usage context that would help an agent invoke the tool correctly.

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

    Parameters2/5

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

    With 0% schema description coverage, the description adds no detail beyond the parameter names. The 'account' parameter is ambiguous, and the description does not clarify its purpose or accepted values.

    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', the resource 'existing draft', and the required identifier 'by id'. It effectively distinguishes this tool from siblings like 'save_draft' and 'send_email'.

    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 'send_email' or 'save_draft'. There is no mention of prerequisites (e.g., draft must exist) or when not to use.

    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 bears full burden. Only states 'list tasks' without mentioning behavior like pagination (limit parameter), ordering, default account behavior, or read-only nature.

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

    Conciseness5/5

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

    Two sentences efficiently convey the core purpose and platform support. Front-loaded with the main action.

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

    Completeness2/5

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

    Given low complexity (2 params) and presence of output schema, the description still falls short by not explaining parameter behaviors or output structure. Leaves significant gaps in understanding.

    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%, but description adds no meaning to the 'account' or 'limit' parameters. Does not explain default values or accepted formats.

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

    Purpose5/5

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

    Clearly states the tool lists tasks from the account's task list, specifying supported platforms (Google Calendar, EWS/WorkMail). This distinguishes it from siblings like create_task and other email/event tools.

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

    Usage Guidelines3/5

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

    Mentions supported platforms, giving context on when the tool is applicable. However, no explicit guidance on when to avoid it or prerequisites (e.g., account must have a tasks folder).

    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 states 'full detail' hinting at rich output, but does not disclose any behavioral traits such as read-only nature, rate limits, or authentication needs. The description is adequate but minimal.

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

    Conciseness5/5

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

    The description is a single sentence that directly states the tool's purpose with no extraneous words. It is efficiently front-loaded and every word earns its place.

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

    Completeness2/5

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

    Given the tool has 0% schema description coverage and no annotations, the description should compensate with parameter semantics and usage guidance. While purpose is clear, the lack of parameter detail and usage context makes it incomplete for an agent to reliably invoke without additional inference.

    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, yet the description provides no explanation of parameters (event_id, account, calendar). It does not clarify that event_id is required or the purpose of optional account/calendar parameters, leaving the agent to infer from names alone.

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

    Purpose5/5

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

    The description uses the verb 'Fetch' with resource 'single calendar event' and qualifier 'full detail', clearly distinguishing from sibling tools like list_events (multiple events) and search_events (query-based). It unambiguously identifies what the tool does.

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

    Usage Guidelines3/5

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

    The description implies the tool is for retrieving a specific event with full detail, but does not explicitly state when to use it versus alternatives like list_events or search_events. No exclusion criteria or prerequisite context is given.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden but only provides minimal behavioral info (response values). It does not mention side effects, idempotency, permissions required, or what happens upon acceptance/decline.

    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 short sentences, direct and to the point. No redundancy or 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?

    The description lacks completeness for a state-changing tool. It does not mention any output, error conditions, or behavioral nuances. Even though an output schema exists, the description fails to guide the agent on usage flow or constraints.

    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 only explains the 'response' parameter's allowed values, leaving 'event_id', 'account', and 'calendar' unexplained. This 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 verb 'respond' and the resource 'meeting invitation', and lists the valid response values. It distinguishes from sibling tools like create_event or delete_event.

    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 responding to invitations but does not explicitly state when to use this tool versus alternatives like updating an event. No context on prerequisites or typical workflow.

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

  • Behavior3/5

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

    Hints at partial update behavior with 'Pass only the fields you want to change' and mentions ISO 8601 for times. No annotations exist, so description carries some behavioral clues but lacks depth (e.g., idempotency, success/failure responses).

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

    Conciseness5/5

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

    Two sentences with no wasted words. Front-loads the core action and key constraints.

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

    Completeness2/5

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

    Given 9 parameters and many sibling tools, the description is too sparse. No mention of output structure (though output schema exists), no differentiation from 'respond_event' or 'get_event'. Agent may not know if updates are idempotent or if partial updates preserve other fields.

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

    Parameters2/5

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

    Schema coverage is 0% and description only adds meaning for 'start' and 'end' (ISO 8601). Other 7 parameters like 'summary', 'description', 'attendees' are not explained, leaving the agent to infer from names alone.

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

    Purpose5/5

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

    Description clearly states 'Update an existing event' with specific verb and resource. Differentiates from siblings like 'create_event' and 'delete_event'.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives such as 'respond_event' or 'get_event'. Assumes understanding without 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 exist, so the description must fully disclose behavior. However, it only states the action without mentioning side effects, rate limits, authentication, or whether the operation is read-only, leaving significant gaps.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no unnecessary words, earning its place by being efficient and front-loaded.

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

    Completeness3/5

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

    Given the tool's simplicity and existence of an output schema, the description covers the core purpose and optional filter but misses the account parameter and behavioral context, making it marginally complete.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description should compensate. It partially explains 'folder' and 'since_days' but completely omits the 'account' parameter, failing to add meaning for all 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?

    The description clearly states the tool counts unread messages in a folder with an optional time filter, effectively distinguishing it from sibling tools like count_emails and list_emails.

    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 a usage context (counting unread messages) but does not provide explicit guidance on when to use this tool versus alternatives, 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.

  • Behavior3/5

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

    The description discloses that it returns counts of successes and failures and is rate-limited, which are useful behavioral traits. However, with no annotations provided, it omits details like authentication requirements, atomicity, or partial failure behavior, leaving gaps 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 extremely concise with three short sentences that convey the core function, return type, and a constraint. No unnecessary words.

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

    Completeness2/5

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

    Given the tool has four parameters with no schema descriptions and an output schema, the description is insufficient. It does not detail the format of message_ids, the meaning of account or folder parameters, or error conditions, leaving significant gaps for correct invocation.

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

    Parameters2/5

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

    The description adds minimal parameter meaning: it implies that the 'read' boolean controls read/unread status, but it does not explain 'account' or 'folder' parameters. Since schema description coverage is 0%, the description should do more to compensate.

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

    Purpose5/5

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

    The description clearly states the action ('Mark many emails read/unread') and the resource ('many emails'). It distinguishes itself from siblings like 'set_email_read' (singular) and other bulk actions like 'bulk_delete_emails'.

    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 bulk usage ('in one call') and mentions rate-limiting, but it does not explicitly contrast with alternatives such as 'set_email_read' for single emails or provide conditions for when to use this tool over others.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It usefully discloses that deletion behavior differs by email provider (permanent on IMAP, recoverable on Gmail). However, it omits other potential traits like permission requirements or error scenarios.

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

    Conciseness5/5

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

    The description is a single front-loaded sentence that immediately states the main purpose, then adds key nuance. No redundant 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?

    Though an output schema exists, the description fails to explain optional parameters and does not cover prerequisites or error conditions. The behavioral difference is noted, but overall completeness is lacking for a tool with zero schema descriptions.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description must compensate. It does not explain any of the three parameters (message_id, account, folder), leaving the agent to infer meaning from names alone. This is insufficient.

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

    Purpose5/5

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

    The description clearly states the verb 'Delete' and the resource 'email', and provides specific behavioral details (IMAP expunges, Gmail moves to Trash). This distinguishes it from sibling tools like bulk_delete_emails or delete_event.

    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 single-email deletion but does not explicitly state when to use this tool versus alternatives like move_email or bulk_delete_emails. No when-not guidance 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 exist, so the description bears full burden of behavioral disclosure. It only states the core function without mentioning whether the operation is read-only, if any permissions are needed, or what counts as 'configured'. This is insufficient for agents needing to understand side effects.

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

    Conciseness5/5

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

    The description is exceptionally concise with three words, front-loaded with the action and resource, and contains no redundant information. Every word serves a purpose.

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

    Completeness3/5

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

    Given the zero-parameter signature and presence of an output schema (not shown), the description is minimally adequate. However, it does not explain what 'configured' means or hint at behavior like whether the list is ordered or paginated. It meets the minimum for a trivial tool.

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

    Parameters4/5

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

    No parameters exist, so the baseline is 4. The description adds no parameter-level detail, which is acceptable since there is nothing to add 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 uses the specific verb 'List' and identifies the resource as 'configured calendar accounts', clearly differentiating it from sibling tools like 'list_calendars' (which likely lists calendars within an account) and 'list_email_accounts'.

    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, no prerequisites, and no context about what constitutes a 'configured' account. For a tool with no parameters, explicit usage context is minimal but still absent.

    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 must carry the burden. It states that results are ordered by message count and limited to a recent window, which is helpful. However, it does not mention direction (descending), inclusion of current user, or pagination. The description is adequate but not comprehensive.

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

    Conciseness5/5

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

    The description is two sentences (140 characters) and clearly communicates the core purpose. It is front-loaded with the key action and result. No unnecessary words.

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

    Completeness2/5

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

    Given the tool has 4 parameters, no annotations, and only a brief description, the description fails to provide enough context for proper use. Missing details include parameter semantics, behavioral traits (order, data range limits), and how results are structured. The existence of an output schema partially mitigates this, but the description itself is insufficient.

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

    Parameters2/5

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

    The input schema has 4 parameters with 0% description coverage. The description does not mention any parameters or their roles. The agent must infer from parameter names (e.g., 'since_days' for time window, 'top' for count). This leaves significant ambiguity, especially for 'account' and 'folder'.

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

    Purpose5/5

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

    The description clearly states the tool lists top senders over a time window ordered by message count, and gives a concrete use case ('who has been emailing me lately?'). This distinguishes it from siblings like list_emails (individual emails) or search_emails_by_sender (specific sender).

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

    Usage Guidelines3/5

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

    The description mentions a use case ('who has been emailing me lately?') but does not specify when not to use it or compare to alternatives like search_emails_by_sender or count_emails. Guidance is minimal but not misleading.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It discloses the return value ({draft_id}), but does not mention other behaviors like authentication needs, error handling, whether it overwrites existing drafts, or how accounts are resolved. Adequate but minimal.

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

    Conciseness5/5

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

    The description is two sentences with no redundancy. Both sentences are essential: the first states the action, the second provides usage context and return 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?

    Despite having an output schema and clear purpose, the description fails to document any of the 7 parameters. For a tool with 0% schema coverage, this leaves users guessing about parameter semantics, especially optional ones like account, cc, bcc, and html.

    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 description adds no meaning to any of the 7 parameters. The description does not explain what each parameter is for, types, or constraints beyond what the schema provides.

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

    Purpose5/5

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

    The description clearly states the action ('Save an email as a draft instead of sending') and the resource ('email as a draft'). It implicitly distinguishes from sibling tools like send_email and send_draft by contrasting with sending.

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

    Usage Guidelines4/5

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

    The description provides explicit guidance on when to use: 'when the LLM should let the human review before committing to send.' It does not explicitly list when not to use or alternatives, but the usage context is clear.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavior. It mentions combining busy windows and working-hours filtering, but fails to detail output format, time zone handling, error cases, or the effect of the limit parameter.

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

    Conciseness5/5

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

    The description is three concise sentences with no waste. It front-loads the primary purpose and adds relevant nuance about attendee omission.

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

    Completeness2/5

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

    With 8 parameters and no annotations, the description is incomplete. It covers high-level purpose but omits parameter details and output specifics. An output schema exists but its content is unknown, so description should still hint at return value.

    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 explain parameters. It clarifies attendees, window, and working hours generally, but does not explicitly describe duration_minutes, window_start, window_end, working_hours_start/end, account, or limit. Only attendees and the basic concept are addressed.

    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 'Find time slots' and resource 'meeting times', clearly stating the function: find free slots for all listed attendees. It distinguishes from sibling tools like free_busy by aggregating busy information.

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

    Usage Guidelines4/5

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

    The description implies usage for scheduling by stating it combines busy windows and working hours filtering. It provides context for omitting attendees, but does not explicitly state when to use this tool versus alternatives or give exclusion criteria.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behaviors. It mentions time-range defaults but does not state that the tool is read-only, how results are sorted, pagination behavior, or any side effects. This is insufficient for safe agent use.

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

    Conciseness5/5

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

    Single sentence, no wasted words, front-loaded with core purpose and critical details. Efficiently conveys the tool's action and key constraints.

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

    Completeness3/5

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

    While the description is concise, it omits important context like result ordering, pagination, or how the account and calendar parameters affect behavior. An output schema exists but its content is unknown; the description still should provide more operational details.

    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 adds meaning only for start and end parameters by specifying ISO 8601 format and default behavior. The other three parameters (account, calendar, limit) receive no additional context 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?

    The description clearly states the tool lists events within a time range, with explicit defaults and format (ISO 8601). It distinguishes from siblings like create_event or search_events by focusing on time-range listing.

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

    Usage Guidelines4/5

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

    The description provides useful context: defaults (now to +7 days) and format requirements. However, it lacks explicit guidance on when to use this tool versus similar alternatives like search_events.

    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 bears full responsibility. It notes that messages are counted 'without fetching full envelopes,' indicating lightweight read behavior, but does not disclose other behavioral traits such as rate limits, authentication needs, or response format beyond the output schema.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the key action and scope. Every sentence adds value with no redundancy.

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

    Completeness4/5

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

    For a simple counter tool with an output schema, the description covers the primary purpose and a behavioral restraint (no envelope fetching). However, it omits usage guidance and parameter hints, but given the tool's simplicity, it is largely sufficient.

    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 parameter-level information. With 7 parameters, the description should compensate but does not, leaving the AI agent to rely solely on parameter titles, which are minimally descriptive.

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

    Purpose5/5

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

    The description explicitly states 'Count messages matching filters without fetching full envelopes' and gives a concrete example ('how many emails from Amazon this month?'), making the tool's purpose very clear and distinguishing it from sibling tools like list_emails or count_unread.

    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 provides a general counter example but does not explicitly state when to use versus alternatives like count_unread or search_emails_by_sender. Usage is implied rather than explicit.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses the return structure (name, kind, ok, latency_ms, error?) and the ability to probe a single or all accounts. However, it does not explicitly state that the operation is safe/read-only or mention any potential 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 sentence that front-loads the action and resource, immediately conveying the tool's purpose. Every part adds value, with no wasted words.

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

    Completeness4/5

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

    Given the tool has only one optional parameter and an output schema exists (though not detailed in description), the description covers the core functionality and return format well. It could mention the output schema more explicitly, but the provided return structure is sufficient for an LLM to understand the result.

    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 mentions 'or just the named one' hinting at the account parameter. It does not explain the type, default (null), or behavior when omitted. The parameter is optional, but the description lacks detail beyond a vague reference.

    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 probes configured accounts (or a named one) and returns per-account diagnostic data (ok, latency_ms) for LLM self-check. The verb 'Probe' and resource 'every configured account' are specific and distinguish it from sibling tools that perform email/calendar operations.

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

    Usage Guidelines3/5

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

    The description implies usage for connectivity checks via 'so the LLM can self-check', but does not explicitly state when to use vs. alternatives or provide exclusion criteria. The context of sibling tools suggests it's for diagnostics, but no direct guidance.

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

  • Behavior3/5

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

    With no annotations, the description bears full responsibility. It discloses that the search is substring-based and the default timeframe, but does not mention case sensitivity, pagination via the limit parameter, or potential performance considerations.

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

    Conciseness5/5

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

    The description is extremely concise with two sentences, front-loading the key purpose and default window. No wasted words.

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

    Completeness3/5

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

    Given that there is an output schema, the need to describe return values is reduced. However, the description omits details about optional parameters like account and calendar filtering, which are part of the tool's capability. It covers the core but is not fully complete.

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

    Parameters3/5

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

    Schema description coverage is 0%, so the description must compensate. It explains that the 'query' parameter searches across specified fields, but it does not describe the 'account', 'calendar', 'start', 'end', or 'limit' parameters, leaving gaps.

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

    Purpose5/5

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

    The description explicitly states 'substring search across calendar events' and specifies the fields searched (summary, location, description), which clearly distinguishes it from sibling tools like list_events (which returns all events) and get_event (single event by ID).

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

    Usage Guidelines3/5

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

    The description mentions the default time window (now to +60 days) but does not provide explicit guidance on when to use this tool versus alternatives like list_events, or exclusions for certain cases. Usage is implied but not clarified.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It clearly states the behavioral difference: file write vs base64 return. However, it does not disclose potential side effects (e.g., file overwrite, size limits) 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.

    Conciseness5/5

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

    Two concise sentences with front-loaded key information. Every sentence adds value, no fluff.

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

    Completeness3/5

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

    The description covers the two return behaviors adequately given the output schema exists. However, it lacks context on prerequisites (e.g., attachment_id from list_attachments) and error handling, which would make it more complete for a tool with 5 parameters.

    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 only explains the effect of save_to; it does not provide additional meaning for other parameters (message_id, attachment_id, account, folder) 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?

    The description clearly states the verb 'Download' and the resource 'an attachment', and explains the dual behavior (save_to vs base64). It distinguishes itself from siblings like list_attachments (which lists metadata).

    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 explains two usage modes (with save_to or without) but does not specify prerequisites (e.g., need attachment_id from list_attachments) or when to use this tool over alternatives among the many sibling email tools.

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

  • Behavior3/5

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

    No annotations are provided. The description implies a read-only operation by stating it returns data, but does not explicitly declare no side effects. It mentions the time range parameter (since_days) but omits permission or rate-limit details.

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

    Conciseness5/5

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

    The description is very concise: two sentences, 31 words. It front-loads the core purpose ('One-call inbox overview') and efficiently lists outputs 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 covers the return format well (counts, top senders, histogram) but fails to explain 3 out of 4 parameters. Given the existence of an output schema, return values are partially handled, but parameter ambiguity reduces completeness.

    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?

    Input schema has 0% description coverage. The description explains only the 'since_days' parameter ('for the last since_days days'). Other parameters (account, folder, top) are left to inference from their names and defaults, which is insufficient for full clarity.

    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 provides an 'inbox overview' with specific outputs (counts, top senders, histogram). It is distinguished from sibling tools like count_emails and list_emails by its aggregative nature.

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

    Usage Guidelines4/5

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

    The description gives clear context: 'One-call inbox overview' implies quick summary instead of detailed listing. It also highlights usefulness for multiple aliases. However, it does not explicitly state when not to use or mention 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?

    Without annotations, the description carries the burden. It discloses provider-specific actions (IMAP expunges, Gmail trash) and mentions rate-limiting. It could be clearer on permanence (IMAP expunge irreversible) but covers key behavioral traits.

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

    Conciseness5/5

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

    The description is extremely concise with two sentences, front-loading the primary purpose, and includes necessary behavioral details without extra 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?

    Given complexity (bulk delete with provider differences), the description covers the main behavior and rate limits. An output schema exists but isn't referenced; still, the description provides sufficient context for an agent to decide when to invoke.

    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%, meaning no parameter descriptions exist in the schema, but the description also fails to explain any parameters (message_ids, account, folder). It adds no meaning beyond the schema field titles and defaults.

    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 deletes many emails in one call, distinguishing it from the sibling 'delete_email' (singular). The verb 'Delete' and resource 'emails' are explicit, and it specifies behavior per provider (IMAP expunges, Gmail moves to Trash).

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

    Usage Guidelines4/5

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

    The description indicates usage for batch deletion and notes provider-specific behaviors, giving context for when to use. However, it does not explicitly mention when not to use (e.g., for single email deletion) or provide alternative tool names.

    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 is straightforward and discloses the output structure, but with no annotations, it lacks explicit statements about safety or side effects. For a read-only list tool, this is adequate but not rich; the description could explicitly state that the operation is non-destructive.

    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: a one-sentence summary followed by a clear bullet list. Every sentence adds value, and the structure is front-loaded. No unnecessary words or redundancy.

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

    Completeness5/5

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

    Given the tool's simplicity (no parameters, output schema present), the description is complete. It explains the purpose and the meaning of each output field, which is essential for agents using account names and addresses in subsequent calls. No missing information for this use case.

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

    Parameters3/5

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

    The input schema has zero parameters and 100% coverage, so the baseline is 3. The description adds no parameter information but does detail the output fields, which indirectly aids understanding. No parameter semantics are needed.

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

    Purpose5/5

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

    The description starts with a clear verb+resource statement 'List configured email accounts' and elaborates on the output fields (name, kind, addresses), differentiating it from other tools. The explanation that 'name' is the account label used in other tools adds clarity and distinguishes it from sibling listing tools.

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

    Usage Guidelines3/5

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

    The description implies that the tool provides account labels for use in other tools (e.g., send_email), but it does not explicitly state when to use this tool versus alternatives like list_calendar_accounts. No when-not-to-use or alternative guidance is given.

    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?

    Given no annotations, the description adequately covers behavioral traits: for Gmail it uses People API, for others it scans recent messages, and returns up to limit results. Could mention more about accuracy 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.

    Conciseness4/5

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

    Three concise sentences with purpose first, then backend details, then usage guidance. No unnecessary words, well-structured.

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

    Completeness4/5

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

    For a simple lookup tool with no annotations and an existing output schema, the description covers purpose, parameters, usage, and backend behavior sufficiently. Lacks explicit return format details but mentions {name, email}.

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

    Parameters3/5

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

    Schema description coverage is 0%, but the description adds meaning to 'query' (name or partial email), 'limit' (max results), and 'account' (specifies account). Provides moderate value beyond schema.

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

    Purpose5/5

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

    The description clearly states the verb 'Look up' and resource 'contact' with specific details on matching by name or partial email. It distinguishes from sibling tools which are mostly email, event, or task oriented.

    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 suggests using before send_email or create_event when the user refers to someone by name. Provides context 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?

    With no annotations provided, the description carries full burden. It discloses the use of native Google freebusy.query and fallback behavior for EWS/CalDAV, providing valuable backend context beyond what the input schema reveals.

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

    Conciseness5/5

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

    The description is three sentences long, front-loaded with the main purpose, and every sentence adds value without redundancy.

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

    Completeness4/5

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

    Given the presence of an output schema (not shown), the description does not need to detail return values. It covers the primary parameters and behavior, though the 'account' parameter remains undocumented. Overall, it provides sufficient context for usage.

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

    Parameters3/5

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

    The description adds meaning for 'start' and 'end' (ISO 8601) and 'attendees' (email addresses for busy time query), which compensates for the 0% schema description coverage. However, the 'account' parameter is not explained, leaving a gap.

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

    Purpose5/5

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

    The description clearly states the verb ('Return'), the resource ('busy time windows'), and the scope ('between start and end'). It also distinguishes behavior based on the 'attendees' parameter, setting it apart from sibling tools like 'list_events'.

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

    Usage Guidelines4/5

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

    The description explains when to use the tool (returning busy times) and differentiates between querying for attendees vs. self. It also notes the backend behavior (Google freebusy.query vs. event enumeration), which implies when to prefer this over listing events. However, it lacks explicit 'when not to use' guidance.

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

  • Behavior3/5

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

    The description explains the format parameter's behavior (HTML-to-plaintext conversion) and defaults, which is helpful. However, it does not explicitly state that the operation is read-only (no annotation provided), nor does it mention authentication or other behavioral traits beyond what is shared.

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

    Conciseness5/5

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

    The description is concise with a one-sentence summary followed by a structured parameter list. Every part is informative without redundancy, fitting the content in minimal space.

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

    Completeness4/5

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

    Given the existence of an output schema (not needing return value details) and 4 input parameters, the description covers input semantics well. It lacks any mention of error handling or limits, but for a simple fetch tool this is sufficient.

    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?

    The description adds significant meaning to all 4 parameters, covering message_id source, account source, folder default, and format options with clear explanations. Since schema_description_coverage is 0%, this extra detail is crucial 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 opens with 'Fetch a single message with its body,' clearly stating the verb and resource. It distinguishes from siblings like list_emails (which lists multiple) and other tools that modify or delete emails.

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

    Usage Guidelines4/5

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

    The description guides the agent to obtain `message_id` from `list_emails` and `account` from `list_email_accounts`, providing cross-references to sibling tools. However, it does not explicitly state when to use this tool versus alternatives or provide 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 provided, so description carries full burden. Explains return structure and how threading works for Gmail vs IMAP. Does not explicitly state that the operation is read-only, but the context implies it. Good but could mention safety.

    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 and front-loaded sentences. First sentence states core function, second adds return details and usage advice. No extraneous information.

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

    Completeness4/5

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

    Output schema exists but not described. The description provides return structure details. However, it omits order, pagination behavior, and handling of limit parameter. Given the complexity, slightly incomplete.

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

    Parameters2/5

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

    Schema description coverage is 0%, meaning no parameter descriptions. The description only mentions 'matching the filters' generically, without explaining any of the 7 parameters (account, folder, query, senders, etc.). This 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?

    Clearly states it lists conversations (threads), not individual messages. Distinguishes from sibling tools like list_emails or search_emails_by_sender. Describes return format: one entry per thread with latest message metadata and message_count.

    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 advises using this tool when the user asks 'who has been discussing X?' and wants to avoid seeing many duplicates of a reply chain. This guides the agent on appropriate context compared to message-level 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?

    With no annotations, the description carries full behavioral disclosure burden. It explains that query uses native Gmail operators or IMAP TEXT search, that recipients is OR-combined, and warns about performance for large mailboxes with since_days. This is good transparency, though it does not specify the return format (but output schema exists).

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

    Conciseness5/5

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

    The description is brief but comprehensive, with a clean Args list structure. Every sentence adds value—no fluff. It is front-loaded with the main purpose and parameter explanations are succinct.

    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 7 parameters, no annotations, and an output schema present, the description covers all necessary context: parameter meanings, defaults, usage recommendations, and cross-tool references (list_email_accounts). It is complete for making informed tool selection.

    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?

    The input schema has no descriptions (0% coverage), making the description essential. It adds detailed meaning for all 7 parameters: account says to use list_email_accounts, recipients explains OR-combined addresses/domains, since_days warns about performance. This goes well beyond the schema titles.

    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 'List messages in a folder.' which clearly states the core function with a specific verb and resource. It distinguishes itself from siblings like read_email (reads a single email) and search_emails_by_sender (searches by sender), making its purpose 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 Guidelines4/5

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

    The description provides explicit usage guidance for parameters like account (use list_email_accounts), default INBOX, and a strong recommendation for since_days with recipient queries. However, it does not explicitly state when to use this tool versus alternatives (e.g., search_emails_by_sender), missing some exclusion logic.

    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

productivity-mcp MCP server

Copy to your README.md:

Score Badge

productivity-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seandkendall/productivity-mcp'

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