Apple Mail MCP Server
Server Quality Checklist
Latest release: v2.6.1
- Disambiguation2/5
Multiple tools have overlapping functionality (e.g., search_emails, search_by_sender, search_email_content, search_all_accounts, search_emails_advanced; mark_emails and update_email_status; move_email, bulk_move_emails, imap_bulk_move). Agents may struggle to select the right tool despite detailed descriptions.
Naming Consistency3/5Tool names generally follow a verb_noun pattern in snake_case, but verbs are inconsistent: 'get', 'list', 'search', 'find' are used interchangeably for similar retrieval tasks. For example, 'get_recent_emails' vs 'get_recent_from_sender' vs 'search_by_sender'.
Tool Count2/538 tools is excessive for an email MCP server. Many tools are highly specialized (e.g., get_newsletters, get_top_senders, get_awaiting_reply), which inflates the count and could overwhelm agents. A more streamlined set of 15-20 tools would be more appropriate.
Completeness4/5Core email operations are well-covered: reading, searching, composing, replying, forwarding, moving, archiving, deleting, trash management, drafts, mailboxes, statistics, and exports. Minor gaps exist (e.g., contact management, account setup), but the surface is largely complete for typical email workflows.
Average 4/5 across 38 of 38 tools scored. Lowest: 3.1/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 83 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.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It states the return type (list of attachments with names and sizes) but omits behavioral traits such as whether it is read-only, if it only checks max_results emails, or what happens on no matches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and structured with Args and Returns sections. Every sentence provides value; no superfluous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given 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 3 parameters, the description is adequate but not thorough. It covers basic functionality and return format but lacks usage guidance and behavioral details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no descriptions (0% coverage), but the description's Args section adds meaning: examples for account (e.g., 'Gmail'), explanation of max_results ('Maximum number of matching emails to check'), and clarifies the purpose of subject_keyword.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List attachments for emails matching a subject keyword' with a specific verb and resource. It effectively conveys the tool's function but does not explicitly differentiate from sibling tools like search_emails or get_email_with_content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not specify when to use this tool versus alternatives. It lacks explicit guidance on usage context, prerequisites, or exclusions, leaving the agent to infer from the parameter list alone.
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 accurately portrays a read-only operation with no side effects, but does not explicitly confirm non-destructive behavior or disclose potential rate limits. With no annotations, the description carries the full burden and is adequate but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
Core description is concise, but includes an extraneous 'User Preferences' line that is unrelated to tool usage. This slightly reduces conciseness without adding value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers parameter details and return format adequately. However, it omits potential limitations (e.g., pagination, error handling) and does not leverage the presence of an output schema to simplify the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining each parameter's meaning, default values, and the effect of 'None' for account. Adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists emails from inbox across accounts, using specific verb and resource. However, it does not explicitly differentiate from sibling tools like 'get_recent_emails' or 'search_emails', lacking explicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description only states what it does, without exclusions or recommendations for when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It states 'automatically identifies' but does not disclose how detection works, whether it modifies email state, or any limitations (e.g., only works on certain mailboxes).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args and Returns sections, clear and organized. It is concise enough to convey essential information without unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return value details are covered. However, the description lacks context on prerequisites (e.g., account authentication) and behavioral constraints. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides detailed docstrings for each parameter (account, days_back, max_results, include_content, max_content_length), adding meaning beyond the schema's types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'finds newsletter and digest emails by detecting common patterns', using a specific verb and resource. It distinguishes itself from siblings like search_emails by focusing on newsletters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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., search_emails, get_recent_emails). The description does not mention when not to use it or any prerequisites.
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?
Describes the return format (dictionary mapping accounts to counts), which adds value beyond the empty input schema. But lacks explicit read-only hint or side effect disclosure. No annotations to fall back on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence plus return format. However, the extraneous 'User Preferences' line does not belong and slightly reduces clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description adequately conveys purpose and return. Could be enhanced by mentioning any constraints (e.g., only primary account).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist; schema coverage is 100%. Per guidelines, baseline 4 applies. Description adds nothing about parameters because none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool gets the count of unread emails per account, with a specific verb and resource. However, it does not explicitly distinguish itself from sibling tools like get_recent_emails or get_inbox_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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., get_inbox_overview might also show counts). No when-not or contextual 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 provided, the description must disclose behavioral traits. It only describes parameters and output, but does not indicate whether the tool is read-only, if it requires specific permissions, or any side effects. The return value is vaguely described as 'formatted statistics report,' but no details on data freshness, limits, or analogous behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with clear sections (Args, Returns). It is concise, with only one introductory sentence and minimal repetition. Minor improvement: some parameter explanations (e.g., 'Specific sender for...') could be integrated into parameter descriptions rather than repeated inline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 params, 1 required) and presence of an output schema, the description adequately covers purpose and parameters. However, it lacks behavioral and usage context (e.g., whether it's safe to call frequently, any prerequisites like account existence). This gap in completeness is notable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries full burden for parameter meaning. It explains all 5 parameters: account (placeholder), scope with enumerated values, sender and mailbox conditioned on scope, and days_back with default. This adds essential context missing from the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Get comprehensive email statistics and analytics,' which is a specific verb+resource pair. It further distinguishes via the 'scope' parameter (account_overview, sender_stats, mailbox_breakdown), clearly differentiating from sibling tools like get_unread_count or get_inbox_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions (e.g., for simple counts use get_unread_count), or context where this tool is appropriate, leaving the agent to infer usage from the parameter 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?
No annotations provided, so description carries full burden. It discloses safety limits (max_deletes, confirm_empty) and mentions return type. However, for destructive actions like delete_permanent and empty_trash, it does not explicitly warn of irreversibility or data loss, which is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is adequately structured with Args and Returns, but is verbose with detailed parameter explanations. Could be more concise by grouping related parameters. The first sentence is clear and front-loaded, but overall length is justified given the parameter complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all parameters and return type, but lacks logical constraints (e.g., which actions require which optional params) and example usage. Given 8 parameters and 0% schema coverage, the description is functional but not complete enough for seamless agent use without trial and error.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must explain parameters. It effectively describes each parameter, listing allowed actions, conditional usage (e.g., subject_keyword not used for empty_trash), and safety roles. Lacks format details for account or action, but adds significant value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it manages trash operations (delete emails or empty trash) with three specific actions. This differentiates it from siblings like delete_emails or archive_emails by focusing on trash lifecycle. The purpose is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. With 38 siblings including delete_emails and move_email, the description does not clarify when to choose manage_trash over them. Safety parameters hint at usage context but are not stated explicitly.
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?
Without annotations, the description carries full burden. It includes useful notes like 'include_content: Whether to include email content preview (slower)', but does not explicitly state that the tool is read-only, disclose auth requirements, or mention rate limits. Basic behavioral traits are implied but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear 'Args:' section listing parameters. It is front-loaded with the purpose. Though it is lengthy due to 12 parameters, this is justified given the 0% schema coverage. A slightly more condensed style could be used, but overall it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all parameters and states the return format vaguely ('Formatted list of matching emails'). With an output schema present, the return details are acceptable. However, it lacks critical context such as differentiating from sibling search tools (e.g., search_emails_advanced, search_by_sender) and clarifying whether 'any mailbox' includes multiple accounts or just the one specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates. Every parameter is explained with allowed values, defaults, and formats (e.g., read_status: 'all', 'read', 'unread'; date_from: 'YYYY-MM-DD'). This significantly helps an agent understand and use each parameter correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Unified search tool - search emails with advanced filtering across any mailbox,' which identifies the core function. However, given the many sibling search tools (e.g., search_emails_advanced, search_by_sender), it does not explicitly differentiate itself, leaving ambiguity about when to use this version over others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides detailed parameter explanations but offers no guidance on when to use this tool versus alternatives. It does not mention prerequisites, contextual triggers, or exclude other search tools, leaving the agent to infer usage without clear boundaries.
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 full burden. It describes the parameters and return, but does not disclose behavioral traits such as read-only nature, partial match behavior, pagination, or any side effects. It provides basic transparency but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an Args section and bullet points. It is front-loaded with a clear purpose sentence. However, it includes an irrelevant 'User Preferences' section and is somewhat lengthy, though every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given 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 that exists, the description covers all necessary parameter details and the return value. It is complete enough for an agent to invoke the tool correctly, though minor extras like user preferences could be removed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description compensates fully by explaining each parameter's meaning, default values, and acceptable values (e.g., time_range options). This is excellent and adds significant value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches recent emails from a specific sender with human-friendly time filters, which is specific and informative. However, it does not differentiate itself from similar sibling tools like 'search_by_sender' or 'get_recent_emails', leaving ambiguity about when to use this tool over others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It implies usage for recent emails from a sender with time filters, but does not state prerequisites or exclusions, nor does it mention any relationship to sibling 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?
With no annotations provided, the description carries full burden. It states it saves to disk and returns a confirmation message, but does not disclose side effects (e.g., whether the email is modified, marked as read, or deleted). The description is acceptable but could be more transparent about 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and well-structured: a one-line purpose, then a clear arg list, then return value. It is front-loaded and contains no unnecessary filler. However, the return value line could be omitted if the output schema is present, but it is fine overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 required parameters, no annotations, and an output schema (context indicates it exists), the description covers the basics adequately. However, it lacks edge-case behavior (e.g., multiple emails matching subject keyword, attachment not found, overwriting files). It is minimally complete but could be more thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the schema has no descriptions. The description provides explicit meaning for each parameter in the docstring (e.g., 'account: Account name (e.g., "Gmail", "Work", "Personal")'), which adds significant value beyond the structured schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Save a specific attachment from an email to disk.' It uses a specific verb and resource, and the sibling tool list includes other email attachment tools like 'list_email_attachments', so it distinguishes well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., email must be fetched first) or when not to use it. The context of sibling tools is not leveraged to provide usage distinctions.
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?
There are no annotations, so the description carries full burden. It describes the action (forward) and parameters, but does not disclose behavioral traits such as authentication requirements, error handling (e.g., email not found), state changes, or rate limits. Some basic context is provided, but significant gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args and Returns sections and is reasonably concise. It could be slightly tighter (e.g., the User Preferences line seems extraneous), but overall it is clear and front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, 3 required, many siblings) and no output schema details, the description covers parameters and return but lacks usage guidelines, error conditions, and prerequisite details (e.g., email must exist). It is functional but incomplete for full contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds full meaning to all 7 parameters beyond the schema, including account, subject_keyword, to, message, mailbox, cc, bcc. Since schema description coverage is 0%, the description compensates completely, providing clear semantics for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Forward an email to one or more recipients,' providing a specific verb and resource. It distinguishes from siblings like 'compose_email' (new email) and 'reply_to_email' (reply), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 (e.g., reply, compose). It implicitly suggests usage via parameter details, but lacks explicit when-to-use or when-not-to-use context, which is important given the many sibling 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?
With no annotations, the description bears full burden. It discloses that 'include_content' is slower, and output_format options. It does not mention authentication, rate limits, or whether the operation is read-only. Provides minimal but useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a well-structured docstring with clear Args and Returns sections. Every sentence adds value, no fluff. Front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers parameters, behavior (slower with content), and output format. With an output schema present, return values are adequately described. Lacks details on error handling or account existence checks, but sufficient for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description fully documents all four parameters with examples and defaults (e.g., account name format, count default, include_content speed impact, output_format choices). Adds significant meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets 'the most recent emails from a specific account' – specific verb and resource. However, it doesn't distinguish from siblings like 'list_inbox_emails' or 'get_recent_from_sender', which may overlap in functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description implies usage for recent emails from an account, but doesn't clarify when to prefer it over similar tools like 'search_emails' or 'get_recent_from_sender'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions returning a list of account names but does not disclose whether it is a read-only operation, requires authentication, or has any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with only two sentences, but includes an irrelevant 'User Preferences' line that does not aid understanding. It is efficient but could be slightly cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an output schema (indicated but not shown), the description is mostly complete for a simple list tool. However, it could mention if any preconditions exist, such as requiring a configured account.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description needs no parameter details. The baseline score of 4 applies as there's nothing to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all available Mail accounts' with a specific verb and resource, distinguishing it from sibling tools that focus on emails rather than accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like list_mailboxes or other listing tools. The usage is implied but not explicitly compared.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the basic operation. It does not disclose potential side effects (none expected as read-only), authentication requirements, rate 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a concise summary followed by a well-structured parameter list. It avoids unnecessary text but could be slightly more compact by not repeating defaults that are already in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains all parameters and indicates the return type (detailed email info with content preview). With an output schema present, further detail on return values is not needed. Missing edge cases like empty results or errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description adds essential meaning for all 5 parameters, including examples, defaults, and special values (e.g., 'use "All" for all mailboxes'). This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action 'Search for emails by subject keyword' and the output 'full content preview'. This clearly distinguishes it from sibling tools like search_emails (broader) or search_by_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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for subject keyword searches but does not provide explicit guidance on when to use vs alternatives or when not to use. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses modes (send/draft/open), plain-text fallback with body_html, and returns a confirmation. However, it lacks details on error handling, permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with an Args section, making it easy to scan. It is somewhat lengthy but each sentence adds value. The 'User Preferences' line appears outside the description and is not part of the user-facing description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters and multiple modes, the description covers the main functionality and all parameters. The presence of an output schema means return details are unnecessary. It lacks error handling details, but overall is sufficient for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning. It explains each parameter, including formatting (e.g., comma-separated for to/cc/bcc/attachments) and mode values. This compensates well for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it composes and sends a new email from a specific account. The verb 'compose' and resource 'new email' are specific, and the tool distinguishes itself from sibling tools like reply_to_email or 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 Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for composing new emails but does not explicitly contrast with alternatives or provide when-not-to-use guidance. Given the many sibling tools, explicit differentiation would improve clarity.
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 the tool gets messages with 'same or similar subject' sorted by date, but does not explicitly confirm it is a read-only operation or disclose any side effects (e.g., no marking as read). The verb 'get' implies read-only, but it's not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose sentence, an Args section with line breaks, and a Returns line. It is front-loaded and concise enough to be effective, though the 'User Preferences' line seems extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, 2 required) and the presence of an output schema, the description adequately covers purpose, parameters, and return format. It does not address error scenarios or thread matching details, but is generally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds full meaning to each parameter: account with examples, subject_keyword usage, mailbox default and 'All' option, and max_messages with default. This goes beyond the schema's basic type/title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and the resource 'email conversation thread', and clearly distinguishes from siblings like 'list_inbox_emails' or 'search_emails' by focusing on thread retrieval based on subject similarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not provide explicit guidance on when to use it versus alternatives, nor does it mention when not to use it. The context of 'thread' is implied but not contrasted with other email listing 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 provided, so the description must convey behavioral traits. It states the tool returns an overview and AI suggestions, but does not disclose whether it is read-only, if it triggers side effects, or any rate limits. The mention of 'prompt the assistant to suggest relevant actions' implies some behavioral impact, but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, with a clear purpose sentence followed by a bulleted list of returns. It front-loads the main verb and resource. The inclusion of 'User Preferences' at the end is slightly extraneous but not damaging. Could be slightly tighter, but overall well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and an output schema (mentioned in context), the description covers the essential purpose and adds value by enumerating return elements including AI suggestions. It feels complete for the tool's simplicity, though the user preferences line seems out of place.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the input schema is empty with 100% coverage. The description adds no parameter meaning (none needed), but notes the overview is 'across all accounts,' confirming no filtering. Baseline for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a comprehensive overview of your email inbox status across all accounts.' It specifies the verb ('Get') and resource ('inbox overview across all accounts'), and distinguishes itself from sibling tools like get_unread_count or list_inbox_emails by emphasizing comprehensiveness and AI suggestions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (for a full inbox overview and AI suggestions) but does not explicitly state when not to use it or provide comparisons to alternatives. It lists what it returns, which gives context, but falls short of explicit guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors: subject keyword matching, nesting separator for mailboxes, safety limit (max_moves default=1), and that message_ids overrides subject filtering. No annotations exist, so description carries the burden well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear action sentence, followed by structured Args and Returns. It is moderately sized and fairly concise, though could trim some redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, no annotations, and many siblings, the description covers core behaviors but lacks usage guidelines and comparison to similar tools. It explains override logic but doesn't address common workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the Args section provides complete parameter explanations, including defaults, nesting hints, and the override relationship between message_ids and subject_keyword. This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Move email(s) matching a subject keyword from one mailbox to another.' This is specific and differentiates from siblings like 'bulk_move_emails' and 'imap_bulk_move'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 'delete_emails', 'archive_emails', or 'bulk_move_emails'. The description doesn't mention prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses safety limits (max_updates), apply_to_all requirement, and behavior with message_ids. However, it does not discuss permissions or side effects of updating status.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a header, Args list, and Returns note. It is slightly lengthy (11 lines) but front-loaded with purpose. Every sentence adds value except possibly the user preferences line.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description covers return values briefly. It includes behavioral details like safety limits and filtering logic. Missing error handling or prerequisites, but adequate for a moderately complex mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description includes an explicit Args section explaining each parameter, its type, and default values. This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates email status with specific actions (mark read/unread, flag/unflag). It is a specific verb+resource and distinguishes from siblings by listing explicit actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 mark_emails or delete_emails. The description does not provide context for appropriate usage or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Although no annotations are provided, the description discloses key behaviors: it exports to files, provides a safety cap (max_emails: 1000), defaults for format and directory, and clarifies required parameters for scopes. It does not mention error handling or authentication, but the core behavior is well-covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a structured docstring with a brief sentence, then bulleted args, and a returns line. It is concise but includes the 'User Preferences' line which may be extraneous. Overall, it is well-organized and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, two scopes) and the presence of an output schema (which likely details the return), the description covers all necessary aspects: parameter meanings, defaults, constraints, and a high-level return description. It is complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining each parameter: account (with examples), scope (enum values and constraint), subject_keyword (required for single_email), mailbox (default), save_directory (default), format (enum, default), max_emails (purpose and default). This makes all parameters understandable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Export emails to files for backup or analysis', specifying the verb (export), resource (emails), and purpose (backup or analysis). This distinguishes it from sibling tools like compose_email, delete_emails, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. The description lacks context such as 'Use this instead of list_inbox_emails when you need file output' or 'Not for immediate viewing'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes filtering logic (newsletters, automated), prioritization based on direct To: and question marks, and the return of a ranked list. It is fairly transparent about behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with clear sections for purpose, args, returns, and user preferences. No redundant information, though it could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (though not shown) and parameters are documented, the description is mostly complete. It explains the main logic and return type, but could elaborate on ranking criteria.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but the description provides clear parameter details (account name, mailbox default), adding meaning beyond the schema. It does not cover every parameter extensively but compensates adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool identifies unread emails that likely need a response, with specific filtering logic. It distinguishes from siblings like get_unread_count and get_awaiting_reply by focusing on prioritization and filtering out automated 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding emails needing a reply, but does not explicitly tell when not to use it or name alternatives. Given numerous sibling tools (search_emails, get_awaiting_reply), more explicit guidance would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior but only lists actions and their required parameters. It mentions 'open' creates a visible window, but lacks details on consequences (e.g., whether 'delete' permanently removes, or 'send' actually dispatches the email). No confirmation or error states are described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an Args section and a Returns line. It is relatively concise given the number of parameters and actions, but could be slightly more terse by removing the 'Returns' line which adds little value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 actions, 8 parameters, and an output schema, the description covers actions and parameters adequately but falls short on return behavior ('Formatted output based on action' is vague). It does not address error handling or edge cases, so while schema exists, the description could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 8 parameters are explained with their purpose and required context (e.g., 'subject' required for create, 'draft_subject' required for send/open/delete). Since schema description coverage is 0%, the description fully compensates by adding meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages draft emails and lists five specific actions (list, create, send, open, delete), making the purpose explicit. It distinguishes itself from sibling tools like 'compose_email' by covering multiple draft operations in one tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use the 'open' action versus 'send' (e.g., 'Use open to open a draft in a visible compose window for review before sending'). However, it does not compare to sibling tools like 'compose_email' for creating drafts or advise against misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains nesting behavior (e.g., 'creates each segment if needed') and the optional parent_mailbox parameter. It mentions return confirmation. However, it omits potential constraints like account existence, name uniqueness, or required permissions. The user preferences line seems extraneous but not harmful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and includes concise parameter descriptions. However, the 'User Preferences' line appears irrelevant and adds clutter. It could be trimmed without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists and the description mentions 'Confirmation with the new mailbox path,' the tool is adequately documented for a simple creation action. Missing details like idempotency or error handling (e.g., if mailbox already exists) would improve completeness but are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds significant value: it explains that name can contain '/' for nested paths, parent_mailbox is optional, and account gives examples. It does not list allowed values or constraints for account, but the examples are helpful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new mailbox (folder) in the specified account,' which is a specific verb+resource. It distinguishes from sibling tools like list_mailboxes or get_unread_count that serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains two distinct usage patterns (using parent_mailbox for nesting or passing a full slash-separated path). It does not explicitly state when not to use this tool versus alternatives, but given that no sibling tool creates mailboxes, the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Discloses safety limit (max_emails) and required filters, but does not mention idempotency, error handling, or behavior when no emails match.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Efficiently structured with a one-line summary, a requirement statement, and a clear Args list. No redundant or extra sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects: operation, required filters, all parameters with explanations, safety limit, and return summary. Lacks details on output schema and error scenarios, but adequate given no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the Args section adds meaning: it clarifies filters are optional, explains max_emails as safety limit, and describes each parameter's role. Compensates well for missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Batch mark emails as read/unread and/or flagged/unflagged' with a specific verb and resource. It clearly distinguishes from siblings like update_email_status (single email) by emphasizing batch operation and required filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates at least one filter required and lists filter parameters, implying multi-condition batch use. However, no explicit comparison to sibling tools 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.
- 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 explains parameter effects (send vs mode, reply_to_all) and return value, but does not cover edge cases like multiple matching emails or error scenarios. Good coverage of typical behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient with a clear purpose statement followed by parameter details. Every sentence adds value, though the parameter block is somewhat lengthy. Front-loaded and well-structured for scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, 3 required, and no annotations, the description covers input parameters thoroughly. It mentions return value, but lacks details on error handling or matching behavior. An output schema exists, reducing need for return value details. Fairly complete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully compensates. It explains each parameter with examples (e.g., attachments file paths), defaults, and overrides (mode overrides send). Adds significant meaning beyond the schema property types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool replies to an email identified by a subject keyword. It uses a specific verb and resource, distinguishing it from siblings like compose_email or forward_email by focusing on replying to an existing email.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for replying to emails but does not provide explicit when-to-use or when-not-to-use guidance. It lacks mention of alternatives or prerequisites, such as needing to locate an email first, though the purpose is clear from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavioral traits: dry_run mode, only_read filtering, max_archive cap, and the return summary. It covers safety and constraints comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear main action, safety features list, and parameter list. It is slightly verbose but every sentence adds value. The front-loading of the main action aids quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (9 parameters, no annotations, output schema exists), the description covers all necessary details: parameter meanings, safety constraints, defaults, and return type. It is fully complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage (no property descriptions), so the tool's parameter descriptions add crucial meaning beyond schema titles. Each parameter is explained with purpose and defaults, fully compensating for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('archive emails by moving them to an Archive mailbox') and includes safety features. However, it does not explicitly differentiate this tool from siblings like bulk_move_emails or move_email, which have similar actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implicit usage guidance through safety features (required filter, dry_run, only_read defaults) but does not explicitly state when to use this tool over alternatives. It could be improved by contrasting with sibling 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?
With no annotations, the description carries full burden. It mentions partial match, default values, and return format, but does not disclose whether the operation is read-only, rate limits, or authentication needs. 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear purpose upfront, followed by parameter descriptions and return info. No extraneous sentences; every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0% schema coverage and no annotations, the description covers behavior, parameters, and returns. Could mention that the operation is non-destructive (search only), but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides meaningful docstrings for all 7 parameters, adding details like partial match, defaults with explanations, and special values (e.g., days_back=0 for all time).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (find) and resource (emails) with specific scope (from a specific sender across accounts). It distinguishes from siblings like search_emails or get_recent_from_sender by focusing on sender-based search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context with examples ('tracking newsletters, contacts, or communications from specific people/organizations'), but does not explicitly state when not to use or offer alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses soft-delete behavior, dry_run safety mode, max_emails safety limit, and that emails are never permanently deleted. Some minor details omitted (e.g., what happens on error), but overall transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with a short intro, important note, arg list, and return description. Slightly verbose due to the 'Args' enumeration and user preferences JSON, but still efficient. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, parameters, return value ('List of affected email subjects and count'), and safety behavior. Since an output schema exists, detailed return format is not required. The description is complete for an agent to understand and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for parameters. The description's 'Args' section explains each parameter's purpose and constraints, compensating fully. For example, it clarifies that `older_than_days` filters by age and `dry_run` defaults to True.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Soft-delete emails (move to Trash) matching filters', identifying the specific action (soft-delete) and resource (emails). It distinguishes from siblings like archive_emails and manage_trash by focusing on deletion with filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: dry_run=True by default, at least one filter required, and emails are moved to Trash, not permanently deleted. It does not directly contrast with sibling tools but gives clear usage constraints and safety features.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the operation: scanning Sent mailbox, cross-referencing Inbox, and returning results. It implies read-only behavior without destructive actions. However, it lacks explicit statements about read-only guarantees or authorization needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear summary, detailed explanation, and separate sections for Args and Returns. It is concise and front-loaded, with every sentence adding value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, output schema exists), the description covers all essential aspects: purpose, logic, parameters, and return format. No crucial information is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description's Args section fully compensates by explaining each parameter's purpose, defaults, and meaning, providing critical semantic context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find sent emails that haven't received a reply yet.' It explains the cross-referencing logic and mentions follow-up tracking, making the function unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description says 'Useful for follow-up tracking', it does not explicitly guide when to use this tool over alternatives like 'get_needs_response' or other email search tools. There is no mention of 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains the tool is analytical and returns a ranked list, implying no destructive side effects. It does not explicitly state read-only behavior or resource consumption, but for a simple analysis tool, the description is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear purpose statement, usage line, parameter details, and return description. It is front-loaded but slightly verbose due to full parameter documentation. It could be more concise while retaining all necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (context: 'Has output schema: true'), the description adequately covers what is needed: purpose, parameters, and return type (ranked list with counts). It also provides usage context. It is complete for a relatively simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description compensates fully by documenting all parameters in the Args section (account, mailbox, days_back, top_n, group_by_domain) with defaults and explanations. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Analyse a mailbox to find the most frequent senders.' It uses specific verbs and resources, distinguishing it from sibling tools like search_by_sender (which finds emails from a sender) and get_newsletters (which identifies newsletters).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use: 'Useful for identifying key contacts, high-volume senders to filter, or newsletter sources to unsubscribe from.' This gives clear use cases, though it doesn't explicitly state when not to use or mention alternatives. The sibling list helps with differentiation.
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 the description carries full burden. It discloses that the tool returns a UIResource with an interactive HTML dashboard, identifies dependencies, and explains the user interface elements. This is good transparency for a read-only interactive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with bullet points listing dashboard components. First sentence clearly states the tool's purpose. Every sentence adds value—prerequisites, return type, and user preferences are included succinctly. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the interactive dashboard output, its components, and dependencies. Given no parameters and no output schema, it covers the essential context. Could mention non-UI fallback or error handling explicitly, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (0 params, 100% schema coverage). Per guidelines, baseline is 4. The description does not add parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns an interactive dashboard view of the email inbox, listing specific UI components (unread counts, recent emails, quick actions, search). Distinguishes from sibling tools like get_inbox_overview or list_inbox_emails by focusing on an interactive UI rather than plain data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes the interactive dashboard context and mentions prerequisites (mcp-ui-server package, compatible client). While it doesn't explicitly state when not to use or list alternatives, the use case is clear and distinct from sibling tools that handle specific actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the return format (formatted list with optional counts and nested path format), which is sufficient for a read-only listing tool. No behavioral contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is mostly clear but includes an unrelated 'User Preferences' line that wastes space and adds no value for tool selection. The Args and Returns sections are well-structured, but the extra line reduces conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only 2 optional parameters and an output schema, the description covers purpose, parameters, and return format adequately. No missing information for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains both parameters with examples (e.g., 'Gmail', 'Work') and default values, adding meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all mailboxes/folders for a specific account or all accounts, with a specific verb 'list' and resource 'mailboxes'. It distinguishes from sibling tools like list_inbox_emails (which lists emails) and others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use: to list mailboxes, optionally filtered by account. It does not explicitly state when not to use or name alternatives, but the purpose is unambiguous given sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that results are sorted by date (newest first), that only INBOX mailboxes are searched, and that the result includes account names. This adds significant behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief introductory sentence, a parameter list, and a return note. However, the inclusion of 'User Preferences' is extraneous and not relevant to tool selection or invocation, slightly detracting from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core behavior (cross-account search, inbox-only, sorted results) and all parameters. It mentions the output format implicitly. With an output schema present, the description does not need to detail return structure. It is complete enough for typical use, though it lacks error handling or rate limit notes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description compensates excellently with a detailed 'Args' section that explains each parameter's purpose, default values, and special values (e.g., '0 = all time' for days_back). This is a textbook example of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches across ALL email accounts, uses the verb 'search', and specifies the resource 'all email accounts'. It distinguishes from siblings by emphasizing cross-account search and limiting to INBOX, which sets it apart from single-account search tools like search_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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('search across ALL email accounts at once') and notes a key constraint ('Only searches INBOX mailboxes'). While it doesn't explicitly mention alternatives, the context of sibling tools and the emphasis on 'all accounts' provides sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the burden of disclosure. It discloses performance characteristics (slower), default behaviors (searches both body and subject by default), and provides parameters like max_results and max_content_length that control output. It does not mention authorization or error handling, which are minor 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description begins with a clear one-sentence summary, then provides a structured parameter list. However, it includes a 'User Preferences' line that appears extraneous and slightly detracts from conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, 2 required) and the existence of an output schema, the description adequately covers input semantics and core behavior. It could be enhanced with return format details, but the output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a detailed Args list explaining each parameter and its default value, compensating for the schema's 0% description coverage. This provides essential meaning beyond the schema's property names, such as clarifying that 'search_subject' and 'search_body' are both true by default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches email body and optionally subject, and distinguishes itself from subject-only searches by noting it is slower but finds more relevant results. This differentiates it from sibling tools like 'search_emails' and 'search_emails_advanced'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly warns that this tool is slower than subject-only searches, implying that for faster results, users should use an alternative. However, it does not explicitly name which sibling tool to use, leaving some ambiguity for the agent.
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 discloses important behaviors: IMAP vs AppleScript fallback, slower body search, and that account=None searches all accounts. It lacks details on pagination limits or rate limits, 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a summary, functional overview, and bulleted parameter list. It is slightly verbose but appropriate for the number of parameters. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (15 params, no output schema needed due to presence of output schema), the description is fairly complete: it covers purpose, parameters, behavior, and format options. It could elaborate on pagination semantics but is generally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides a comprehensive parameter list with detailed explanations for all 15 parameters, including defaults, formats, and special values like 'All' for mailbox. Since schema coverage is 0%, this adds essential meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it as a 'Powerful unified search across accounts and mailboxes with flexible filters' and explicitly mentions combining capabilities of specific sibling tools (search_emails, search_by_sender, search_email_content, search_all_accounts). This distinguishes it from those similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (for flexible filters and cross-account search) and includes a critical note about IMAP vs AppleScript fallback. However, it does not explicitly state when NOT to use this tool or provide direct comparisons to alternatives for simple searches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses safety limit (max_emails=50), dry_run mode for preview, and return type (summary with count). This adequately communicates the tool's behavior, though it could mention that moving removes emails from the source (destructive) and potential side effects like marking as read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with a clear purpose sentence, followed by a brief requirements paragraph and a structured Args list. Every sentence earns its place; no fluff. The user preferences line at the end is ambiguous but doesn't detract significantly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, no annotations, output schema exists), the description covers the operation, return value, and constraints well. Minor gaps: no error handling or caution about irreversible moves, and no mention of rate limits or authentication. Still, it's comprehensive enough for an agent to use effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by documenting each parameter: it lists defaults (from_mailbox='INBOX', dry_run=False, max_emails=50), explains optional filters (subject_keyword, sender, older_than_days), and notes that max_emails is a safety limit. This adds rich meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Move multiple emails matching filters to a destination mailbox,' clearly stating the verb (Move), resource (multiple emails), and scope (matching filters to destination). This distinguishes it from siblings like move_email (single email) and imap_bulk_move (likely similar but different implementation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states requirements: both from_mailbox and to_mailbox are required, at least one filter is required, and provides format guidance (e.g., '/' for nested mailboxes). It doesn't explicitly compare to siblings, but the context is clear enough for an agent to decide when to use this tool over move_email or imap_bulk_move.
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 burden. It explains the moving action, safety limit (max_moves), dry_run option, progress logging to a file, and config dependency. It does not detail authorization or reversibility but covers key aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a one-line purpose, context, config note, then a clear parameter list, and returns summary. 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/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage, parameters, behavior, and output summary. With an output schema present, the brief return note is acceptable. It lacks only advanced details (e.g., auth specifics) but is complete for practical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description provides detailed parameter explanations (purpose, type, default) in the 'Args' section, adding significant meaning beyond the schema's titles and types. This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool moves emails between IMAP folders, explicitly notes it's fast for Proton Bridge, and distinguishes from AppleScript. It also mentions optional sender filtering, clearly defining the specific action and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use (fast bulk moves for large mailboxes) and mentions progress logging and config requirements. However, it does not explicitly state when to avoid or compare directly with sibling tools like 'move_email' or 'bulk_move_emails'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that Mail may continue syncing after the tool returns, which is a key behavioral trait. It also mentions the return type (summary). However, it does not detail side effects or authorization needs, but for a simple sync tool, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two clear sections (Args and Returns). Every sentence serves a purpose, and the main action is front-loaded. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter) and the presence of an output schema (not shown but implied), the description adequately covers what the tool does and its return. It could mention error conditions or prerequisites, but the core functionality is well-explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does 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 the 'account' parameter: optional, when omitted all accounts are synced. This adds clear meaning beyond the schema's type and default, fully clarifying usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it asks Apple Mail to synchronize one or all accounts. It uses a specific verb ('synchronize') and resource ('account'), and among sibling tools, no other tool duplicates this purpose, so differentiation is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to synchronize accounts) and notes that omitting the account parameter syncs all accounts. It lacks explicit guidance on when not to use it or alternatives, but the context is clear enough for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses reading config files, writing progress logs, skipping already-moved emails, auto-creating folders, and batch processing behavior. No contradictions; all behavioral traits are transparently stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with clear sections (summary, config, logging, batch, args, returns). It is front-loaded with core purpose. Some repetition (config mentioned twice), but overall efficient for the amount of detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 optional parameters, output schema, and many sibling tools, the description is comprehensive. It explains rules file, progress log, batch calling pattern, dry run, and defaults. Output schema existence justifies brief return summary, and all essential aspects are covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 0% (no parameter descriptions in schema), the free-text 'Args' block fully describes each parameter, including defaults and usage tips (e.g., 'Use 100-200 to avoid timeouts' for batch_size). This adds significant value beyond schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Sort inbox emails into folders by sender using IMAP (fast, for Proton Bridge).' It specifies verb (sort), resource (inbox emails), and method (by sender via IMAP), distinguishing it from sibling tools like imap_bulk_move or move_email which are more generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explains configuration files, batch processing, and dry-run mode, providing clear context for use. It notes 'Call repeatedly until inbox is clean' but does not explicitly exclude alternative tools or mention when not to use this tool compared to siblings.
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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/isityael/apple-mail-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server