Higgs Hub
Server Details
Gmail, Outlook, Drive, OneDrive and calendars for AI agents. Many accounts, one endpoint, audit log.
- Status
- Healthy
- Uptime
- 96.9% over 21 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 138 tools
The tools are systematically provider-prefixed (gmail, outlook, gdrive, onedrive, excel, google_sheet, google_calendar, outlook_calendar), so the near-parallel Google/Microsoft tool sets stay clearly separated and each tool has a distinct verb+resource target. Only a few minor overlaps blur the line, e.g. the unprefixed list_messages sitting alongside search_outlook_messages/get_outlook_message, and the dense read_/get_ read-vs-shape pairs, but descriptions resolve these.
Almost everything is consistent snake_case verb_noun, which makes the huge surface predictable. There is mild inconsistency in how the Google ecosystem is prefixed (gmail vs google vs gdrive vs google_sheet) and a couple of un-prefixed stragglers like list_messages, but the pattern remains readable throughout.
138 tools is far beyond typical (the rubric flags 50+ as extreme), and it will tax an agent's selection even if each tool is individually purposeful. The sprawl is partly justified by genuinely covering two full productivity suites (Google + Microsoft) plus workspace admin and skills, but it is still at the heavy end of the acceptable range.
Coverage is unusually thorough: full create/read/update/delete/append/clear lifecycles for mail, calendar, drive, sheets and tasks across both providers, plus attachments, sharing, filters, rules and workspace administration. A few explicit dead ends remain (PDFs and Word docs can't be read, recurring series can't be edited wholesale), keeping it just short of flawless.
Available Tools
146 toolsadd_excel_sheetAdd a worksheetCInspect
Add a new worksheet tab to an existing workbook.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| workbookId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It indicates a mutating operation but does not disclose what happens if a sheet with the same title already exists, whether changes are reversible, or what response is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that directly states the operation and target. There is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating operation with no annotations, no output schema, and sparse parameter documentation, the description is too minimal. An agent would benefit from knowing failure behavior, whether the tab is created at a specific position, and any permission or mailbox requirements beyond the mailbox parameter description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must compensate. It does provide some semantic mapping: 'worksheet tab' suggests what 'title' is for, and 'existing workbook' contextualizes 'workbookId'. However, it adds no detail on constraints, uniqueness, or format beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Add a new worksheet tab to an existing workbook.' It clearly distinguishes from creating a new workbook (create_excel_workbook) and from the Google-sheet equivalent (add_google_sheet_tab), though it does not name those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The phrase 'existing workbook' implies the workbook must already exist, but it does not explain prerequisites, such as creating the workbook first or checking list_excel_workbooks for a valid workbookId.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_google_sheet_tabAdd a tab to a spreadsheetBInspect
Add a new worksheet tab to an existing spreadsheet.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| spreadsheetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only restates the mutation ('adds a tab') without mentioning prerequisites, duplicate-title behavior, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no filler. The action is front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin. It omits how to obtain spreadsheetId, what happens on duplicate tab titles, and any return or confirmation behavior, leaving the agent to infer from sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, with only mailbox described. The description does not explain spreadsheetId or title, though 'new worksheet tab' weakly implies title is the tab name. It fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Add'), a specific resource ('new worksheet tab'), and a target ('existing spreadsheet'), which clearly distinguishes it from create_google_spreadsheet and add_excel_sheet. The title and description align perfectly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as add_excel_sheet, or on prerequisites like the spreadsheet already existing. There are no exclusions or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
append_excel_rowsAppend rows to a worksheetAInspect
Add rows after the last row holding data — the usual way to add records to a tracker. Excel interprets values as if typed, so numbers and dates parse and a value starting with = becomes a live formula. Unlike Google Sheets there is no option to store text exactly as given.
| Name | Required | Description | Default |
|---|---|---|---|
| sheet | Yes | ||
| values | Yes | Rows of cell values | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| workbookId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does disclose key behaviors: it appends after the last data row, interprets values as typed (numbers/dates parse, '=' becomes a live formula), and notes the lack of a raw-text option. However, it omits details like permissions, error behavior, or return value, which are relevant for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler. The primary purpose is front-loaded, followed by essential behavioral notes. Every clause adds value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the core behavior and type parsing, it lacks an output schema and does not mention what the tool returns (e.g., success confirmation, row count, or error conditions). It also does not address prerequisites like existing workbook/sheet or permission needs. For a 4-required-param mutation tool without annotations, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the description adds substantial meaning to the 'values' parameter (parsing behavior, formula interpretation) beyond the schema's generic 'Rows of cell values'. It does not explain 'sheet' or 'workbookId', but those are fairly self-explanatory, and the description compensates for the most complex parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Add/append) and resource (rows to an Excel worksheet) with a precise placement rule (after the last row holding data). Clearly distinguishes from sibling tools like update_excel_range (modifies existing cells) and append_google_sheet_rows (Google Sheets) via the explicit Excel context and the contrast with Google Sheets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context that this is the standard way to add new records to a tracker, implying it is for appending rather than updating. The contrast with Google Sheets ('no option to store text exactly as given') offers a usage hint for when to prefer the alternative, but it does not explicitly name sibling tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
append_google_sheet_rowsAppend rows to a sheetAInspect
Add rows after the last row that holds data — the usual way to add records to a tracker. Values are interpreted as if typed, so numbers and dates parse and a value starting with = becomes a live formula; pass valueInput RAW to store text exactly as given.
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | The tab or table to append to, e.g. "Invoices" or "Invoices!A:E" | |
| values | Yes | Rows of cell values | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| valueInput | No | ||
| spreadsheetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the critical value-parsing behavior: numbers/dates parse and leading = becomes a formula, plus the RAW option to avoid that. It also specifies the append location. This is substantial transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the purpose front-loaded and the key behavioral nuance second. No filler; every clause adds value, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter append operation with no output schema, the description covers the core behavior, value handling, and gives a range example. It does not mention error cases or alternative tools, but the essentials for correct invocation are present. Slightly more would be ideal but not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, and valueInput lacks a description in the schema. The description explains the enum values and their effect, adding meaning beyond the schema. It also clarifies the interpretation of the values parameter, partially compensating for the incomplete schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Add rows after the last row that holds data' and frames it as 'the usual way to add records to a tracker.' This distinguishes it from update/clear operations and from the Excel sibling. The specific resource and behavior are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the primary use case (adding records) and hints at the distinction from overwriting, but does not explicitly mention alternatives like update_google_sheet_range or clear_google_sheet_range. The context given is enough for an agent to infer when to use it, though not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_gmail_labelsApply/remove Gmail labelsAInspect
Add and/or remove labels on up to 1000 messages at once. This is Gmail's equivalent of moving messages between folders — add the destination label and remove INBOX (or the source label) in the same call.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| messageIds | Yes | ||
| addLabelIds | No | ||
| removeLabelIds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose a genuinely useful non-schema fact—the 1000-message batch cap—and the move-equivalent behavior of combining add and remove in one call. However, it never discloses the mutating nature of the operation, potential side effects of removing INBOX, idempotency, or partial-failure behavior, which an agent would benefit from knowing for a label-mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The core action and batch limit are front-loaded in the first sentence, and the second sentence earns its place by clarifying the move semantics that would otherwise be ambiguous. Every phrase contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter, 2-required tool with no output schema and no annotations, the description covers the central call pattern well but omits practical invocation details: how to obtain label IDs, the implication of both label arrays being optional in the schema, behavior on partial batch failure, and the return value. The move analogy is strong, but an agent would still need to infer or probe several details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25%—only mailbox is described—so the description must compensate for the undocumented messageIds, addLabelIds, and removeLabelIds. It partially does: explaining that add and remove happen 'in the same call' and that the destination label maps to addLabelIds while INBOX/source maps to removeLabelIds. But it doesn't specify where label IDs come from (e.g., list_gmail_labels), whether at least one of the arrays must be supplied, or messageId format, leaving clear gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Add and/or remove labels on up to 1000 messages at once.' This clearly distinguishes it from siblings like create_gmail_label, delete_gmail_label, and rename_gmail_label, which operate on the label definitions themselves, not on messages. The folder-move analogy further anchors what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear contextual usage guidance: it frames the tool as 'Gmail's equivalent of moving messages between folders' and explains the exact recipe—'add the destination label and remove INBOX (or the source label) in the same call.' This tells an agent when to reach for it versus Outlook's move_messages. It stops short of explicitly naming alternatives or stating when-not-to-use scenarios, so it doesn't earn a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_access_rolePut a member or API key in an access roleAInspect
Move one member (by email) or one API key (by name) into an access role, or back onto the workspace's default role with role = null. Owners can't be given a role — they are always unrestricted. Give exactly one of member or apiKey. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The access role's name, or null for the default role. | |
| apiKey | No | The API key's name, as shown on the Agents page. | |
| member | No | The member's email. | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses the asynchronous 'only stages a request' behavior, the browser review/approval step, and the owner-unrestricted rule. The warning about never accepting the PIN in chat is critical behavioral guidance that prevents agent misuse. This significantly exceeds minimum disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a purpose: core operation, constraints, and approval-flow warning. It is front-loaded with the action and parameter selection guidance, and contains no filler. Efficiency without loss of critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description covers all necessary invocation details: target identity, role null semantics, owner restriction, exact-one constraint, workspace scope, and the staged approval process. The only minor omission is a note about return/success response, but that is not essential for correct invocation. The definition is complete enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description adds value by imposing the 'exactly one of member or apiKey' exclusivity that is not enforced by the schema. It also reinforces that role=null means the workspace's default role, aligning with the schema description. The workspace param is left to the schema, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific action 'Move one member (by email) or one API key (by name) into an access role', naming the exact resource and operation. It distinguishes this from sibling role-manipulation tools (create_access_role, delete_access_role) and from set_member_workspace_role by focusing on assignment into an access role with the default-role null option.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit constraints on invocation: 'Give exactly one of member or apiKey', and clarifies that owners cannot be assigned a role. It also gives workflow guidance by explaining the request is only staged and that the owner must approve it in the browser, including the explicit 'Never ask for or accept the PIN in chat'. It does not name alternative tools, but the context is clear enough for an agent to decide when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_invitationCancel an invitationAInspect
Cancel a pending invitation to a workspace you own, by the invited email. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The invited address. | ||
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden of behavioral disclosure. It explicitly states that this tool only stages a request and requires the owner to approve via a browser link with their agent PIN, and it gives a security directive to never ask for the PIN in chat. This discloses asynchronous behavior and an important operational constraint, going beyond what a simple 'cancel' would imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no wasted words. It front-loads the core purpose, then delivers the essential behavioral caveat and security warning. Every sentence earns its place, and the structure is easy to scan quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two parameters, no output schema, and no annotations, the description is fully sufficient. It explains the purpose, the prerequisite (owning the workspace), the workflow (staged approval), and a critical safety rule (never ask for PIN). An agent can call this tool correctly with no additional guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already has 100% description coverage for both parameters. The tool description adds value by explaining the purpose of the email parameter ('by the invited email') and giving practical guidance for the optional workspace parameter: 'Only needed when you own more than one — list_workspaces shows them.' This clarifies when the parameter should be provided, exceeding the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('cancel') and a precise target ('a pending invitation to a workspace you own, by the invited email'). It clearly distinguishes from siblings like invite_member or remove_member by focusing on pending invitations, and the term 'cancel' is unambiguous. The title and name align perfectly, and the description adds the critical qualifier of workspace ownership.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is for canceling a pending invitation, not for removing an already-accepted member. It also explains the approval workflow, which tells the agent when to expect a deferred result. However, it does not explicitly name alternative tools for different scenarios (e.g., using remove_member for active members), though the distinction is implicit from the wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_excel_rangeClear a range of cellsAInspect
Empty the values in a range, leaving formatting and the rows themselves in place. Ask the user to confirm before clearing anything they did not just create.
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | ||
| sheet | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| workbookId | Yes |
TDQS
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 clearly states the operation is non-destructive to formatting and rows, and adds a human-interaction requirement (confirm before clearing). It does not mention effects on formulas, data validation, or permissions, but the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy. The primary action is stated first, and the user-confirmation safety note is appended without clutter. All words earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavior but omits crucial context: parameter format (e.g., 'range' syntax like A1:B2), prerequisites (workbook/sheet existence), and any impact on formulas or calculations. With no output schema and low parameter schema coverage, this is insufficient for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (only mailbox has a description), and the tool description provides no additional parameter information. The description does not explain how to specify 'range', 'sheet', or 'workbookId', leaving the agent to guess naming conventions and formats. This is a significant gap for a low-coverage schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Empty') and resource ('the values in a range'), and clarifies it leaves formatting and rows intact, distinguishing it from row deletion or value replacement. The tool name and title also differentiate it from clear_google_sheet_range and update_excel_range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case: clearing values while preserving formatting and row structure. It includes a safety guideline about confirming before clearing user data, but does not explicitly name alternatives or state when to prefer this over update_excel_range or clear_google_sheet_range.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_google_sheet_rangeClear a range of cellsAInspect
Empty the values in a range, leaving formatting and the rows themselves in place. Ask the user to confirm before clearing anything they did not just create.
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| spreadsheetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does well by disclosing that only values are emptied while formatting and rows remain, and by requiring user confirmation. It does not mention irreversibility or permission requirements, but the confirmation directive signals the destructive nature adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the core action and what is preserved, and the second gives a clear safety instruction. Every sentence earns its place and the most important behavioral detail is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the purpose, the non-destructive-to-format behavior, and a confirmation requirement, which is solid for a simple clear operation. However, it omits the expected range syntax, how spreadsheetId should be supplied, and what a successful response looks like, leaving some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% and the description does not compensate. It adds no format guidance for 'range' or 'spreadsheetId', and the word 'range' simply restates the parameter name. The 'mailbox' parameter is already described in the schema, so the description provides little additional parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Empty the values') and resource ('a range') and adds a valuable nuance: formatting and rows are preserved. It is clear about what the tool does, though it does not explicitly distinguish itself from sibling tools such as clear_excel_range or update_google_sheet_range.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction to ask the user before clearing anything they did not just create is a useful operational guideline. However, the description does not explicitly state when to choose this tool over alternatives or mention exclusion cases, so usage context is only implied rather than fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_google_taskComplete a Google taskAInspect
Mark a task done. Google stamps the completion time itself.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| taskId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It does disclose one behavioral detail: Google stamps the completion time itself, which tells the agent not to supply a time. However, it does not mention idempotency, effects on already-completed tasks, error handling, or return behavior. With no annotations, this is only partial disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the primary action. The second sentence is an informative behavioral note with no filler. Extremely efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation tool with no annotations and no output schema, the description is too sparse. It lacks instructions on how to retrieve valid listId/taskId values, what happens if the task is already completed, or what the response contains. The timestamp note adds value, but the absence of parameter sourcing guidance and flow details leaves an agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%; only mailbox is described. listId and taskId have no description in either the schema or the description. The names suggest their content but the description provides no guidance on where to obtain them (e.g., list_google_tasks, get_google_task). The tool name does add 'Google' context but not enough to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Mark a task done') on a specific resource (Google task). The second sentence clarifies a key behavior (Google sets the completion time). Distinguishable from siblings like complete_outlook_task by the 'Google' qualifier in the name and 'task done'. Clear and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (complete a Google task) but provides no explicit when-to-use guidance or exclusions. It does not contrast with update_google_task, delete_google_task, or the Outlook counterpart. The behavioral hint about timestamp is a small usage cue, but not enough to rise above implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_outlook_taskComplete To Do taskBInspect
Mark a task as done. Completed tasks drop out of list_outlook_tasks by default.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| taskId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose one behavioral consequence: completed tasks drop out of list_outlook_tasks by default. However, it does not mention reversibility, permission requirements, or other side effects of marking a task complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The action is front-loaded and the behavioral note is relevant. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain where to obtain listId and taskId (e.g., from list_outlook_tasks), does not mention the return value or errors, and lacks guidance on idempotency. For a mutation tool with no annotations and no output schema, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only mailbox is described). The description does not compensate by explaining listId or taskId, leaving two required parameters without semantic guidance beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Mark a task as done'), making the primary purpose unambiguous. It implicitly distinguishes from complete_google_task by platform, but it does not explicitly contrast with update_outlook_task, which could also modify task status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like update_outlook_task or delete_outlook_task. The only additional information is a consequence (tasks drop out of list_outlook_tasks), not a usage condition or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_access_roleCreate an access roleAInspect
Create a named access role in a workspace you own. It starts with all eight capabilities on and every mailbox read & write; narrow it afterwards with set_access_role_capability and set_access_role_mailbox_access, then put people in it with assign_access_role. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The role's name, e.g. "Support". | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a critical behavioral trait: 'This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN.' This is beyond what annotations provide (none are given), and it also includes a security-relevant instruction: 'Never ask for or accept the PIN in chat.' This is exactly the kind of behavioral context an agent needs to avoid a serious error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place: the first states the action and initial state, the second explains the follow-up workflow, and the third discloses the approval flow and PIN safety rule. It is front-loaded with the core purpose and scoping constraint, and there is zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema, the description is complete. It covers the initial state of the role, the follow-up tools to use, the workspace ownership prerequisite, the approval flow, and the PIN safety rule. An agent has everything it needs to call this tool correctly and avoid a security mistake.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description adds context about the workspace parameter ('Only needed when you own more than one — list_workspaces shows them'), which is useful. However, it doesn't add much about the name parameter beyond what the schema provides. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Create a named access role in a workspace you own.' It clearly distinguishes this from siblings like set_access_role_capability, set_access_role_mailbox_access, and assign_access_role by explaining the role starts with all capabilities and mailbox access enabled, then must be narrowed with those sibling tools. This is a clear, specific purpose that an agent can act on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains the workflow: create the role, then narrow it with set_access_role_capability and set_access_role_mailbox_access, then assign people with assign_access_role. It also states the prerequisite that you must own the workspace, and that the workspace parameter is only needed when you own more than one. This is explicit when-to-use guidance with named alternatives and sequencing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_agentmail_draftCreate an AgentMail draftInspect
Write a draft into the AgentMail inbox without sending it. The person reviews and sends it from the AgentMail console. Works even when sending is switched off. For a reply, set replyToMessageId — recipients and subject then come from the original.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | ||
| to | No | Required unless replyToMessageId is set | |
| bcc | No | ||
| body | Yes | ||
| mailbox | Yes | Address of the connected AgentMail inbox to act on. Call list_authorized_mailboxes to see available options. | |
| subject | No | Required unless replyToMessageId is set | |
| replyToMessageId | No | Draft a reply to this message. |
create_excel_workbookCreate a workbookAInspect
Create a new empty .xlsx workbook in the user's OneDrive. Returns its id and link. Lands in the top level of the drive unless parentFolderId is given — which is required when your access to this mailbox is limited to certain folders.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| parentFolderId | No | OneDrive folder id to create the workbook in. Required when your access is limited to certain folders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the return value (id and link), the default location behavior, and the conditional requirement for parentFolderId. It does not address permissions or conflict behavior, but those are minor for a simple creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. The core action comes first, followed by return value and then the placement caveat. The structure is easy to parse and intentionally ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with three parameters and no output schema, the description provides enough to invoke it correctly: required fields are implied by the schema, the optional parameter is explained, and the return value is stated. Minor gaps like overwrite behavior and permission requirements do not block correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents mailbox and parentFolderId, and the description adds useful location semantics for parentFolderId. However, the required 'name' parameter has no schema description and the description does not clarify what the name refers to. With 67% schema coverage, the description only partially compensates for that gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create'), the resource ('a new empty .xlsx workbook'), and the location ('in the user's OneDrive'). It also mentions the returned id and link, and the 'new empty' qualifier distinguishes it from tools like create_google_spreadsheet or add_excel_sheet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical placement guidance: the workbook lands in the top level of the drive unless parentFolderId is provided, and parentFolderId becomes required when mailbox access is folder-limited. It does not explicitly name sibling alternatives, but the context is clear enough for an agent to decide when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_gdrive_folderCreate Google Drive folderAInspect
Create a new folder in Google Drive under the given parent (defaults to My Drive root).
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| parentItemId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It discloses one important behavioral trait: the folder defaults to My Drive root when no parent is given. It does not cover permission requirements, duplicate-name handling, or return values, but the core creation behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It states the action and the useful default-parent behavior without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create tool with no output schema and no annotations, the description is adequate for attempting a call. However, it does not state what the tool returns (e.g., folder ID) or how it behaves when a folder with the same name already exists, which an agent might need for follow-up actions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low at 33%, but the description adds meaning for parentItemId by explaining the parent default. The 'name' parameter is inferable as the new folder name, and mailbox already has a detailed schema description. Still, explicit per-parameter guidance for name and parentItemId is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new folder in Google Drive') and adds the parent/root behavior, which separates it from siblings like create_onedrive_folder. It does not explicitly name a sibling, so it falls just short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: call this when creating a Google Drive folder, optionally under a given parent. However, there is no explicit when-to-use, when-not-to-use, or comparison with alternatives such as create_google_spreadsheet or create_onedrive_folder.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_gmail_draftCreate a Gmail draftAInspect
Write a draft into the mailbox without sending it. The person opens and sends it themselves. Works even when a workspace has switched sending off.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | ||
| to | Yes | ||
| bcc | No | ||
| body | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| subject | Yes | ||
| replyToMessageId | No | Draft a reply to this message — threads it and reuses its subject. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does disclose the key non-sending behavior and the sending-disabled edge case. However, it omits other relevant behavior such as whether the draft lands in the Drafts folder, whether it returns a draft ID, or whether any permissions beyond a connected mailbox are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. The core action is front-loaded, the user-facing role is clarified in the second sentence, and the environment condition is a valuable third sentence. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a straightforward draft-creation action and conveys the essential no-send distinction. However, with no output schema and no annotations, the agent is left without information about the return value, confirmation behavior, or any content-format expectations, making it incomplete for a 7-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% (2 of 7 parameters described: mailbox and replyToMessageId). The tool description adds no parameter-level guidance for to, cc, bcc, subject, or body, and does not clarify body format (plain text vs HTML) or reply-threading details beyond the schema's brief replyToMessageId note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Write a draft into the mailbox without sending it.' This clearly distinguishes it from send_gmail_message and create_outlook_draft, and the follow-up 'The person opens and sends it themselves' reinforces the no-send intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly contrasts drafting with sending and even provides a concrete use-case condition: 'Works even when a workspace has switched sending off.' It does not explicitly name send_gmail_message as the alternative for immediate sending, but the distinction is strongly implied and easy for an agent to act on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_gmail_filterCreate auto-file filterAInspect
Create a Gmail filter that automatically labels (and by default archives out of the inbox) incoming mail matching sender/subject/query criteria. Runs server-side in Gmail, so it keeps working even when this tool isn't being used.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Match sender, e.g. "billing@acme.com" | |
| query | No | Advanced: any Gmail search query, e.g. "has:attachment larger:10M" | |
| archive | No | Skip the inbox for matching mail (default true) | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| subject | No | Match if subject contains this text | |
| addLabelId | Yes | Label ID to apply to matching mail |
TDQS
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 transparently reveals the default archiving side effect and the server-side persistence behavior. It does not mention prerequisites like the label needing to exist, but the core behavioral traits are clearly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence front-loads the action and effect, and the second adds a valuable persistence detail. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter creation tool with no annotations and no output schema, the description covers the core behavior, default side effect, and server-side persistence. It is slightly incomplete in not noting that addLabelId must reference an existing label or that no return value is specified, but it is adequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds mild context by summarizing 'sender/subject/query criteria' and noting the default archive behavior, but it does not add meaning beyond what the schema already provides for mailbox or addLabelId.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create a Gmail filter') and explains what it does: automatically labels and by default archives incoming mail matching sender/subject/query criteria. This clearly distinguishes it from siblings like apply_gmail_labels (which acts on existing messages) and create_gmail_label (which only creates a label).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: use this for automatic server-side handling of future incoming mail. However, it does not explicitly state when not to use it or name alternatives such as apply_gmail_labels for existing messages or create_inbox_rule for other mail systems.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_gmail_labelCreate Gmail labelBInspect
Create a new Gmail label. Use "/" in the name for nested labels, e.g. "Clients/Acme".
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It reveals one useful behavior — that '/' in the name creates nested labels — but omits other traits an agent would want for a create operation: behavior on duplicate label names, whether the created label ID is returned, and any label-count limits. The description is not misleading, but it is thin on behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the core action is front-loaded, and the nested-label rule earns its place immediately after. The example is compact and concrete rather than verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema and no annotations, the description covers the central operation and the main format nuance, while the schema handles mailbox selection. However, it never states what response to expect (e.g., created label ID) or how duplicate labels are handled, which matters for follow-up workflows like apply_gmail_labels. It is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the mailbox parameter is well-documented in the schema (email format plus a pointer to list_authorized_mailboxes), while name has no schema description. The description compensates for the name gap by teaching the slash convention for nested labels with a concrete example. This adds real meaning beyond the bare string type in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and resource ('Create a new Gmail label'), so an agent can tell this is a create operation on Gmail labels rather than mail folders or other resources. The slash-nesting tip further clarifies what a label name means. It doesn't explicitly contrast with sibling tools like rename_gmail_label, delete_gmail_label, or apply_gmail_labels, but the verb+resource pairing is unambiguous enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The nested-label example ('Clients/Acme') provides a how-to hint but no guidance on when to choose this tool over alternatives such as create_mail_folder, apply_gmail_labels, or rename_gmail_label. There are no when/when-not conditions or exclusions. Given the large sibling set of label- and folder-related tools, an agent gets little routing help from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_google_calendarCreate a Google calendarBInspect
Create a new secondary calendar on the account — useful for keeping a client's or project's events separate from the personal one.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeZone | No | IANA timezone the calendar defaults to, e.g. "America/Denver" | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the action and does not disclose side effects, return values, authorization requirements, idempotency, or any other behavioral traits. The description does not explain what happens on success or failure, making it insufficient for an agent to predict behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and purpose, with no filler or redundant content. It efficiently communicates the core functionality and a use case, making it highly scannable for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, 2 required, no output schema, and no annotations, the description is too sparse to be complete. It doesn't mention return values, how to specify timezone/description, or any post-creation behavior. An agent would need to rely on the schema and external knowledge to use it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% — mailbox and timeZone are described, but name and description are not. The tool description adds no parameter information at all, so it does not compensate for the missing schema descriptions. It doesn't explain what 'name' or 'description' mean, nor clarify the role of mailbox or timeZone beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (create) on a specific resource (secondary calendar) on the account, and gives a concrete use case (keeping client/project events separate). It clearly distinguishes from siblings like create_google_calendar_event or create_outlook_calendar by naming the resource (Google calendar) and the 'secondary' qualifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context when this tool is useful (for client/project events separation) but does not mention alternatives or explicitly say when not to use it. It doesn't differentiate from create_google_calendar_event or other creation tools, leaving the agent to infer that this is for calendars, not events. No exclusions or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_google_calendar_eventCreate a Google Calendar eventBInspect
Create an event. Pass dates as "YYYY-MM-DD" for an all-day event, or full ISO datetimes for a timed one. Adding guests emails each of them an invitation from the user's address; an event with no guests notifies nobody. Set addVideoMeeting to attach a Google Meet link.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | End, same format as start. For an all-day event this is the LAST day it covers, not the day after | |
| start | Yes | Start: "YYYY-MM-DD" for all-day, or an ISO datetime | |
| title | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| location | No | ||
| timeZone | No | IANA timezone for the times, e.g. "America/Denver". Set it — without one a timed event is read as UTC and can land hours off | |
| attendees | No | Guest email addresses. Each one is emailed an invitation — confirm with the user before inviting anybody | |
| calendarId | No | ||
| description | No | ||
| addVideoMeeting | No | Attach a Google Meet link to the event. The link is created and handed back — nothing joins, records or transcribes the meeting |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose that adding guests emails them invitations, that no guests means no notifications, and that addVideoMeeting attaches a Google Meet link. However, it doesn't mention side effects like creating an event in a default calendar when calendarId is omitted, or any authorization requirements. It adds some useful context beyond the schema but misses other important behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with the core action ('Create an event') followed by the most critical usage details. It is efficient and avoids redundancy, though it could be slightly more structured. The information is dense and relevant, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters, 60% schema coverage, no annotations, and no output schema, the description is incomplete. It fails to explain what happens without a calendarId (likely default calendar), doesn't mention return values, and ignores optional parameters like location and description. The agent may not know how to correctly invoke it in all cases, especially regarding default calendar behavior and expected response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaningful context for key parameters: it clarifies the date format distinction between all-day and timed events (start/end), explains the invitation behavior for attendees, and describes the effect of addVideoMeeting. This goes beyond the schema's descriptions, which cover 60% of parameters. It doesn't address calendarId, location, or description, but those are self-explanatory from their names. The description compensates well for the parameters it touches.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Create an event' which, combined with the tool name 'create_google_calendar_event', clearly identifies the action and resource. It distinguishes from sibling tools like create_google_calendar (which creates a calendar) and create_outlook_calendar_event, though it doesn't explicitly name those alternatives. The verb 'Create' and resource 'event' are specific, but the description alone could be slightly ambiguous without the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage details on date formats, guest invitations, and video meeting attachment, but it never explains when to use this tool versus its alternatives (e.g., create_outlook_calendar_event). It does not mention any conditions or exclusions for using this tool, leaving the agent to infer based on the title. This is a significant gap given the large sibling list with similar creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_google_spreadsheetCreate a spreadsheetAInspect
Create a new spreadsheet in the user's Drive, optionally with named tabs. Returns its id and link. Lands in the top level of the drive unless parentFolderId is given — which is required when your access to this mailbox is limited to certain folders.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| sheetTitles | No | Tab names to create, in order | |
| parentFolderId | No | Drive folder id to file the new spreadsheet in. Required when your access is limited to certain folders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It explains the creation behavior, default placement, the condition requiring parentFolderId, and the return value (id and link). It doesn't discuss permission needs or side effects on existing files, but for a create operation the key 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no fluff. The main action leads, followed by the return value and then the placement nuance. Every sentence contributes operational information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description usefully states the return value and the key location rule. It doesn't clarify what happens to the default sheet when sheetTitles are provided, or any permission prerequisites, but it gives enough for correct basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, and the description adds meaning beyond it: the 'top level unless parentFolderId' default location behavior and the fact that sheetTitles create named tabs. It also frames parentFolderId as a placement control, reinforcing the schema's restriction note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource: creating a new spreadsheet in the user's Drive, with optional tabs. It also states the output (id and link) and the default location, which clearly distinguishes it from siblings like create_excel_workbook or create_gdrive_folder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: the new file lands at the Drive top level unless parentFolderId is provided, and explains when parentFolderId is required. It doesn't explicitly compare against alternative spreadsheet creation tools, but the Drive/mailbox framing implies the Google Sheets context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_google_taskCreate a Google taskAInspect
Add a task to a list. Google Tasks stores a due date but not a due time — a time you pass is discarded, so say "due Friday", not "due Friday at 3pm". There is no priority field. Pass parentTaskId to make this a subtask.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| title | Yes | ||
| listId | Yes | ||
| dueDate | No | YYYY-MM-DD. Any time component is discarded by Google | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| parentTaskId | No | Makes this a subtask of that task, in the same list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and covers the non-obvious quirks: due times are discarded, priority is not supported, and parentTaskId creates a subtask. It does not describe return values or side effects, but the disclosure is substantial for a create tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all informative: the core action is front-loaded, and each following sentence adds a distinct behavioral caveat. There is no filler or repetition of the schema except where it reinforces an important quirk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient for a simple creation call, but with no output schema or annotations it leaves out how to obtain listId, which fields are required, and what the tool returns. The behavioral caveats are useful, yet an agent still needs to infer some setup and postconditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description partially compensates for the 50% schema coverage by restating the due-date behavior and the subtask meaning of parentTaskId in natural language, and it warns that no priority parameter exists. But notes, listId, and title still have no semantic explanation beyond their names, and most of the parentTaskId/dueDate content duplicates schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and object — 'Add a task to a list' — and the title/name confirm it creates a Google task. It is distinguishable from siblings like create_google_task_list and complete_google_task by naming task creation, though it does not explicitly contrast with update/complete variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Add a task to a list' conveys the core use case, and the subtask note adds a creation variant, so usage is implied. However, there is no explicit guidance about when to prefer this over complete_google_task, update_google_task, or list_google_tasks, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_google_task_listCreate a Google Tasks listCInspect
Create a new task list.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Create a new task list' with no information about side effects, permissions, idempotency, or what the tool returns. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence, which is front-loaded and concise, but it is under-specified. It does not waste words, but it omits essential context that an agent needs. It is not verbose, but it is not appropriately sized for the information it should convey.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only two parameters and no output schema, a minimal description might be acceptable, but the description fails to explain what a task list is, what the tool returns (e.g., the list ID), or how it differs from similar tools. The presence of many sibling tools makes this lack of differentiation problematic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes only the mailbox parameter (50% coverage). The description does not explain the title parameter or its purpose, nor does it add any additional meaning to either parameter. The agent must guess that title is the name of the list, which is not stated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Create') and resource ('task list'), and the tool name clarifies it's for Google Tasks. It distinguishes from create_google_task (which creates a task, not a list), but it does not explicitly mention Google in the description itself, relying on the name. It is clear and unambiguous enough for an agent to know the intended action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings like create_google_task or create_outlook_task_list. There is no mention of context, prerequisites, or alternatives. An agent is left to infer usage from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_inbox_ruleCreate auto-file ruleAInspect
Create an inbox rule that automatically moves incoming mail matching sender or subject criteria into a folder. Runs server-side in Exchange, so it keeps working when this tool isn't. At least one condition is required.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| markAsRead | No | Also mark matching mail as read | |
| displayName | Yes | Name for the rule, shown in Outlook | |
| fromAddresses | No | Match these senders, e.g. ["billing@acme.com"] | |
| subjectContains | No | Match if the subject contains any of these | |
| destinationFolderId | Yes | Folder to move matching mail into | |
| stopProcessingRules | No | Stop evaluating later rules on a match (default true) | |
| bodyOrSubjectContains | No | Match if the body or subject contains any of these |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose a meaningful trait: the rule executes server-side in Exchange and persists after this tool is unavailable. It also flags the non-obvious requirement that at least one condition must be supplied, though it does not discuss permissions, limits, or response behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler; the core action is front-loaded, followed by the persistence trait and the validation caveat. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter create tool with fully documented parameters and no output schema, the description covers action, persistence, and the central validation rule. It could add that the rule applies to future mail or that it can be managed via delete_inbox_rule/list_inbox_rules, but nothing essential is missing for a competent agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents every parameter. The description adds value by encoding a cross-parameter constraint not visible in the schema's required list: at least one condition is required, and by summarizing the sender/subject criteria.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and resource ('Create an inbox rule') and states the behavior: automatically moving incoming mail matching sender or subject criteria into a folder. This clearly differentiates it from list/delete inbox rule tools and Gmail filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage via 'Runs server-side in Exchange' and persistence, which suggests using it when a rule must survive independently of this tool. However, it never explicitly contrasts it with sibling alternatives such as create_gmail_filter or states 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.
create_mail_folderCreate mail folderBInspect
Create a mail folder. Pass parentFolderId to nest it inside an existing folder; omit for a top-level folder.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| displayName | Yes | ||
| parentFolderId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing side effects and requirements. It does disclose the primary creation behavior and the nesting semantics, but it doesn't mention permissions, duplicate behavior, whether the operation is reversible, or what the response looks like. For a mutation tool, these are meaningful omissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core action comes first, and the optional-parameter behavior follows immediately. Every word contributes to usability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, but with no annotations and no output schema, the description should clarify more than it does. It covers the creation action and the key optional param, but it leaves out return value, error-prone input expectations, and any distinction between folder types or services when similar mail-related tools exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, so the description must compensate. It adds useful semantics for parentFolderId, explaining that omitting it creates a top-level folder. However, it doesn't clarify the meaning of displayName or how mailbox maps to folder scope beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action and resource: 'Create a mail folder.' It distinguishes itself from siblings like create_gmail_label or create_inbox_rule by focusing specifically on folders, and the nesting instruction adds scope clarity. It doesn't explicitly contrast with alternatives, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one concrete usage rule: pass parentFolderId to nest, omit for a top-level folder. However, it doesn't explain when to choose this tool over alternatives such as create_gmail_label or create_inbox_rule. The guidance is implied by the tool name rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_onedrive_folderCreate OneDrive folderAInspect
Create a folder in OneDrive under the given parent (defaults to the drive root). If the name is taken, it is created with a suffix rather than merged.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| parentItemId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burdenasi. It discloses the mutation (create), the default parent location, and the non-merging suffix behavior. It does not mention permission requirements or error behavior, but the core side effects are clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The primary action and default behavior come first, and the important edge-case behavior is included without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create operation with three parameters and no output schema, the description covers the key invocation details: target OneDrive, parent location, and naming behavior. It does not describe the return value, but this is a minor gap for a folder creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, but the description compensates by explaining parentItemId (defaults to drive root) and name (suffix on conflict). The mailbox parameter is already welldocumented in the schema, so the description fills the most important gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb, resource, and behavior: creates a folder in OneDrive under an optional parent. The conflict-handling detail (suffix rather than merge) makes it clearly distinguishable from sibling folder creation tools and clarifies its semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies use for OneDrive folder creation through the tool name and first sentence, but it does not explicitly state when to choose this tool over alternatives like create_gdrive_folder or create_mail_folder. Guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_outlook_calendarCreate an Outlook calendarBInspect
Create a new calendar on the account — useful for keeping a client's or project's events separate from the default one.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It identifies the operation as creating a calendar, but it does not mention the response/return value, duplicate-name behavior, permissions required, or any side effects beyond creation. This is minimal transparency for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It states the core action first, then adds a relevant use case. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter create tool, the description is adequate but not complete. It leaves gaps around name parameter semantics and the result of the operation. An agent can likely infer how to call it, but not what to expect back or how name collisions are handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%. The mailbox parameter is documented in the schema, including a pointer to list_authorized_mailboxes, but the name parameter has no description. The tool description does not compensate by explaining the expected format or meaning of name, so one parameter remains semantically under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new calendar on the account') and explains the practical purpose ('keeping a client's or project's events separate from the default one'). It identifies the resource as a calendar, distinguishing it from event-creation siblings like create_outlook_calendar_event, though it does not explicitly name the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: separate a client's or project's events from the default calendar. This implies when the tool should be used, but it does not state exclusions or point to alternatives such as creating calendar events or listing calendars.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_outlook_calendar_eventCreate an Outlook Calendar eventAInspect
Create an event. Adding guests emails each of them an invitation from the user's address; an event with no guests notifies nobody. Set addVideoMeeting to attach a Microsoft Teams link.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | End, same format as start. For an all-day event this is the LAST day it covers, not the day after | |
| start | Yes | Start: "YYYY-MM-DD" makes it an all-day event, or pass a datetime like "2026-08-20T09:00:00" | |
| title | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| location | No | ||
| timeZone | No | IANA timezone for the times, e.g. "America/Denver". Set it — without one the times are read as UTC and can land hours off | |
| attendees | No | Guest email addresses. Each one is emailed an invitation — confirm with the user before inviting anybody | |
| calendarId | No | ||
| description | No | ||
| addVideoMeeting | No | Attach a Microsoft Teams link to the event. The link is created and handed back — nothing joins, records or transcribes the meeting |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral traits: adding guests emails each an invitation from the user's address, no guests notifies nobody, and addVideoMeeting attaches a Teams link without recording/transcribing. These go beyond the schema and annotations (which are absent), providing valuable context about side effects. It doesn't mention permissions or reversibility, but the key side effects are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero waste. The most important behavioral facts (invitation side effects, Teams link behavior) are front-loaded. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with no output schema, the description covers the critical behavioral aspects: guest invitations, all-day event semantics, timezone handling, and Teams link behavior. It doesn't explain return values, but the absence of an output schema lowers the bar. The description is complete enough for an agent to call the tool correctly without opening the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, and the description adds meaning to key parameters: attendees (emails invitations), addVideoMeeting (Teams link behavior), and the all-day event semantics for start/end. The timeZone parameter is well-documented in the schema, and the description reinforces the importance of setting it. The description compensates for the 40% gap by explaining the behavioral implications of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Create an event' in Outlook Calendar. It distinguishes itself from siblings like create_google_calendar_event and update_outlook_calendar_event by the resource and action, though it doesn't explicitly name a sibling. The title and description align well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: creating an Outlook calendar event. It doesn't explicitly state when not to use it or name alternatives, but the sibling list makes the distinction obvious. The note about confirming with the user before inviting guests is a useful usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_outlook_draftCreate an Outlook draftAInspect
Write a draft into the mailbox without sending it. The person opens and sends it themselves. Works even when a workspace has switched sending off.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | ||
| to | Yes | ||
| bcc | No | ||
| body | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| subject | Yes | ||
| replyToMessageId | No | Draft a reply to this message — Outlook threads it and reuses its subject. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden — and it does so well. It discloses the non-sending behavior, the human-in-the-loop flow, and the conditional behavior when sending is disabled. It omits return values and failure modes, but the critical behavioral traits are clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with zero waste. The primary behavior is front-loaded in sentence one, sentence two clarifies the human-in-the-loop flow, and sentence three adds a distinguishing condition. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core decision (draft vs send) and the sending-disabled scenario are well covered, but with no output schema, no annotations, and 71% of parameters undocumented, an agent is left without return-format guidance or parameter-level help. Adequate for the primary action, with clear gaps on operational detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% (2 of 7 params documented), so the description must compensate. It adds a single parameter-relevant point — the draft lands in the mailbox — but says nothing about to/cc/bcc/subject/body semantics or formatting. This fails to offset the low coverage for a 7-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Write a draft into the mailbox without sending it' — a specific verb and resource with the central distinction from send tools made explicit. It clearly separates this tool from siblings like send_outlook_message and send_outlook_reply by stating that the human opens and sends it themselves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives two concrete usage conditions: use this when a person needs to review/send the draft themselves, and use it when a workspace has switched sending off. It does not explicitly name alternative tools, but the draft-vs-send contrast makes the routing decision clear without requiring an agent to open other schemas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_outlook_taskCreate To Do taskBInspect
Create a task in a To Do list, optionally with a due date, reminder, importance and notes.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Free-text notes on the task | |
| title | Yes | ||
| listId | Yes | ||
| dueDate | No | Due date as "YYYY-MM-DD", or a full datetime | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeZone | No | IANA timezone for the dates, e.g. "America/Denver". Defaults to UTC — set it, or a date-only due date can land a day off for the user | |
| categories | No | ||
| importance | No | ||
| reminderDateTime | No | Reminder datetime; also switches the reminder on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions optional fields, but does not disclose side effects (e.g., whether reminder is switched on by default), permission requirements, or potential errors like invalid mailbox or list. For a write operation with no annotations, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence that clearly states the action and lists key optional attributes. No wasted words, front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and no output schema, the description is thin. It does not explain how to get listId, what happens with timeZone defaulting, or the behavior of reminderDateTime. Given the complexity (many optional fields and potential pitfalls), more guidance is needed to avoid misconfiguration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 56%, and the description adds meaning by summarizing which parameters are optional (due date, reminder, importance, notes). It does not explain how to obtain listId, but the schema covers mailbox, and the description hints at the purpose of optional parameters. It partially compensates for the uncovered parameters (e.g., categories, timeZone).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a task in a To Do list and lists the optional fields (due date, reminder, importance, notes). It distinguishes from siblings like create_outlook_calendar_event, but does not explicitly differentiate from create_outlook_task_list, though the resource is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage for creating tasks, but does not state when to use it versus update_outlook_task or complete_outlook_task, nor any prerequisites like having the list ID. Siblings exist for task management, but no explicit guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_outlook_task_listCreate To Do listBInspect
Create a new Microsoft To Do task list.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| displayName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It confirms a create operation but does not mention permissions, whether an existing list with the same name is affected, naming constraints, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. For a simple creation tool, this length is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations and no output schema, so the description must provide more context. It does not clarify what happens after creation, how the result is returned, or how this differs from creating a task versus a task list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: mailbox is documented, but displayName has no schema description. The tool description adds no parameter-level meaning and does not compensate for the undocumented displayName parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Create') on a specific resource ('a new Microsoft To Do task list'). It clearly differentiates from sibling create_outlook_task, which creates an individual task rather than a list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as create_outlook_task, create_google_task_list, or create_outlook_calendar. The mailbox parameter references list_authorized_mailboxes, but that is parameter-level guidance, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_access_roleDelete an access roleAInspect
Delete an access role nobody follows. Move its members and API keys to another role first (assign_access_role); the workspace's default role can't be deleted. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The role's name. | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure duty and succeeds: it reveals that the operation is only staged, not immediately destructive, and that approval happens out-of-band in the owner's browser. The PIN warning is a critical behavioral guardrail that prevents the agent from soliciting credentials in chat. It also flags the default-role restriction, which is non-obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with no filler: action, prerequisites/exclusion, approval flow, and security rule each earn their place. The most important caveats are front-loaded before the procedural detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema or annotations, the description gives everything needed to execute correctly: target role, prerequisite move, default-role exclusion, owner-approval flow, and the PIN safety rule. If anything, the only implicit piece is that the tool returns a link for the owner, but that is inferable from 'opens the link.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover both parameters comprehensively at 100% coverage, so the description does not need to re-explain them. It adds relevant context — such as the default-role restriction — but does not describe parameter formats. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise action on a specific resource — delete an access role — and immediately scopes it to roles nobody follows. It is clearly separable from siblings like assign_access_role, create_access_role, and rename_access_role. The staged-request nuance is disclosed without obscuring the intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit prerequisites: members and API keys must be moved to another role first, naming assign_access_role as the tool to do it. It also states an exclusion (the workspace default role cannot be deleted) and explains that the owner must approve the request. This is enough for an agent to know when and how to invoke it responsibly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_gdrive_itemDelete Google Drive itemAInspect
Permanently delete a Google Drive file or folder (bypasses trash). Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that deletion is permanent and bypasses the trash, implying irreversibility. The confirmation instruction also signals high-risk behavior. It does not cover permission side effects or what happens to shared links, but the most critical behavioral traits are stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. The core action is front-loaded, followed by the critical 'bypasses trash' caveat and the confirmation directive. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool, it covers the essential behavioral context (permanence, bypass, confirmation). However, the lack of any description for itemId creates a real gap—an agent does not know what value to supply. There is no output schema, but that is acceptable for delete operations. Overall, adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: mailbox has a description, but itemId has none. The description adds no parameter guidance—it never mentions how to identify the file or folder (e.g., what itemId is). It does not compensate for the undocumented itemId, leaving the agent without clear meaning for a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: 'permanently delete a Google Drive file or folder.' It also notes 'bypasses trash,' which differentiates it from normal deletion and clarifies scope. Among many sibling delete_* tools, this clearly targets Google Drive items, so an agent can distinguish it without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit usage instruction: 'Ask the user to confirm before calling this,' which is crucial for a destructive operation. It does not mention alternatives or when-not-to-use, but the resource type is unambiguous among siblings. The confirmation requirement is a strong guideline, though exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_gmail_filterDelete auto-file filterCInspect
Delete an existing Gmail auto-filing filter.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| filterId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing behavior. It states the delete action implicitly but says nothing about permanence, irreversibility, permissions required, or what happens if the filter does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler. It front-loads the core action, though a little more useful context could have been added without hurting clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with two required parameters, no annotations, and no output schema, the description is too thin. It leaves the agent unsure how to source filterId and unaware of the operation's side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%. The mailbox parameter is well described, but filterId has no description and the description text does not explain where to find it or what format it takes. This is a meaningful gap for a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Delete an existing Gmail auto-filing filter.' This unambiguously distinguishes the tool from siblings like delete_gmail_label or list_gmail_filters, and the title reinforces the same meaning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor does it mention that list_gmail_filters should be used to obtain a valid filterId. The only contextual hint is in the schema for mailbox, which points to list_authorized_mailboxes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_gmail_labelDelete Gmail labelAInspect
Permanently delete a Gmail label (the messages themselves are not deleted, only unlabeled). Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| labelId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is permanent, explicitly says messages are not deleted but only unlabeled, and requires user confirmation before invocation. This covers the key side effects and safety expectations an agent needs, going well beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core action is front-loaded, followed by a key behavioral caveat and a safety instruction. Every clause earns its place, and there is no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive action with no annotations and no output schema, the description covers the core behavioral aspects: permanence, effect on messages, and user confirmation. It does not mention how to discover the labelId (e.g., via list_gmail_labels), but that gap is more a parameter-semantics issue than a completeness issue. Overall it is mostly complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (mailbox has a description, labelId does not). The tool description does not compensate for the undocumented labelId parameter; it does not explain what a label ID is, how to obtain it, or its format. The only parameter-related context comes from the schema, which is insufficient for the half that is missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Permanently delete a Gmail label' with a specific verb and resource, clearly distinguishing it from sibling tools like create_gmail_label, rename_gmail_label, and list_gmail_labels. It also clarifies the scope (messages are not deleted, only unlabeled), which further separates it from message-deletion tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit 'when to call' instruction: ask the user to confirm before calling, because the action is permanent. It does not explicitly name alternative tools or state when not to use it, but the message-unlabeling clarification implies a distinction from message deletion. This is clear, actionable context for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_google_calendarDelete a Google calendarAInspect
Delete a secondary calendar and every event on it. The primary calendar cannot be deleted. WARNING: this is not recoverable. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| calendarId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does a strong job: it discloses cascade destruction ('every event on it'), irreversibility ('WARNING: this is not recoverable'), and the required confirmation step. It does not address permission/ownership requirements or behavior on a non-existent/primary calendar, leaving 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences: action and scope first, then restriction, then warning and confirmation instruction. No repetition or filler; each sentence carries distinct weight, which is appropriate for a destructive tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param tool with no output schema, the description covers core semantics, the primary-calendar constraint, and the irreversible nature of the action. The main gap is that the calendarId parameter is left undocumented in both the schema and the description, with no pointer to list_google_calendars as the source of valid IDs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: mailbox is well-described, but calendarId has no schema description and the tool description adds nothing about its format, provenance, or how to obtain it (e.g., via list_google_calendars). The agent must infer calendarId's meaning from the tool name and sibling list, which is a material gap for a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb plus resource ('Delete a secondary calendar and every event on it') and adds clear scope by excluding the primary calendar. It is clearly about calendar deletion rather than event deletion, though it does not name the nearest sibling delete_google_calendar_event to differentiate explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it applies only to secondary calendars ('The primary calendar cannot be deleted') and mandates user confirmation before invocation ('Ask the user to confirm before calling this'). It does not name any alternative tool (e.g., delete_google_calendar_event) or spell out when a delete should be avoided in favor of another action, so it stops short of the top tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_google_calendar_eventDelete a Google Calendar eventAInspect
Delete one event or one occurrence. If it has guests they are emailed a cancellation, which cannot be undone. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| calendarId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It discloses a major hidden consequence: guests are emailed a cancellation that cannot be undone. This is strong transparency for a delete operation, though it could also clarify series vs. single-occurrence behavior in more detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. The action is front-loaded, followed by the irreversible side effect, then the required user confirmation. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential context for a delete tool: what is deleted, the external notification side effect, irreversibility, and the need for user confirmation. However, the optional calendarId parameter and expected response behavior are not addressed, and there is no output schema to fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%: only mailbox has a description. The description does not explain eventId or calendarId, their formats, or their relationship to deleting an event vs. an occurrence. With low schema coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action 'Delete' and the resource 'Google Calendar event', with the added nuance 'one event or one occurrence'. This clearly distinguishes it from siblings like delete_google_calendar and delete_outlook_calendar_event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit pre-call guidance: 'Ask the user to confirm before calling this.' This is important for a destructive operation. It does not explicitly name alternative tools like update_google_calendar_event or move_google_calendar_event, so it lacks exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_google_taskDelete a Google taskAInspect
Delete a task. Completing it is almost always what the user means — only delete when they say delete.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| taskId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose that deletion is not the default and should only occur on explicit user request, which is useful. However, it does not state that deletion is irreversible/permanent or describe any side effects beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The core action comes first, and the important usage caveat follows immediately. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but with no output schema, no annotations, and low parameter coverage, the description leaves gaps. It gives good usage guidance but does not explain how to obtain listId/taskId or what happens after deletion. It is minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%; only mailbox is documented. The description adds nothing about listId or taskId, and those parameters are undocumented in the schema. Since coverage is low, the description should have compensated, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Delete a task.' It also explicitly distinguishes deletion from completion, which is the key sibling distinction given complete_google_task exists. An agent can immediately tell this tool's purpose from the title and first sentence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Completing it is almost always what the user means — only delete when they say delete.' This directly tells the agent when to avoid this tool and prefer completion, which is a clear alternative-usage condition even though complete_google_task is not named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_google_task_listDelete a Google Tasks listAInspect
Delete a task list and every task in it. There is no recycle bin — ask the user to confirm first.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the destructive and irreversible nature ('no recycle bin') and instructs the user to confirm first. This is important behavioral context beyond the basic deletion action. With no annotations, the description carries this responsibility effectively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundancy. The main action is front-loaded, and the critical warning follows immediately. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with no output schema, the description covers the essential aspects: what is deleted, the irreversibility, and the need for confirmation. It does not include extra details like return values, which are likely not needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not provide any additional information about the parameters. The schema only describes the 'mailbox' parameter; 'listId' is left undocumented. With 50% schema coverage, the description should compensate but doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and the resource (a Google Tasks list), and specifies that it deletes every task in it. This distinguishes it from sibling tools like delete_google_task which deletes a single task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly mention when to use this tool instead of delete_google_task or other delete tools. The usage is implied by the resource type, but no explicit guidance or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_inbox_ruleDelete auto-file ruleCInspect
Delete an existing inbox rule.
| Name | Required | Description | Default |
|---|---|---|---|
| ruleId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It says only 'Delete an existing inbox rule,' which conveys a destructive operation but does not disclose side effects, irreversibility, permissions, or what happens to emails governed by the rule. This lacks behavioral transparency beyond the verb itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no redundant words. It is appropriately concise for a simple delete operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations, no output schema, and an undocumented ruleId parameter, this description is too sparse. It omits usage context, side effects, and parameter sourcing, leaving an agent to guess important operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: mailbox has a description, but ruleId does not. The description adds no parameter meaning, notably failing to explain how to source ruleId (e.g., via list_inbox_rules). It does not compensate for the schema's gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete an existing inbox rule' clearly states the specific action (delete) and the resource (inbox rule). It is unambiguous and distinct from siblings like create_inbox_rule or list_inbox_rules, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, how to obtain the required ruleId, or any prerequisites. There is no mention of list_inbox_rules as a companion tool or any caveats about deleting rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_mail_folderDelete mail folderAInspect
Delete a mail folder. WARNING: this deletes the messages inside it too — Outlook does not unfile them first. Move anything worth keeping out beforehand, and ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| folderId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden and delivers: it warns that messages inside the folder are deleted too and that Outlook does not unfile them first — a non-obvious destructive consequence. The confirmation requirement also signals irreversibility, exactly the context an agent needs before invoking a delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The one-line purpose is followed immediately by the front-loaded WARNING about message deletion, then an actionable precondition. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-param destructive tool with no output schema, the description covers the critical context: destructive scope, platform behavior, and the confirmation protocol. The only gap is that folderId provenance is never referenced, and there is no note about what a successful deletion returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is exactly 50%: mailbox is well documented in the schema (email format, pointer to list_authorized_mailboxes), but the required folderId has no schema description and the tool description adds nothing about it. At this coverage level the description should compensate by explaining where folderId comes from (e.g., list_mail_folders); it doesn't, leaving a required parameter opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Delete a mail folder') with no ambiguity. The operation is inherently distinct from sibling tools like create_mail_folder, rename_mail_folder, and merge_mail_folders, and no sibling performs folder deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear procedural guardrails for a destructive tool: move messages worth keeping out beforehand and ask the user for confirmation before calling. It doesn't name explicit alternatives or when-not-to-use cases, but the precondition and confirmation requirement give the agent a solid usage protocol.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_onedrive_itemDelete OneDrive itemAInspect
Delete a OneDrive file or folder. Goes to the recycle bin and is recoverable for the tenant's retention window, unlike the Google Drive equivalent which is permanent. Still worth confirming with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses that deletion goes to the recycle bin, is recoverable for the tenant's retention window, and advises confirming with the user first. It does not detail side effects like folder contents or permissions, but the key recovery behavior is covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each adding meaningful information: action, recovery behavior, contrast with GDrive, and user-confirmation guidance. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but itemId provenance is a notable omission: an agent is not told to get it from list_onedrive_items or search_onedrive_items. The description is otherwise suitable for a straightforward delete operation with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only mailbox has a schema description; itemId is an undocumented bare string. The description does not explain what itemId refers to or how to obtain it, so the 50% schema coverage gap is not compensated at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific action 'Delete a OneDrive file or folder' with a clear resource and scope. It also distinguishes itself from the Google Drive equivalent, and the name aligns with the behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context by contrasting with the 'Google Drive equivalent which is permanent', helping an agent choose between delete_onedrive_item and delete_gdrive_item. It does not explicitly list all alternatives or state exhaustive when-not conditions, but the context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_outlook_calendarDelete an Outlook calendarAInspect
Delete a calendar and every event on it. The default calendar cannot be deleted. WARNING: this is not recoverable. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| calendarId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It clearly states the destructive scope (calendar and every event), irreversibility, and the need for user confirmation. This is strong transparency for a deletion tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each adding essential information: the action and scope, a key constraint, and a required safety step. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation with no output schema and no annotations, the description covers the critical aspects: what is deleted, irreversibility, the default-calendar restriction, and user confirmation. It could mention how to find a calendarId or explicitly point to list_outlook_calendars, but the core calling context is adequately handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: mailbox is documented, but calendarId is a bare string with no description. The tool description does not clarify what calendarId should contain or how to obtain it, so the undocumented parameter is left to the agent to infer.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and resource: 'Delete a calendar and every event on it.' This clearly distinguishes the tool from delete_outlook_calendar_event and other sibling delete operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage conditions: the default calendar cannot be deleted, the operation is irreversible, and the agent must ask for user confirmation first. It does not name alternative tools, but the 'default calendar cannot be deleted' exclusion and confirmation requirement give clear operational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_outlook_calendar_eventDelete an Outlook Calendar eventAInspect
Delete one event or occurrence. If it has guests Outlook emails every one of them a cancellation, immediately and irreversibly. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the critical behavior of emailing cancellation to guests and irreversibility. However, it doesn't mention permissions, failure handling, or recurrence specifics beyond 'event or occurrence'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero fluff, action first. Every word is necessary, and the critical caution about guests is prominently placed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no output schema and no annotations, the description covers essential behavior but omits guidance on sourcing eventId (e.g., from list_outlook_calendar_events). A brief mention would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (mailbox has a description, eventId has none). The description adds no parameter information. eventId remains completely undocumented, leaving the agent unsure how to obtain it. Description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Delete' and the resource 'event or occurrence', distinguishing it from sibling tools like delete_outlook_calendar which deletes an entire calendar. No ambiguity about what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear guidance on the destructive nature (immediate, irreversible, emails guests) and instructs to ask user confirmation. It doesn't explicitly name an alternative tool, but the caution is strong and implies when to avoid using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_outlook_taskDelete To Do taskAInspect
Permanently delete a task. To Do has no recycle bin — prefer complete_outlook_task unless the task was created in error.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| taskId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing the destructive nature of the operation. It clearly states that the deletion is permanent and that To Do has no recycle bin, which is the critical behavioral fact an agent needs before calling this tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences deliver the action, the consequence, and the preferred alternative. There is no filler, and the most important fact — permanent deletion — is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool's purpose and irreversibility are well covered, but the description does not tell an agent how to obtain the required listId and taskId, and there is no output schema to clarify the return value. For a destructive tool with three required parameters, this leaves a gap in operational completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description adds no parameter-level meaning. The mailbox parameter is documented in the schema, but listId and taskId are left as bare strings with no explanation of where they come from or how they relate to Outlook task lists and tasks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise action ('Permanently delete a task') on a specific resource, immediately clarifying that this is not a reversible or soft-delete operation. It also distinguishes itself from complete_outlook_task, which is the closest sibling, by framing deletion as the exception.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit routing guidance: prefer complete_outlook_task unless the task was created in error. This tells an agent both when to avoid this tool and the condition under which deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_outlook_task_listDelete To Do listAInspect
Delete a To Do list. WARNING: this deletes every task in it, and To Do has no recycle bin — deleted tasks are not recoverable. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the irreversible deletion of all tasks and the lack of a recycle bin. This is exemplary transparency beyond typical annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loads the critical warning, and provides actionable instruction in just two sentences. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive delete operation with no output schema, the description covers all essential information: what it does, consequences, and required user confirmation. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%; the mailbox parameter is described in the schema, but listId is not. The description adds no parameter detail, leaving the meaning of listId ambiguous for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it deletes a To Do list, distinguishing it from other delete operations on different resources. It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs the agent to ask for user confirmation before calling, and the warning makes the destructive nature clear. This is a strong usage guideline that prevents accidental misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_mailboxDisconnect mailboxInspect
Disconnect a mailbox from a workspace you own: once approved, this revokes the stored grant at the provider (Google) and deletes the stored tokens. The mailbox can be reconnected later from the dashboard. Owners only, signed in over OAuth — API keys can't do this. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected mailbox to disconnect. | |
| provider | No | Only needed when the same address is connected under more than one provider. | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
find_duplicate_gmail_labelsFind duplicate Gmail labelsAInspect
Find groups of user labels that share the same name (likely duplicates worth merging), within one mailbox.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It discloses that it finds groups of labels sharing a name, implying a grouping behavior, but does not explicitly state that it is read-only or describe the return format. For a find operation, the absence of a read-only hint and output structure 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary action and scope. Every word adds value, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single parameter, no annotations, and no output schema, the description is adequate but leaves gaps. It does not specify the return format (e.g., list of label groups, IDs) or explicitly confirm that the operation is non-destructive. For a simple tool this is acceptable but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the mailbox parameter already has a detailed description in the schema. The tool description adds no extra parameter semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Find) and resource (user labels), with a clear condition (share the same name) and scope (within one mailbox). It distinguishes from sibling find_duplicate_mail_folders by specifying 'user labels' and from merge_duplicate_gmail_labels by its find-only intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a precursor to merging by saying 'likely duplicates worth merging', and the name/sibling context makes it clear this is for Gmail labels. However, it does not explicitly state when not to use it or mention alternative tools, though the context is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_duplicate_mail_foldersFind duplicate mail foldersAInspect
Find folders that share a name within the same parent — likely duplicates worth merging. Folders with the same name under different parents are not reported, since that is usually deliberate.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does disclose a meaningful behavioral scoping rule (parent-scoped only, cross-parent duplicates ignored), but it does not state whether the operation is read-only, what the result format is, or whether it returns folder IDs needed for merging.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The core behavior is front-loaded, followed immediately by the clarifying negative case.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-style finder, the description covers what it returns conceptually, what it excludes, and why. The only gap is the absence of output shape details, especially since there is no output schema, which prevents a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the mailbox parameter already has a detailed schema description, including a pointer to list_authorized_mailboxes. The tool description adds no parameter-level detail, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource: 'Find folders that share a name within the same parent.' It also distinguishes itself from find_duplicate_gmail_labels (different resource) and makes the intent explicit with 'likely duplicates worth merging.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when to use the tool and explicitly states the exclusion: folders with the same name under different parents are not reported. However, it doesn't name alternative tools such as list_mail_folders or the follow-up merge_mail_folders, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_google_calendar_busy_timesFind busy times on Google CalendarAInspect
Return the busy blocks across one or more calendars so a free slot can be proposed. Returns times only, never event titles.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeMax | No | ||
| timeMin | No | ||
| calendarIds | No | Calendars to check. Defaults to the primary calendar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It adds a meaningful behavioral guarantee—returns times only, never event titles—but it does not disclose auth/permission needs, timezone assumptions, or what happens when no time range is supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the core behavior first and the privacy-relevant limitation second. Every clause earns its place; no filler or duplicated schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Reasonable for a simple query tool: it states the result type, multi-calendar scope, and privacy guarantee. However, with no output schema and no annotations, it should say more about required/optional time bounds and the shape of the returned busy blocks to be fully self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: mailbox and calendarIds are documented, but timeMin and timeMax have no descriptions. The description reinforces the multi-calendar behavior and output concept but does not explain the time-range parameters or their format, so it does not compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and scope: returning busy blocks across one or more Google Calendars to enable proposing a free slot. The explicit 'never event titles' distinguishes it from event-listing/search tools, and the Google-specific naming separates it from the Outlook variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when it is useful: when proposing a free slot. It does not explicitly name alternatives or exclusions, but the purpose and privacy constraint make the intended scenario unmistakable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_outlook_calendar_busy_timesFind busy times on Outlook CalendarBInspect
Return the busy blocks on a calendar so a free slot can be proposed. Returns times only, never event titles.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeMax | No | ||
| timeMin | No | ||
| calendarId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the key limitation that it returns only times and never event titles, which is useful. However, with no annotations, it doesn't mention authentication, rate limits, or whether it returns only busy blocks (it implies busy blocks but doesn't clarify). It provides some behavioral context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, no wasted words. The structure is efficient and immediately conveys the tool's function and a key constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no output schema, and no annotations, the description is too sparse. It omits parameter semantics, usage guidance, and deeper behavioral details like time format or calendar selection. An agent would be under-informed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (only mailbox has a description). The tool description adds nothing about timeMax, timeMin, or calendarId parameters. Since coverage is low, the description should compensate, but it doesn't, leaving three parameters undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific function: returning busy blocks on a calendar so a free slot can be proposed. It explicitly differentiates from event listing by noting 'Returns times only, never event titles,' which distinguishes it from list/search calendar event tools. The platform is clear from the tool name, though the description is generic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like find_google_calendar_busy_times or list_outlook_calendar_events. It doesn't mention prerequisites, exclusions, or conditions that would select this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_agentmail_messageRead an AgentMail messageRead-onlyInspect
Read one message in full: its text body (HTML-only messages are converted to plain text) and its attachments — name, type, size and the attachmentId that read_agentmail_attachment takes. Get the message id from search_agentmail_messages.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Address of the connected AgentMail inbox to act on. Call list_authorized_mailboxes to see available options. | |
| maxChars | No | Truncate the body beyond this many characters (default 20000) | |
| messageId | Yes |
get_agentmail_threadRead an AgentMail threadRead-onlyInspect
Read a whole conversation, oldest first within the page, with decoded bodies. Long threads come back newest page first; pass olderPageToken back as pageToken for the earlier messages. Get the thread id from search_agentmail_messages.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Address of the connected AgentMail inbox to act on. Call list_authorized_mailboxes to see available options. | |
| threadId | Yes | ||
| pageToken | No | ||
| maxCharsPerMessage | No | Per-message body budget (default 5000) |
get_excel_workbookGet a workbook's structureAInspect
Read a workbook's shape without reading cells: its worksheets and, for each, the occupied range. Call this first to learn what sheets exist and how far the data reaches, then read from the one you want.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| workbookId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It clearly discloses that this is a read-only operation ('Read... without reading cells') and describes what is returned (worksheets and occupied ranges). It doesn't detail output shape or hidden-sheet handling, but it gives enough clarity about scope and safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and immediately followed by actionable guidance. Every sentence earns its place, with zero redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must convey return value semantics, which it does at a high level (worksheets and occupied ranges). It is sufficient for the intended 'discover then read' workflow, though a bit more detail about the return format would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: mailbox is well documented in the schema, but workbookId has no description at all. The tool description implies workbookId refers to the target workbook but does not explain how to obtain it (e.g., from list_excel_workbooks). The description adds only minimal value for the undocumented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Read a workbook's shape') and distinguishes it from cell-reading tools by explicitly saying 'without reading cells'. It also clarifies the deliverable: worksheets and their occupied ranges, which sets it apart from list_excel_workbooks (which lists workbooks) and read_excel_range (which reads cells).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit workflow guidance: 'Call this first to learn what sheets exist and how far the data reaches, then read from the one you want.' This clearly establishes when to use it, though it does not name a specific alternative tool (e.g., read_excel_range) or state when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gmail_messageRead a Gmail messageAInspect
Read one message in full, including its decoded text body and its attachments — name, type, size and the attachmentId that read_gmail_attachment and save_gmail_attachment_to_drive take. HTML-only messages are converted to plain text. Get the message ID from search_gmail_messages.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| maxChars | No | Truncate the body beyond this many characters (default 20000) | |
| messageId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does add a behavioral trait: 'HTML-only messages are converted to plain text.' It also clarifies the decoded body and attachment metadata. However, it does not mention side effects (e.g., whether reading marks as read), auth specifics, or error behavior, so transparency is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The first sentence front-loads the primary purpose and scope, the second adds a key transformation behavior, and the third provides the ID-source workflow. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with no output schema and no annotations, the description covers the essential return values (decoded body, attachment name/type/size/attachmentId), the HTML conversion behavior, and how to obtain the messageId. It lacks an exact response structure and error conditions, but an agent has enough to invoke and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%: mailbox and maxChars have descriptions, messageId does not. The description partially compensates by stating 'Get the message ID from search_gmail_messages,' giving provenance for the undocumented parameter. It also clarifies the attachmentId output that sibling tools consume, adding meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read'), a resource ('one message'), and scope ('in full', including decoded body and attachment metadata). This clearly distinguishes it from nearby siblings like search_gmail_messages and get_gmail_thread, and the title reinforces the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful workflow context: 'Get the message ID from search_gmail_messages' and it names the downstream attachment tools that consume the returned attachmentId. It does not explicitly state when-not-to-use or list alternatives (e.g., get_gmail_thread), but the read-one-message use case is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_gmail_threadRead a Gmail threadAInspect
Read every message in a conversation, oldest first, with decoded bodies. Use this instead of repeated get_gmail_message calls when you need the whole exchange. Get the thread ID from search_gmail_messages.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| threadId | Yes | ||
| maxCharsPerMessage | No | Per-message body budget (default 5000) |
TDQS
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 bodies are decoded and messages are ordered oldest first, and implies a read-only operation. It does not mention potential side effects, but as a read tool that is acceptable. It omits details like pagination or error behavior, but these are not critical for a thread read. The provided behavioral details (decoded bodies, ordering) add real value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no fluff. The first sentence states the core purpose and key details, the second gives usage guidance, the third provides a parameter sourcing hint. Information is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a read operation with no output schema. The description explains what it returns (every message, decoded bodies, oldest first) and how to obtain the thread ID. It does not describe the exact return structure or mention large-payload handling, but for a straightforward thread read this is adequate. It covers the essential information an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (2 of 3 parameters have descriptions). The threadId parameter lacks a schema description, but the tool description compensates by stating 'Get the thread ID from search_gmail_messages.' This is essential guidance. The other parameters are already documented in the schema, and the description adds context on how to use threadId effectively. Overall, the description adds meaningful parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read every message in a conversation'), the resource (a Gmail thread), and specific details (oldest first, decoded bodies). It also distinguishes from the sibling get_gmail_message by explicitly saying 'Use this instead of repeated get_gmail_message calls when you need the whole exchange', making it unambiguous which tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Use this instead of repeated get_gmail_message calls when you need the whole exchange.' It also tells the agent how to obtain a required parameter: 'Get the thread ID from search_gmail_messages.' This is clear, actionable, and leaves no ambiguity about alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_google_calendar_eventGet a Google Calendar eventBInspect
Read one event in full, including the guest list with each guest's address and whether they have accepted.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| calendarId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states 'Read' indicating a non-mutating operation, but does not disclose other behaviors like authentication requirements, rate limits, or the exact scope of 'in full' beyond guest list. It adds some transparency but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no redundancy. It efficiently conveys the core purpose and unique detail (guest list) without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation, the description is fairly complete in stating what is returned (full event, guest list). However, it omits parameter clarifications (especially calendarId) and there is no output schema to fill the gap, leaving some ambiguity about required identifiers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only mailbox has a description). The description does not explain eventId or calendarId at all. It implicitly identifies eventId as the event identifier but provides no additional semantics, failing to compensate for low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: 'Read one event in full', including guest list details. It distinguishes from listing/searching by emphasizing a single event and full details, though it doesn't explicitly name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when full details of one event are needed) but does not explicitly contrast with alternatives like list_google_calendar_events or search_google_calendar_events, nor provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_google_spreadsheetGet a spreadsheet's structureAInspect
Read a spreadsheet's shape without reading any cells: its tabs, their sizes, and any named ranges. Call this first to learn what tabs exist, then read a range from the one you want.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| spreadsheetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly states it reads without reading cells, signaling a non-destructive structural read, and discloses the returned data (tabs, sizes, named ranges). This is sufficient transparency for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. Purpose and usage are front-loaded, and every word contributes to understanding. The structure is optimal for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description covers the core use case and expected output. It could mention error conditions or limits, but for a structural read operation, it is adequate and distinct from siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The mailbox parameter is well-described in the schema, but spreadsheetId has no description. The tool description adds context about the output (structure) but doesn't elaborate on spreadsheetId semantics or format. Since schema coverage is only 50%, the description should compensate, but it mostly relies on the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read') and resource ('spreadsheet's shape') with concrete elements: tabs, sizes, and named ranges. It explicitly contrasts with reading cells and ties to a subsequent read-range action, clearly distinguishing it from read_google_sheet_range and list_google_spreadsheets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Call this first to learn what tabs exist, then read a range from the one you want.' This provides a strong when-to-use instruction relative to read operations. It doesn't explicitly list alternatives or exclusions, but the sequencing advice is clear enough to steer an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_google_taskGet a Google taskBInspect
Full detail for one task, including its notes and any parent task.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| taskId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of explaining behavior. It discloses that the response includes full detail, notes, and any parent task, which is useful, but it does not mention failure modes, permissions, or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the core purpose and adds the key distinguishing details (notes and parent task). There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter, the description gives a reasonable overview of the return value, but without an output schema or parameter guidance, an agent may not know what fields to expect or how to obtain valid listId/taskId values. It is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%; only mailbox is described. The description does not explain listId or taskId, and it does not compensate for the missing parameter documentation. The parameter names are somewhat self-explanatory, but no additional meaning is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves full detail for a single task, including notes and parent task. This distinguishes it from list_google_tasks, which returns multiple tasks, though it does not explicitly name sibling alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as list_google_tasks or get_outlook_task. The phrase 'one task' implies a retrieval use case, but no prerequisites, exclusions, or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outlook_calendar_eventGet an Outlook Calendar eventAInspect
Read one event in full, including the guest list with each guest's address and whether they have accepted.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. 'Read' clearly signals a non-mutating operation, and it adds useful return-content context: a full event including guest addresses and their acceptance status. It does not discuss error behavior or authorization, but for a simple read tool the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and scope, then adds the valuable guest-list detail. There is no filler, repetition of the title, or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool, the description is largely sufficient: it states what is returned, signals read-only behavior, and relies on the schema for mailbox documentation. The main gap is that eventId provenance is not explained, but given the tool's simplicity this is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%. The mailbox parameter is documented in the schema, but eventId is only typed as a string with no explanation. The description does not explain what eventId should be, how to obtain it, or that it likely comes from a previous list or search call, so it fails to compensate for the missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Read one event in full', identifying a specific verb and resource, and adds the distinctive detail that the guest list, each guest's address, and acceptance status are returned. This clearly separates it from list/search siblings that deal with multiple events or summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'one event in full' implies it should be used when a single known event's complete details are needed, rather than for listing or searching. However, the description does not explicitly name alternatives like list_outlook_calendar_events or search_outlook_calendar_events, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outlook_conversationRead an Outlook conversationAInspect
Read every message in a conversation, oldest first, with bodies. Use this instead of repeated get_outlook_message calls when you need the whole exchange. Get the conversationId from search_outlook_messages.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| conversationId | Yes | ||
| maxCharsPerMessage | No | Per-message body budget (default 5000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the read-only nature ('Read'), the ordering, and that bodies are included. However, it does not mention potential limitations such as message size, truncation, or whether the operation marks messages as read. For a read tool, the core behavior is transparent, but a note on large conversation handling would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero redundancy. The main function is front-loaded, followed by usage guidance and a prerequisite. Every sentence earns its place, and the description is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description does not describe the return format (e.g., structure of messages, fields, pagination). It also omits any caveats about performance or size for large conversations. While the core purpose is clear, an agent might need more detail on what the response contains. This is a moderate gap for a tool that reads multiple messages.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (mailbox and maxCharsPerMessage have descriptions; conversationId does not). The description compensates for the undocumented conversationId by explicitly stating 'Get the conversationId from search_outlook_messages', adding practical meaning. It also implies the purpose of maxCharsPerMessage through context (body budget), though the schema already covers that. This adds value beyond the schema for the key parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read'), a specific resource ('every message in a conversation'), and adds ordering ('oldest first') and content ('with bodies'). It explicitly distinguishes itself from get_outlook_message and references search_outlook_messages, making the tool's purpose unambiguous and distinct from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage guidance: use this instead of repeated get_outlook_message calls when the whole exchange is needed. It also tells the agent where to obtain the conversationId (from search_outlook_messages), providing a prerequisite and alternative. No ambiguity remains about when to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outlook_messageRead an Outlook messageAInspect
Read one message in full, including its body text and its attachments — name, type, size, kind and the attachmentId that read_outlook_attachment and save_outlook_attachment_to_onedrive take. HTML messages are converted to plain text. Get the message ID from search_outlook_messages or list_messages.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| maxChars | No | Truncate the body beyond this many characters (default 20000) | |
| messageId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does meaningful work: it discloses that HTML is converted to plain text, that attachments are represented by metadata fields including attachmentId, and that the operation is a read. It does not cover error behavior or truncation details, but core behavioral traits are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three compact sentences with the core action front-loaded, followed by useful behavioral detail and ID routing. Every sentence earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the essential outcomes: full body, attachment metadata, HTML conversion, and how to obtain messageId. Minor gaps such as exact response envelope or error cases remain, but the description is sufficient for an agent to invoke the tool correctly in most situations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes mailbox and maxChars, while messageId has no schema description. The description compensates by telling the agent to obtain messageId from search_outlook_messages or list_messages, and it clarifies how attachmentId returned by this tool is used downstream, adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb, 'Read', and a specific resource, 'one message in full', and clearly enumerates what that includes: body text and attachment metadata. It also distinguishes itself by naming the downstream attachment tools and the ID sources, making its role distinct among large sibling lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent where to get the messageId and explains that the attachmentId is consumed by read_outlook_attachment and save_outlook_attachment_to_onedrive, giving clear routing to sibling tools. It lacks an explicit 'when not to use this' exclusion, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outlook_taskRead a To Do taskBInspect
Read one task in full, including its notes and checklist items (subtasks).
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| taskId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It is transparent about the read-only nature (via 'read') and the included fields (notes, checklist). However, it does not disclose return shape, error behavior, or permissions required, so some uncertainty remains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded and efficient; every word adds information about scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but without an output schema the description should clarify the response shape. It also leaves listId and taskId unexplained, and lacks usage guidance. Minimum viable but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 1 of 3 parameters (mailbox) has a schema description (33% coverage). The description does not explain listId or taskId, so it fails to compensate for the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('read') and resource ('one task'), and adds scope ('in full, including its notes and checklist items (subtasks)'). It clearly distinguishes from list_outlook_tasks, which returns multiple tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over list_outlook_tasks or other getters. The context is implied by the 'read' verb, but the description does not name alternatives or exclusions, so the agent must infer when full details are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skillGet a skill as an installable fileAInspect
Fetch one of this workspace's skills as a SKILL.md file. Returns the file's contents — write it yourself to a skills directory to install it, at the path given in the reply; this tool cannot write files. Once installed the skill is available as a command without restarting. Use list_skills for the available slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The skill's slug, as returned by list_skills. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It clearly states the tool does not write files, that the returned path in the reply is where installation should happen, and that installed skills become available without restarting. It doesn't mention permissions or error behavior, but the core behavioral constraints are disclosed beyond what any schema/annotation provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loaded with the main action and resource, followed by the critical constraint that the tool cannot write files. Every sentence earns its place. A small amount of redundancy exists with the schema for the slug mention, but the sentence referencing list_skills is useful usage guidance, so no significant waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-like tool with no output schema, the description covers what the tool does, what the caller must do with the result, the path detail, the side effect of installation, and the source for the parameter value. No critical information an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the slug parameter is fully described as 'The skill's slug, as returned by list_skills.' The description adds that slugs come from list_skills, which matches the schema. Since the schema already documents all parameter semantics, the baseline of 3 is appropriate; no additional parameter-level detail is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Fetch one of this workspace's skills as a SKILL.md file'), and clarifies it returns file contents rather than installing anything. It also distinguishes itself from list_skills by explaining the relationship, so an agent can differentiate this getter from the sibling list tool without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use this tool: to fetch a skill as an installable SKILL.md file, and it gives the follow-up action (write the file yourself, since the tool cannot write files). It also names list_skills as the source for available slugs, providing the alternative and prerequisite in one sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invite_memberInvite a memberAInspect
Invite someone to a workspace you own by email, as a member, admin or owner. Once approved, Higgs Hub emails them the invitation link; their agent follows the workspace's default access role until an owner moves them. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | Workspace role: member (default), admin, or owner. | member |
| Yes | The address to invite. | ||
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains that the action only stages a request, that the owner must approve it in a browser with their agent PIN, that the invitee receives an emailed link, and that the invitee follows the default access role until moved. It also includes a critical safety instruction: never ask for or accept the PIN in chat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. Each sentence earns its place: the first states what the tool does, the second explains the post-approval flow, and the third clarifies the staging behavior and PIN safety rule. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no output schema, and no annotations, the description is complete enough for correct invocation. It covers ownership requirements, role options, the approval workflow, what happens after approval, and a security constraint. No critical operational detail appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema by specifying that the workspace must be owned by the caller and that roles are assigned as part of the staged invitation. It reinforces the role parameter and the workspace ownership condition without repeating schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Invite someone to a workspace you own by email, as a member, admin or owner.' It clearly distinguishes this from direct membership management by explaining that it only stages a request requiring owner approval, which separates it from siblings like set_member_workspace_role or remove_member.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the context: use this when inviting someone to a workspace you own, and it explains the approval flow. It does not explicitly name alternatives like cancel_invitation or set_member_workspace_role, but the ownership and staging language provides enough context for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_access_rolesList access rolesAInspect
The access roles of a workspace you own: what each allows an agent to do (the eight capabilities), who follows it, and how it narrows each mailbox. A mailbox not listed under a role is read & write, all folders, all calendars for that role. Owners only.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It adds meaningful context by stating the ownership requirement and the important default that any mailbox not listed under a role gets read & write access to all folders and calendars. It does not explicitly state that the tool has no side effects, but the word 'list' and the nature of the description make this a minor gap rather than a significant one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loads the core purpose, and every sentence adds value: what is returned, the unlisted-mailbox default, and the ownership restriction. There is no filler or redundant restating of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one optional parameter and no output schema, the description gives enough context to select and invoke the tool correctly: it defines the result contents, the ownership scope, and an important default behavior. It does not describe the exact response shape or pagination, but those are less critical for a low-complexity, read-only list tool and are not demanded by the context signals.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single 'workspace' parameter 100%, including that it can be a name or id and that it is only needed when the owner has multiple workspaces. The description adds no additional parameter-level meaning beyond mentioning 'workspace you own', so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as returning the access roles of a workspace the caller owns, along with what each role allows, who follows it, and how it narrows mailbox access. This distinguishes it from sibling tools that create, assign, delete, or rename access roles. Even though it uses a noun phrase rather than a verb, the title and content together unambiguously establish a list operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys the key usage restriction that only workspace owners can call this tool ('Owners only') and that the workspace must be one the caller owns. However, it does not explicitly state when to use this tool versus alternatives like create_access_role, assign_access_role, or set_access_role_capability. The parameter schema mentions list_workspaces for disambiguating workspaces, but that guidance sits outside the main description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_authorized_mailboxesList connected mailboxesInspect
List every mailbox (Gmail/Google Workspace, Microsoft/Outlook and AgentMail) available to you in the workspaces you belong to, with provider, status and your access level. access is 'write' (everything your switches allow) or 'read' (search and read tools only — anything that changes the mailbox is refused). folders says whether the file tools (Drive, OneDrive, Sheets, Excel) are limited to certain folders for you: files outside them are not returned by list and search and cannot be opened, moved, shared or edited, and creating a file needs a parent folder you can reach. calendars does the same for the calendar tools: calendars outside your rule are not listed and cannot be read or written. AgentMail inboxes have no files or calendars, so they carry neither. Mailboxes you have no access to are not listed. Mailboxes with status 'active' can be used by the other tools. If nothing is connected yet, the reply says how to connect a mailbox: pass those steps on to the person.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
list_excel_workbooksList Excel workbooksAInspect
Find .xlsx workbooks in the user's OneDrive, most recently changed first. Returns names and ids only — no cell data. Pass a query to search by name. Workbooks outside the folders you have access to are not returned.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does well by stating the return payload ('names and ids only — no cell data'), the sort order ('most recently changed first'), and the access scope ('workbooks outside the folders you have access to are not returned'). It omits pagination and rate limits, but for a simple listing tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with zero fluff. The primary action and scope are front-loaded, followed by return details and search behavior. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a listing tool with two parameters and no output schema, the description covers the essential usage points: what it returns, sorting, access limitations, and how to filter by name. It doesn't mention pagination or maximum results, but these are minor omissions given the tool's simplicity. Overall, an agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the mailbox parameter has a schema description, while query does not. The description adds meaning for query by saying 'Pass a query to search by name', filling the gap. The mailbox parameter is already well described in the schema, so the overall parameter semantics are well supported.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Find' and the resource '.xlsx workbooks in the user's OneDrive', and specifies the return scope ('names and ids only'). It is distinct from siblings like list_onedrive_items or search_onedrive_items, though it doesn't explicitly name them. The sorting and query behavior add specificity, so it's above average.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this tool over alternatives. It mentions the query usage but does not contrast with list_onedrive_items, search_onedrive_items, or get_excel_workbook. An agent would have to infer the tool's niche from its name and sibling list. This is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_gdrive_itemsList Google Drive itemsAInspect
List files and folders inside a Google Drive folder (defaults to My Drive's root), for one account. Items outside the folders you have access to are not returned.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | No | Folder item ID, or omit / "root" for My Drive root | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that only items in accessible folders are returned, which is useful. However, it does not mention whether the result is paginated, whether it includes metadata like file sizes or modified dates, or whether it is a read-only operation (though 'list' implies it).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and default behavior, then a clarifying scope note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 2 parameters and no output schema, the description is mostly adequate. However, it lacks guidance on pagination, sorting, or what fields are returned, which an agent might need to correctly interpret results. The sibling list is large but the description's scope note helps differentiate from search_gdrive_items.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description adds the default behavior for itemId (root) and clarifies mailbox scope, but does not add significant new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists files and folders inside a Google Drive folder, defaulting to My Drive's root, for one account. It distinguishes itself from search_gdrive_items by focusing on listing within a folder rather than searching, though it doesn't explicitly name the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: call it to list items in a folder, with itemId optional to target a specific folder. It does not explicitly state when to prefer this over search_gdrive_items or list_onedrive_items, nor does it mention exclusions like pagination or permission requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_gdrive_permissionsSee who has access to a Drive fileAInspect
List everyone with access to a file, including grants made outside Higgs Hub, with the permissionId needed to revoke one.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses a non-obvious behavioral trait: results include grants made outside Higgs Hub. It also highlights the permissionId as a key output needed for revocation. However, it does not explicitly state that the operation is read-only or describe any auth requirements or rate limits. The verb 'List' implies read-only, and the added scope and output details exceed the minimum, so 4 is warranted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence: the core action ('List everyone with access to a file') comes first, followed by two valuable qualifiers. There is no filler, every clause earns its place, and it is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter list tool, the description covers the main purpose and the key output field, but it omits any explanation of itemId, the return structure, or pagination/error behavior. There is no output schema to fill in the gap, so an agent might know what the tool does but not exactly what it needs to pass or what it gets back. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool description does not clarify either parameter. The input schema describes mailbox but leaves itemId completely undefined, and the description does not compensate for this 50% coverage gap. The agent is left to infer that itemId is the Drive file ID, which is a significant omission for a tool whose only two parameters need both to be correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'List everyone with access to a file.' It adds distinguishing details—'including grants made outside Higgs Hub' and 'permissionId needed to revoke one'—that set it apart from siblings like list_gdrive_items or list_onedrive_permissions. An agent can clearly tell this lists permissions for a Drive file, not files or calendars.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need the list of all access grants on a Drive file and specifically the permissionId to revoke one. It gives clear context, though it does not explicitly name alternatives or state when not to use it. The schema's mailbox parameter also points to list_authorized_mailboxes, but that is outside the description. Overall, the usage context is clear with no exclusions or misleading cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_gmail_filtersList inbox auto-filing filtersAInspect
List the Gmail filters currently used to auto-file incoming mail, for one mailbox.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. The word 'List' clearly signals a read-only operation, and 'currently used' suggests only active filters are returned. However, it does not describe the returned data shape, pagination behavior, or any mailbox authorization requirements beyond the parameter hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence with the action and resource front-loaded. There is no redundant phrasing or extraneous detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only list tool, the description is sufficient to understand its purpose and scope. It does not describe the output format or potential empty-result behavior, but these are minor omissions given the simple nature of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single mailbox parameter is already fully documented in the input schema, including format, meaning, and a pointer to list_authorized_mailboxes. The tool description adds only 'for one mailbox,' which reinforces the parameter's scope but does not meaningfully extend the schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') with a clear resource ('Gmail filters used to auto-file incoming mail') and a scope boundary ('for one mailbox'). This makes it easy to distinguish from sibling tools like create_gmail_filter, delete_gmail_filter, and list_gmail_labels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it—when inspecting current Gmail auto-filing filters—but it provides no explicit guidance about when not to use it or what alternative to pick instead. It does not mention related tools like create_gmail_filter or delete_gmail_filter as the corresponding modification operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_gmail_labelsList Gmail labelsAInspect
List every label in one mailbox, with message counts. Labels are Gmail's equivalent of folders.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It discloses the output ('labels with message counts') and scope ('one mailbox'), and the verb 'List' implies a read-only operation. However, it does not explicitly confirm non-destructiveness or mention behaviors like system-label inclusion or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, both informative. The primary action and output are front-loaded, followed by a helpful analogy. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter listing tool without an output schema, the description adequately conveys what the agent will receive (labels and message counts) and that the operation is scoped to a single mailbox. It could mention the exact return shape or the read-only nature, but nothing essential is missing for a competent agent to select and invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, 'mailbox', has 100% schema description coverage including its email format and a pointer to list_authorized_mailboxes. The tool description adds the 'one mailbox' scoping context but does not need to add further parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List every label in one mailbox, with message counts.' This clearly distinguishes it from related tools like create_gmail_label, rename_gmail_label, and apply_gmail_labels, and even adds context by explaining that labels are Gmail's equivalent of folders.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the listing purpose clear, but it does not explicitly state when to use this tool over alternatives or mention exclusions such as 'to create/modify labels use create_gmail_label/rename_gmail_label.' Usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_google_calendar_eventsList Google Calendar eventsAInspect
List events in a time window, newest first. Recurring events are expanded into the individual occurrences that fall in the window, so a weekly meeting appears on each of its dates. Defaults to the next 7 days of the primary calendar.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events to return (default 50, cap 250) | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeMax | No | Window end, ISO 8601. Defaults to 7 days after the start | |
| timeMin | No | Window start, ISO 8601. Defaults to now | |
| calendarId | No | Defaults to the primary calendar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It usefully discloses recurrence expansion, newest-first ordering, and default window/calendar behavior. It does not explicitly state that the operation is read-only/side-effect-free or describe pagination/rate limits, but for a list tool the provided behavior is reasonably helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler. The main action is front-loaded, and each sentence adds value: listing behavior, recurrence handling, and default scope. It is compact while still communicating the most important behavioral details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a straightforward listing tool: it covers scope, ordering, recurrence, defaults, and calendar selection via the schema. There is no output schema, so the exact returned event fields are not specified, but this is a minor gap for a list operation. Overall, an agent can invoke it correctly with the provided information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters including defaults, ISO 8601 format, mailbox format, and the limit cap. The description adds no per-parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'List events in a time window, newest first.' It adds meaningful behavioral detail about recurrence expansion, which clearly distinguishes it from sibling search and listing tools. The purpose is immediately understandable and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: list all events in a given time window, possibly for a default calendar. However, it does not explicitly name alternatives like search_google_calendar_events or find_google_calendar_busy_times, nor does it state when this tool should not be used. The guidance is adequate but mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_google_calendarsList Google calendarsAInspect
List the calendars on one Google account. Start here to get the calendarId the event tools take — omit it and they use the primary calendar. Calendars outside the ones you have access to are not returned.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It does disclose a behavioral trait beyond the name — that calendars outside the caller's access are excluded — and explains the primary-calendar fallback. It does not state the operation is read-only, but 'List' strongly implies it; coverage is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences that are efficient and front-loaded with the core purpose before the usage detail. No wasted words, though the third sentence about access scope is a small behavioral nicety rather than strictly essential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter list tool with no output schema, the description covers purpose, when to call it, what it returns (calendarId), and the default-fallback behavior. An agent has enough to decide when and how to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the mailbox parameter is fully documented in the schema, including format and the pointer to list_authorized_mailboxes. The description adds no new parameter-level detail beyond referencing 'one Google account,' which keeps it at the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (calendars on one Google account), and clarifies scope by noting only accessible calendars are returned. It does not explicitly name a differentiating sibling like list_outlook_calendars, but the 'Google' qualifier plus the calendarId use-case make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear guidance to 'start here' to obtain the calendarId that event tools require, and explains the default behavior (primary calendar) when the id is omitted. It does not explicitly state when not to use it or name alternative tools, but the use-case guidance is concrete and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_google_spreadsheetsList Google Sheets spreadsheetsAInspect
Find spreadsheets in the user's Drive, most recently changed first. Returns names and ids only — no cell data. Pass a query to narrow by name. Spreadsheets outside the folders you have access to are not returned, so the list may be shorter than the page size when folder rules apply.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden of behavioral disclosure, and it delivers thoroughly. It reveals ordering behavior ('most recently changed first'), output scope ('names and ids only'), query semantics ('narrow by name'), and an important access-related limitation ('spreadsheets outside the folders you have access to are not returned'). The note about the list being shorter than the page size under folder rules is a valuable edge-case disclosure that an agent would not discover from the schema alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The main purpose is front-loaded, followed by the output limitation, query usage, and a caveat about access restrictions. Every sentence earns its place and adds distinct information. This is an exemplar of concise but informative tool documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with two parameters and no output schema, this description covers everything an agent needs: what the tool returns (names and ids), the ordering, the optional query's purpose, and the access-filtering caveat. The mailbox requirement is already fully described in the schema, and no output schema exists to require return-value documentation. There are no missing pieces that would impede correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema-described coverage is 50%: the mailbox parameter is well-documented in the schema, but the query parameter has no schema description. The tool description compensates by explaining that query is used to 'narrow by name,' giving the agent meaningful semantic context for the otherwise bare string parameter. It could go further with syntax details (e.g., exact match vs. contains), but it adds sufficient value above the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Find spreadsheets in the user's Drive,' making the tool's purpose immediately clear. It further differentiates from siblings by stating it 'returns names and ids only — no cell data,' which disambiguates it from tools like read_google_sheet_range or get_google_spreadsheet. The scope is well-defined and distinct from list_gdrive_items and list_excel_workbooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when this tool is appropriate: finding spreadsheets by name and returning a lightweight list. The statement 'no cell data' implies a boundary — this tool is not for reading spreadsheet contents — though it does not explicitly name alternative tools like read_google_sheet_range. It also provides guidance on using the query parameter to narrow results, which is practical usage direction. It stops short of explicit when-not-to-use with named alternatives, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_google_task_listsList Google Tasks listsAInspect
List the user's Google Tasks lists. Start here — every other task tool needs a listId.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'List' implies a read operation and the note about listId hints at the output, but the description does not explicitly disclose read-only behavior, response format, or whether any authorization is needed. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler. The purpose is stated first, and the usage guidance is front-loaded in the second sentence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool, the description is nearly complete: it states what is listed and why the result matters ('needs a listId'). The lack of an output schema means a slightly more explicit return-structure note would be ideal, but the guidance is sufficient in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the mailbox parameter fully documented including a pointer to list_authorized_mailboxes. The tool description adds no parameter-level detail, but the schema already covers the semantic burden, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair: 'List the user's Google Tasks lists.' It clearly differentiates from sibling tools like list_google_tasks by establishing this tool as the entry point that provides listId values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Start here — every other task tool needs a listId' gives clear, actionable context for when to use this tool. It does not explicitly state when not to use it or name alternative tools, but the entry-point guidance is strong enough for an agent to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_google_tasksList tasks in a Google Tasks listAInspect
List the tasks in one list. Completed tasks are left out unless includeCompleted is true, so what comes back is what is still outstanding.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| listId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| includeCompleted | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It usefully reveals that completed tasks are excluded by default and that includeCompleted changes this behavior. It does not mention pagination, ordering, or limit semantics, but the main filtering behavior is transparently described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. It front-loads the core action and immediately adds the important filtering behavior. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but with no output schema and no annotations, the description should provide more operational context. It does not mention how results are ordered, whether pagination applies, what fields are returned, or how to find listId. The core behavior is covered, but an agent would need to infer several calling details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning for includeCompleted by explaining its default effect, and 'one list' loosely implies the role of listId. However, limit is given no semantic explanation, and listId is not explicitly tied to list_google_task_lists output. Schema description coverage is only 25%, so the description only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'List the tasks in one list.' It also clarifies scope by saying 'one list,' which distinguishes it from list_google_task_lists and get_google_task even without naming them. The completion filter adds helpful specificity to the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving outstanding tasks in a specific list, especially with the phrase 'what comes back is what is still outstanding.' However, it does not explicitly say when to prefer this over alternatives like list_google_task_lists or how to obtain a valid listId, so usage guidance is only implied, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_inbox_rulesList inbox rulesAInspect
List the inbox rules that auto-file incoming mail for one mailbox.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the behavioral burden. The verb 'List' implies a non-mutating read operation, and the 'one mailbox' scope is explicit, but the description does not mention output behavior, permission requirements, or whether hidden/system rules are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence with no filler. Every phrase, including 'inbox rules', 'auto-file incoming mail', and 'one mailbox', contributes to agent understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool, this reaches the minimum viable level: the purpose, object, and required mailbox are all identifiable. However, because there is no output schema or annotations, and because usage versus alternatives is not addressed, the agent gets an adequate but not fully complete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the sole mailbox parameter and enriches it by identifying it as a connected Outlook/Microsoft 365 mailbox and directing the caller to list_authorized_mailboxes for valid options. This adds meaningful context beyond the raw parameter name and type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses 'List' as a specific verb, identifies the resource 'inbox rules', and narrows the scope with 'auto-file incoming mail' and 'one mailbox'. This clearly distinguishes the tool from rule creation/deletion and from listing mail folders or messages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to select this tool over alternatives such as create_inbox_rule, delete_inbox_rule, or list_mail_folders. The only usage hint, 'Call list_authorized_mailboxes', appears in the parameter schema and supports parameter selection rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_mail_foldersList mail foldersAInspect
List every mail folder in one mailbox, including nested folders, with item counts and a full path like "Clients/Acme". Unlike Gmail, Outlook has a real folder tree.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| includeHidden | No | Include folders Outlook hides by default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It does so by stating that the tool returns item counts and full folder paths, and that it includes nested folders. This gives the agent a clear picture of the output and scope. It does not mention permissions, rate limits, or side effects, but as a read-only list operation, those are less critical. The description goes beyond a bare 'List folders' by specifying output characteristics, which is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. The first sentence front-loads the core function and key output details (nested folders, item counts, full paths). The second sentence adds a useful contrast with Gmail that aids selection. Every word earns its place, and the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with only two parameters, full schema coverage, and no output schema, the description is nearly complete. It explains what is returned (item counts, full paths, nested folders) and the mailbox context. It does not mention pagination or error behavior, but for a folder listing that is likely not critical. The contrast with Gmail covers the sibling-selection need. A minor gap is the absence of an explicit read-only note, but that is implied by 'List'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both mailbox and includeHidden have descriptive text. The tool description does not add any extra parameter-specific meaning beyond what the schema already provides. It mentions mailbox is Outlook/Microsoft 365, which the schema also states. Per the rubric, with high schema coverage the baseline is 3, and the description does not elevate it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (list every mail folder), a resource (one mailbox), and adds detail (nested folders, item counts, full paths). It distinguishes itself from Gmail's label model by explicitly contrasting with Gmail, which helps an agent pick this over list_gmail_labels. The verb 'List' and resource 'mail folders' are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it's for Outlook/Microsoft 365 mailboxes, and it contrasts with Gmail's folder model, implying it should be used when working with Outlook rather than Gmail. It does not explicitly name alternatives like list_gmail_labels or list_messages, but the 'Unlike Gmail' note provides a strong usage signal. It lacks an explicit 'when not to use' clause, but the context is sufficient for an agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_messagesList messages in a folderInspect
List messages in one folder — id, subject, sender, received date and read state only, never message bodies. Use this to get the message IDs that move_messages needs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max messages to return (default 50, cap 200) | |
| search | No | Search within the folder: plain keywords, from:/subject: etc., exact phrases in double quotes. Don't escape anything. | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| folderId | Yes |
list_onedrive_itemsList OneDrive itemsAInspect
List files and folders inside a OneDrive folder. Omit itemId (or pass "root") for the drive root. Items outside the folders you have access to are not returned.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | No | Folder item ID, or omit / "root" for the drive root | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It adds useful context about access scoping ('Items outside the folders you have access to are not returned') and root behavior, but it does not mention pagination, output format, or whether listing is recursive or direct-children only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first states the core action, the second covers the root case and access scope. Every sentence earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with two parameters and no output schema, the description covers the essential usage: what it lists, how to target a folder, and the access boundary. It lacks return-format details, but the tool is simple enough that the description is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description restates the itemId root behavior but adds no meaning beyond the schema, keeping this at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List files and folders') and the resource ('inside a OneDrive folder'), making the tool's purpose unambiguous. It does not explicitly name sibling tools like search_onedrive_items, so differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this to list contents of a OneDrive folder, with guidance to omit itemId or pass 'root' for the drive root. It does not mention alternatives or when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_onedrive_permissionsSee who has access to a OneDrive fileAInspect
List everyone with access to an item, including any sharing links that already exist, with the permissionId needed to revoke one.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
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 primary output (list of people, sharing links, permission IDs) but does not state whether the operation is read-only, any authorization requirements, or potential side effects. Since it is a listing operation, the read-only nature is implied but not explicit. It also does not mention pagination or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tightly worded sentence that front-loads the core action ('List everyone with access to an item') and then adds the key output details (sharing links, permissionId). There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 required params, no output schema) but the description does not explain itemId or explicitly state read-only behavior. Given no annotations, the description should at least clarify the parameters and side effects. It provides the core output but leaves the agent to infer how to supply itemId and whether it is safe to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: mailbox has a description, but itemId has none. The description does not clarify what 'item' refers to or how to obtain itemId, leaving it under-specified. The description adds no parameter information beyond the schema, failing to compensate for the missing itemId documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists everyone with access to an item, includes sharing links, and provides the permissionId needed for revocation. It uses a specific verb ('List') and resource ('everyone with access to an item'), and the mention of permissionId for revocation distinguishes it from plain listing tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (to see who has access and prepare for revocation) but does not explicitly state when to use it versus alternatives like list_gdrive_permissions or share/unshare tools. No exclusions are given, but the context is clear from the name. However, explicit guidance on when to choose this tool is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_outlook_calendar_eventsList Outlook Calendar eventsBInspect
List events in a time window. Recurring events are expanded into the individual occurrences that fall in the window. Defaults to the next 7 days of the default calendar.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max events to return (default 50, cap 250) | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeMax | No | Window end, ISO 8601. Defaults to 7 days after the start | |
| timeMin | No | Window start, ISO 8601. Defaults to now | |
| calendarId | No | Defaults to the account's default calendar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, and it does disclose two helpful behaviors: recurring events are expanded into occurrences and the default window is the next 7 days on the default calendar. It omits ordering, pagination, timezone handling, and return shape, but these are secondary for a list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: core action, recurrence behavior, and defaults. No filler or redundant restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The fully described schema and concise behavioral notes are mostly adequate for a simple list operation. However, the lack of routing guidance relative to search_outlook_calendar_events and the absence of any mention of result shape or limits leaves a moderate completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter already has a useful description, including defaults for timeMin, timeMax, and calendarId as well as mailbox guidance. The description reinforces the time-window concept but adds no meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource construction: 'List events in a time window,' and adds meaningful scope details such as recurrence expansion and a 7-day default. It is clearly distinct from get_outlook_calendar_event, but it does not explicitly differentiate from the closely related search_outlook_calendar_events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided, and no sibling alternative is mentioned. The defaults signal a typical use case, but the agent is left to infer when to choose this tool over search_outlook_calendar_events.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_outlook_calendarsList Outlook calendarsAInspect
List the calendars on one Outlook/Microsoft 365 account. Start here to get the calendarId the event tools take — omit it and they use the default calendar. Calendars outside the ones you have access to are not returned.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
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 calendars outside the user's access are not returned, which is a useful behavioral trait. However, it does not explicitly state that this is a read-only operation, nor does it mention authentication requirements or rate limits. The access restriction is the key behavior, and it is covered, but richer context would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the primary purpose stated first and the usage guidance immediately following. It is front-loaded and efficient, with no redundant phrases or filler. Every sentence adds value, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers the essential context: what it does, how the result is used (to get calendarId), and a scope limitation (access filtering). It does not describe the return format in detail, but that is not critical for a listing tool. Overall, it is sufficiently complete for an agent to understand when and how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description for the mailbox parameter is already quite detailed: it specifies the email address format and instructs to call list_authorized_mailboxes for options. The tool description adds no further parameter information, but since schema coverage is 100%, the baseline of 3 is appropriate. The description does not need to repeat what the schema already explains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'calendars on one Outlook/Microsoft 365 account'. It distinguishes itself from sibling tools like list_google_calendars and list_outlook_calendar_events by specifying the account scope and the fact it returns calendars, not events. The mention of 'Start here' further clarifies its role as the entry point for calendar-related operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Start here to get the calendarId the event tools take' and explains that omitting the calendarId makes event tools use the default calendar. This tells the agent when to invoke this tool. It also notes that only accessible calendars are returned, which clarifies the result scope. However, it does not explicitly contrast with list_google_calendars or other alternatives, so it loses one point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_outlook_task_listsList To Do listsAInspect
List the Microsoft To Do task lists in one mailbox. Each mailbox has its own independent lists. Start here to get the listId the task tools need.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. 'List' implies a read-only operation, and the mailbox-independence note is useful, but the description does not disclose return format, ordering, pagination, or what happens if the mailbox has no lists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy: the action is first, the scoping and independence note second, and the practical purpose last. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool with no output schema, the description is largely complete: it says what it lists, at what scope, and why an agent would call it. A slightly more explicit statement of the return shape would make it fully complete, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single mailbox parameter is already well documented with format and a pointer to list_authorized_mailboxes. The tool description adds context about the To Do context and listId purpose, but does not add materially new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('List') and resource ('Microsoft To Do task lists in one mailbox'), and clarifies the mailbox scoping that distinguishes it from cross-mailbox or Google task lists. It also states the downstream purpose ('get the listId the task tools need'), which anchors the tool's role in a workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly positions this tool as the entry point for obtaining listId values and notes that each mailbox has independent lists, giving useful context. It does not explicitly name alternatives or state when not to use it, though the sibling list_google_task_lists exists for Google tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_outlook_tasksList To Do tasksAInspect
List tasks in one To Do list. Completed tasks are excluded by default — pass includeCompleted to see them too.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max tasks to return (default 100, cap 200) | |
| listId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| includeCompleted | No | Include completed tasks (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the default exclusion of completed tasks and the includeCompleted flag, which is useful behavioral context. However, it doesn't mention pagination, ordering, or whether the operation is read-only (though 'List' implies it).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste. The core action and the key default behavior are front-loaded, and the includeCompleted option is mentioned right after.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 4 parameters and no output schema, the description covers the main behavior and the key parameter defaults. However, it doesn't mention pagination behavior, ordering, or what fields are returned, which an agent might need to know for downstream steps. Still, the description is adequate for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so the schema already documents limit, mailbox, and includeCompleted. The description adds the default behavior for includeCompleted and the default/cap for limit, but listId has no schema description and the description doesn't clarify it beyond 'one To Do list'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List') and resource ('tasks in one To Do list'), and clarifies the default exclusion of completed tasks. It doesn't explicitly distinguish from sibling tools like list_outlook_task_lists or list_google_tasks, but the resource is clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (listing tasks in a specific To Do list) and mentions the includeCompleted option, but it doesn't explicitly state when to use this tool versus alternatives like list_outlook_task_lists or search_outlook_messages. No exclusions or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_skillsList skillsAInspect
List the skills this workspace offers your agent — standard procedures it has written or adopted from the Higgs Hub library, plus any Higgs Hub includes with every workspace. Use get_skill to fetch one as an installable SKILL.md file. Start here if someone asks what Higgs Hub can help them with, or asks to install their workspace's skills.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 adds useful context by describing what the list contains and by directing readers to get_skill for an installable file, implicitly indicating list_skills does not install or fetch full skill content. However, it does not explicitly state that the operation is read-only or side-effect-free, which is a notable gap for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. The purpose is front-loaded, the sibling pointer is in the second sentence, and the practical use-case guidance closes it. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description is complete: it specifies the scope (this workspace), the contents (standard procedures, Higgs Hub library, included with every workspace), and the next step to obtain a skill (get_skill). An agent has everything needed to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds no parameter-level detail because none is needed; the empty schema already covers all input concerns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('List') and resource ('the skills this workspace offers your agent') and explains exactly what those skills are. It also differentiates itself from the sibling get_skill by explicitly directing users there to fetch an installable SKILL.md file, so an agent can tell list_skills apart from related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Start here if someone asks what Higgs Hub can help them with, or asks to install their workspace's skills.' It also points to the alternative get_skill for fetching a single skill, making the when-to-use boundary unmistakable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspace_membersList workspace membersAInspect
Everyone in a workspace you own: name, email, workspace role (owner / admin / member), whether they are paused, and the access role their agent follows. Also lists pending invitations. Owners only.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It discloses the output fields, the inclusion of pending invitations, and the owner-only restriction. It does not cover edge cases like non-owner calls or empty results, but it provides solid behavioral context for a read-only list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with no filler. The returned fields and the owner-only restriction are front-loaded, and every clause adds useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description fully explains what is returned and under what condition it can be used. The optional-parameter behavior is covered by the schema, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the single optional parameter with 100% coverage, including that it can be a name or id and is only needed when owning multiple workspaces. The tool description adds no parameter-specific detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and resource ('workspace members'), and enumerates the returned fields: name, email, workspace role, paused status, and access role. It also distinguishes itself by noting pending invitations and the owner-only restriction, which separates it from list_workspaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states this is for workspaces the user owns and that it is owner-only, giving the agent a clear invocation context. It does not explicitly name alternatives or when-not-to-use conditions, but the ownership restriction is a strong usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workspacesList workspacesAInspect
List the Higgs Hub workspaces you belong to, with your role in each and whether you own it. Only workspaces you own can be administered from here (invite people, manage access roles, disconnect mailboxes). Signed-in users only — API keys can't call this.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool requires signed-in users (auth context), that it returns role and ownership info, and that only owned workspaces are administrable. It doesn't describe the exact return format, but for a list operation with no parameters, this is adequate. The description adds meaningful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place: what it lists, what ownership implies, and who can call it. It is front-loaded with the core purpose and adds necessary constraints without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description is quite complete. It covers the resource, the result fields (role, ownership), the administrative implication, and the auth restriction. The only minor gap is the exact response structure, but that's not essential for a simple list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides no parameter semantics. The description compensates by explaining what the tool returns (workspaces, role, ownership) and the auth requirement. With 0 params, baseline is 4, and the description meets that by adding context about the result set.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Higgs Hub workspaces the user belongs to, including role and ownership status. It distinguishes itself from sibling tools like list_workspace_members and list_authorized_mailboxes by specifying the resource (workspaces) and the scope (workspaces you belong to).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: to list workspaces the user belongs to, and notes that only owned workspaces can be administered. It also provides an exclusion: API keys can't call this, only signed-in users. This gives clear guidance on when to use it and its limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_duplicate_gmail_labelsMerge duplicate Gmail labelsAInspect
Re-label every message carrying any of a set of duplicate labels with one label to keep, then delete the emptied duplicates. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| labelIds | Yes | All label IDs in the duplicate group, including the one to keep | |
| keepLabelId | Yes | The label ID that should survive; the rest are relabeled away and deleted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the core behavior (relabel and delete) but does not mention potential side effects, irreversibility, or any risks beyond deletion. The instruction to ask for confirmation is more of an agent directive than a description of tool behavior. It lacks details on what happens if labels are not empty or whether the operation is atomic, making the transparency only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of just two sentences. It front-loads the primary action (relabel and delete) and then adds a critical safety instruction. There is no wasted wording, and the structure makes it easy for an agent to quickly grasp the tool's purpose and the need for user confirmation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a destructive mutation operation with no annotations and no output schema. The description explains the process but does not mention that duplicates should be identified beforehand (e.g., via find_duplicate_gmail_labels), nor does it describe any return values. It also does not address potential limitations or edge cases. While the schema provides mailbox guidance, the overall context is incomplete for an agent to safely invoke this tool without additional knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides detailed descriptions for all three parameters, including mailbox (with a pointer to list_authorized_mailboxes), labelIds (including the one to keep), and keepLabelId. Since schema coverage is 100%, the baseline is 3. The tool description adds context about the overall workflow but does not introduce new parameter-specific meaning beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Re-label every message carrying any of a set of duplicate labels with one label to keep, then delete the emptied duplicates.' This is a specific verb+resource combination that distinguishes it from related tools like rename_gmail_label, delete_gmail_label, or create_gmail_label. The title and name align perfectly, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes the instruction 'Ask the user to confirm before calling this,' which is a usage guideline about requiring user consent. However, it does not explicitly mention when to use this tool versus alternatives like find_duplicate_gmail_labels, nor does it state that duplicates must first be identified. The guidance is minimal and leaves the agent to infer the proper workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
merge_mail_foldersMerge mail foldersAInspect
Move every message from a set of duplicate folders into one folder to keep, then delete the emptied folders. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| folderIds | Yes | All folder IDs in the duplicate group, including the one to keep | |
| keepFolderId | Yes | The folder that should survive; the rest are emptied into it and deleted |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It reveals that the tool moves messages and then deletes the emptied folders, making the destructive nature reasonably clear. It could go further by explicitly stating that the deletion is irreversible or describing subfolder behavior, but the core behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence front-loads the main behavior, and the second adds a critical safety instruction. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive merge operation with no annotations and no output schema, the description covers the main purpose, the actions performed, and the confirmation requirement. Minor gaps remain—such as irreversibility and behavior with subfolders—but the essential guidance is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented. The tool description reinforces the relationship between folderIds and keepFolderId but does not add meaningful details beyond what the schema already explains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action sequence: move every message from a set of duplicate folders into one folder, then delete the emptied folders. This distinguishes it from sibling tools like delete_mail_folder or move_messages by describing the combined merge-and-delete behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly identifies the tool's context—duplicate mail folders—and includes an explicit instruction to ask the user for confirmation before calling. It does not explicitly name alternatives or state when not to use it, so it stops short of a perfect usage-guideline score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_gdrive_itemMove Google Drive itemAInspect
Move (and optionally rename) a Google Drive file or folder into a different parent folder, within one account.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| newName | No | ||
| destinationFolderId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the mutation (move), optional rename, and same-account restriction, but does not mention permission requirements, effects on shared links or permissions, or failure behavior. Basic behavior is clear, but side effects are not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the verb and resource, includes the key optional behavior, and contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutation tool with no annotations, no output schema, and only 25% schema coverage. The description leaves parameter semantics mostly implicit, omits return or error behavior, and does not address permissions or side effects. For an agent to call this correctly, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, so the description must compensate. It partially does by indicating itemId refers to a file or folder, destinationFolderId is a parent folder, and newName is optional for renaming. However, it does not explain ID formats, how to obtain them, or the relationship between newName and the move operation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Move'), resource ('Google Drive file or folder'), and destination ('different parent folder'), while also noting the optional rename capability and same-account scope. This clearly differentiates it from siblings like move_onedrive_item and rename_gdrive_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool by specifying Google Drive and same-account movement, but it does not explicitly mention alternatives such as rename_gdrive_item for rename-only operations or move_onedrive_item for OneDrive. The 'within one account' phrase is the only explicit exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_google_calendar_eventMove a Google Calendar eventAInspect
Move an event to a different calendar on the same account, keeping its times. If it has guests they are emailed an update.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| calendarId | No | Calendar the event is currently on | |
| destinationCalendarId | Yes |
TDQS
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 key behaviors: the event is moved (not copied), times are preserved, and guests receive an email update. It does not mention potential failures, permissions, or that the original calendar entry is removed, but these are reasonably implied by 'move'. The side-effect of emailing guests is a valuable disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The primary action is front-loaded, and the side effect is stated second. Every word contributes value, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity move operation with no output schema, the description covers the essential context: the action, scope (same account), preservation of times, and guest notification. It does not mention explicit prerequisites (e.g., permissions to the destination calendar) or failure conditions, but these are minor given the simplicity of the operation and the clarity of the purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (mailbox and calendarId have descriptions, eventId and destinationCalendarId do not). The tool description adds no parameter-specific guidance, so it does not compensate for the undocumented parameters. The parameter names are self-explanatory, but the description offers no additional context, such as why calendarId is optional or how destinationCalendarId should be formatted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Move'), a resource ('Google Calendar event'), and the action ('to a different calendar on the same account, keeping its times'). It clearly distinguishes from siblings like update_google_calendar_event (which modifies details) and create/delete tools. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when an event needs to be moved to a different calendar while preserving times. It also notes that guests are emailed, which is a contextual side effect. However, it does not explicitly name alternatives or state when not to use it, though the inference is straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_messagesMove messages to a folderAInspect
Move messages into a folder. This is a real move, not a label change. Handles any number of messages by batching internally, and reports which ones failed rather than aborting the lot.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| messageIds | Yes | ||
| destinationFolderId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description supplies meaningful behavioral context: moving is a real move, batching is handled internally, and per-message failures are reported instead of aborting. It does not cover edge cases such as invalid folder IDs or whether moves are reversible, but the core side-effect behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no fluff; the core action is first, followed by the key distinction and the batch/failure behavior. Every clause adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter mutation tool with no output schema and no annotations, the description covers the key execution behavior (real move, batching, failure reporting). Minor gaps remain: it never mentions resolving destinationFolderId via list_mail_folders or what happens when the destination folder does not exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% and the free text adds little parameter-level detail. 'messages' and 'folder' merely restate the property names, and while 'any number of messages' reflects the array type, destinationFolderId and messageIds formats/sources are not clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact operation: move messages into a folder, and explicitly differentiates from a label change ('real move, not a label change'). This distinguishes it from label-related siblings such as apply_gmail_labels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'real move, not a label change' gives a clear exclusion: do not use this tool when a non-destructive label/tag operation is intended. However, it does not explicitly name an alternative tool or state conditions like requiring an existing destination folder.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_onedrive_itemMove OneDrive itemBInspect
Move (and optionally rename) a OneDrive file or folder into a different parent folder.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| newName | No | ||
| destinationFolderId | Yes | Target folder ID, or "root" |
TDQS
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 states the action but does not reveal that moving typically removes the item from the source location, how name conflicts are handled, whether permissions are affected, or what errors can occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It efficiently conveys the core operation and the optional rename capability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations and no output schema, the description is too thin. It omits critical operational context such as the destructive effect on the source location, conflict/overwrite behavior, permission implications, and return value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, so the description must compensate. Phrases like 'file or folder' and 'optionally rename' loosely map to the undocumented itemId and newName parameters, and 'different parent folder' reinforces destinationFolderId. However, no explicit parameter-to-role mapping or additional format details are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Move'), a clear resource ('OneDrive file or folder'), and the operation's scope ('into a different parent folder'). It also calls out optional renaming, which distinguishes it from rename_onedrive_item and move_gdrive_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like move_gdrive_item or rename_onedrive_item. No conditions, exclusions, prerequisites, or context cues are provided to help an agent choose this tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_outlook_calendar_eventMove an Outlook Calendar eventAInspect
Move an event to another calendar on the same account. Outlook has no true move, so the event is recreated on the destination and the original deleted — it gets a new id. Occurrences of a repeating series, and events with guests, cannot be moved.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| destinationCalendarId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does exceptionally well: it discloses that Outlook has no true move, so the event is recreated and the original deleted, resulting in a new id. It also explicitly states that recurring occurrences and events with guests cannot be moved. This is exactly the kind of side-effect and constraint disclosure an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose, and the second sentence packs in the important caveats. No fluff, every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description should clarify the return value (e.g., new event id or object) and how to source the required IDs (e.g., list_outlook_calendars, list_outlook_calendar_events). It also does not mention error handling or success/ failure behavior. The core behavior is covered, but these gaps prevent full completeness for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only mailbox has a description). The description does not compensate for the other two parameters (eventId, destinationCalendarId) by explaining how to obtain them or any format requirements. It mentions 'same account' which hints at relationship between mailbox and destinationCalendarId, but leaves the parameters under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Move an event to another calendar') with a clear resource and scope ('on the same account'). It distinguishes itself from create/delete/update siblings by naming the move operation and its constraint to a single account. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when to use this tool (moving an event between calendars) but does not explicitly contrast with alternatives like update_outlook_calendar_event for editing details or create_outlook_calendar_event for duplicating. It also doesn't state when not to use it beyond the limitations mentioned (recurring series, guests), which is useful but not explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_memberPause or resume a memberAInspect
Pause a member of a workspace you own: they stay a member, but their agent stops working in that workspace and any admin powers are off until an owner resumes them. Pass paused=false to resume. Owners can't be paused. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The member's email. | ||
| paused | Yes | true to pause, false to resume. | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: it stages a request requiring owner approval via a link and PIN, warns never to ask for the PIN in chat, and notes reversibility. This covers the async nature, security implications, and side effects (agent stops, admin powers off) thoroughly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficient and front-loaded with the primary action and effect, then covers the async approval process and security warning. Every sentence adds essential information without redundancy, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavioral aspects: ownership requirement, inability to pause owners, async approval, and PIN security. It does not explicitly state what the tool returns (e.g., a link) but implies it by saying 'the owner opens the link.' Given no output schema, this is acceptable, though mentioning the return format would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear per-parameter descriptions, so the baseline is 3. The description adds value by explaining the workspace parameter is only needed when owning multiple workspaces and reiterates paused=false means resume, reinforcing the schema. It does not introduce new parameter details beyond what the schema already provides, but the added ownership context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: pause a member of a workspace you own, with a specific effect (agent stops working, admin powers off) and reversibility (paused=false resumes). It distinguishes itself from sibling tools like remove_member by emphasizing temporary suspension, and notes owners cannot be paused, adding precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: you must own the workspace, and owners themselves cannot be paused. It implies this is for temporary suspension rather than removal, but does not explicitly name alternatives like remove_member or set_member_workspace_role. The async approval process is well explained, giving the agent a strong sense of when to call this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_agentmail_attachmentRead an AgentMail attachmentRead-onlyInspect
Open one attachment of an AgentMail message and return what is in it. Text, CSV, JSON, HTML and code files come back as themselves; images come back as pictures the assistant can look at; PDFs, Word files and other documents come back as the text AgentMail extracted from them, when it extracted any. Up to 10 MB. Get attachmentId from get_agentmail_message or get_agentmail_thread.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Address of the connected AgentMail inbox to act on. Call list_authorized_mailboxes to see available options. | |
| messageId | Yes | ||
| attachmentId | Yes |
read_excel_rangeRead a range of cellsAInspect
Read cell values from a worksheet. Omit range to read whatever is occupied. Formulas come back as the value they display. At most 10,000 cells per call.
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | Address like "A1:D50". Omit for the used range | |
| sheet | Yes | Worksheet name, e.g. "Sheet1" | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| workbookId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that formulas return their displayed values and that there is a 10,000-cell per-call limit, which are non-obvious behaviors. However, it does not mention error handling, authentication needs, or whether the operation is read-only (though 'read' implies it). The disclosed details add significant value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences with no redundant phrasing. It front-loads the core action, then provides a usage tip, and finally a behavioral note. Every sentence serves a purpose, and the structure is efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description would benefit from describing the return format (e.g., a 2D array of values) and what happens when the limit is exceeded. It also omits error scenarios. However, for a straightforward read operation with a clear schema, the description covers the essential behavior (formula handling, cell cap) but leaves room for missing return-structure details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% (workbookId lacks a description). The description adds meaning by clarifying that 'range' is optional and by stating the cell limit, which directly affects range usage. It does not, however, provide additional context for workbookId or the output format, leaving some semantics to be inferred from the schema and tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read') and resource ('cell values from a worksheet'), which clearly conveys the tool's purpose. The name and context distinguish it from siblings like read_google_sheet_range, and the description adds a scoping detail ('Omit range to read whatever is occupied') that further clarifies the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a usage hint about omitting the range parameter, but it does not explicitly say when to use this tool versus alternatives like read_google_sheet_range or read_gdrive_file. It provides no exclusions or conditions, leaving the agent to infer the appropriate context from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_gdrive_fileRead a file's contents from DriveAInspect
Open one file and return what is in it. Google Docs and Slides come back as text; text, CSV, JSON, HTML and code files come back as themselves; images come back as pictures the assistant can look at. Spreadsheets are refused in favour of read_google_sheet_range, and PDFs cannot be read yet. Get the id from list_gdrive_items or search_gdrive_items.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure, and it does: it explains type-dependent return formats (Docs/Slides as text, data/code files as themselves, images as viewable pictures), and notes refusals for spreadsheets and PDFs. It does not discuss permissions or auth, but for a read operation this is a strong disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences deliver the purpose, supported formats, exclusions, routing to a sibling tool, and id source with no filler. The most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool with no output schema, the description covers return behavior, exclusions, and how to obtain the required id. Nothing essential for an agent to correctly select and invoke the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: mailbox is fully described in the schema, but itemId has no description. The description compensates somewhat by telling the agent to get the id from list_gdrive_items or search_gdrive_items, but it does not directly define itemId as the file identifier or describe expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Open one file and return what is in it') on a clear resource (Drive files), and the title reinforces it. It differentiates itself from sibling read_google_sheet_range by explicitly refusing spreadsheets, and from read_onedrive_file by being Drive-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: use this for supported file types, avoid spreadsheets in favour of read_google_sheet_range, and avoid PDFs since they are unsupported. It also instructs the agent where to obtain the required id, from list_gdrive_items or search_gdrive_items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_gmail_attachmentRead an email attachmentAInspect
Open one attachment of a Gmail message and return what is in it. Text, CSV, JSON, HTML and code files come back as themselves; images come back as pictures the assistant can look at. PDFs, spreadsheets and Word files can't be read yet — but any attachment can be saved as-is with save_gmail_attachment_to_drive. Attachments up to 10 MB. Get attachmentId from get_gmail_message or get_gmail_thread.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| messageId | Yes | ||
| attachmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It explains return types ('Text, CSV, JSON, HTML and code files come back as themselves; images come back as pictures'), states unsupported formats, and gives a size limit. This goes beyond basic purpose and informs the agent what to expect. It doesn't cover error behavior, but for a read operation this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact three sentences with no redundant filler. It front-loads the purpose, then formats, then limitations and alternative, then size and source. Every sentence earns its place, and the structure is logical and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema or annotations, the description covers the essential information: what formats are returned, what cannot be read, an alternative for unsupported types, the size limit, and where to obtain the attachment ID. For a simple read tool, this is nearly complete. Missing details like error handling or pagination are not critical for this action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema describes only 'mailbox' (33% coverage). The description adds a hint for 'attachmentId' ('Get attachmentId from get_gmail_message or get_gmail_thread') which is not in the schema. However, 'messageId' is left unexplained, and the description does not elaborate on mailbox beyond the schema. It partially compensates for the schema coverage gap but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Open one attachment of a Gmail message and return what is in it,' which is a specific verb (open/read) applied to a clear resource (a Gmail attachment). It distinguishes from siblings like read_outlook_attachment and save_gmail_attachment_to_drive by stating the action and the limitation for unsupported formats. The purpose is unmistakable and differentiates the tool from others in the list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit guidance: 'Get attachmentId from get_gmail_message or get_gmail_thread,' a size limit of 10 MB, and a clear alternative: 'PDFs, spreadsheets and Word files can't be read yet — but any attachment can be saved as-is with save_gmail_attachment_to_drive.' This tells the agent when to use this tool and when to use the alternative, though it could be more explicit about when not to use it in favor of other read tools (e.g., read_gdrive_file), but that is not a direct sibling for attachments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_google_sheet_rangeRead a range of cellsAInspect
Read cell values from an A1 range, e.g. "Sheet1!A1:D50" or a whole tab like "Invoices". Formulas come back as the value they display. At most 10,000 cells per call — ask for a narrower range rather than a whole large sheet.
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | A1 notation, e.g. "Sheet1!A1:D50". A bare tab name reads the whole tab | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| spreadsheetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It usefully discloses that formulas return their displayed value and that calls are limited to 10,000 cells, which are non-obvious behaviors. It does not cover error cases or authentication, but the disclosed traits are meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first states the purpose with examples, the second adds formula behavior and a practical constraint. The most important usage information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no annotations and no output schema, the description covers the essential calling details: range format, whole-tab support, formula behavior, and size limits. It does not describe the return shape or spreadsheetId semantics, but the core invocation is adequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with range and mailbox described but spreadsheetId left undocumented. The description adds value by giving concrete A1 notation examples, explaining whole-tab reads, and warning about the 10,000-cell limit, which clarifies the range parameter beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Read cell values from an A1 range') with concrete examples like 'Sheet1!A1:D50' and 'Invoices'. It is clear about the resource and scope, though it does not explicitly differentiate itself from the sibling read_excel_range beyond the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as read_excel_range or get_google_spreadsheet. It implies usage through the name and examples, but there is no explicit when-to-use or when-not-to-use direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_onedrive_fileRead a file's contents from OneDriveAInspect
Open one file and return what is in it. Text, CSV, JSON, HTML and code files come back as themselves; images come back as pictures the assistant can look at. Excel workbooks are refused in favour of read_excel_range, and PDFs and Word documents cannot be read yet. Get the id from list_onedrive_items or search_onedrive_items.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
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 supported file types (text, CSV, JSON, HTML, code, images) and how they are returned (as themselves or as pictures), and notes limitations. It does not mention permission or error behavior, but the main behavioral traits are covered, making this above average.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly written with no redundancy. The main verb-action is front-loaded, and each sentence adds distinct information (types, refusal, exceptions, source of id). It is appropriately concise for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description explains what the tool returns for different file types, which is sufficient for an agent to know what to expect. It also covers the main unsupported cases. Minor gaps remain for unspecified binary or unknown file types, but overall it is complete enough for a file-reader.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; the mailbox parameter already has a description, but itemId does not. The description compensates by indicating that the id comes from list_onedrive_items or search_onedrive_items, which is valuable context. While it doesn't elaborate on the itemId format, the guidance on its source adds meaningful semantics beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action 'Open one file and return what is in it' and clearly defines the resource (a file from OneDrive). It also distinguishes itself from related tools by explicitly naming read_excel_range as the alternative for Excel workbooks, making its scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: states that Excel workbooks should be handled by read_excel_range, that PDFs and Word documents are not supported, and instructs the agent on where to obtain the required itemId (from list_onedrive_items or search_onedrive_items). This covers both when to use and when not to use, plus prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_outlook_attachmentRead an email attachmentAInspect
Open one attachment of an Outlook message and return what is in it. Text, CSV, JSON, HTML and code files come back as themselves; images come back as pictures the assistant can look at. PDFs, Excel workbooks and Word files can't be read yet — but any file attachment can be saved as-is with save_outlook_attachment_to_onedrive. Attached emails and OneDrive links are not files and are refused. Attachments up to 10 MB. Get attachmentId from get_outlook_message or get_outlook_conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| messageId | Yes | ||
| attachmentId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses supported formats, unsupported formats, the 10 MB size limit, and refusal behavior for non-file attachments. It doesn't state whether the operation is read-only or whether it downloads content, but the verb 'Open' and 'return what is in it' imply a read operation. The size limit and refusal behavior are valuable behavioral disclosures beyond what the schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action, then covers supported types, unsupported types, alternatives, limits, and parameter sourcing in a logical order. Every sentence adds information; there is no filler or repetition of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description covers the key operational facts: what it returns, what it refuses, size limits, and where to get the required ID. It doesn't describe the exact return format for text vs. images, but the statement 'images come back as pictures the assistant can look at' gives enough for an agent to know what to expect. The main gap is not explaining messageId's role, but the overall context is strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (mailbox is described, messageId and attachmentId are not). The description compensates by explaining that attachmentId comes from get_outlook_message or get_outlook_conversation, which adds meaning. However, it doesn't explain what messageId is or how it relates to attachmentId, so the agent must infer that messageId identifies the parent message. This is adequate but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Open') and resource ('one attachment of an Outlook message') and clearly distinguishes this from sibling tools like read_gmail_attachment and save_outlook_attachment_to_onedrive. It also enumerates supported file types, which makes the tool's scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool (to read supported attachment types) and when not to (PDFs, Excel, Word, attached emails, OneDrive links), and names the alternative save_outlook_attachment_to_onedrive for unsupported file types. It also tells the agent where to get attachmentId, which is actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_memberRemove a memberAInspect
Remove someone from a workspace you own. Their agent loses access to its mailboxes immediately; they can be invited again later. You can't remove yourself this way. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The member's email. | ||
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well. It discloses immediate loss of mailbox access, reversibility via re-invitation, the inability to remove yourself, the two-step browser approval flow, and the critical safety rule about never asking for or accepting the PIN in chat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences with no wasted words. It front-loads the core action, then gives consequences, workflow, and a safety guardrail. Every sentence contributes essential information for correct and safe invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema and no annotations, the description is complete. It covers what the tool does, when it applies, what happens immediately, the approval workflow, and a critical security constraint. Nothing needed for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, so the baseline is 3. The description adds value by clarifying that the email must be someone else's ('You can't remove yourself this way') and reinforces the workspace ownership requirement, going slightly beyond the schema's simple 'The member's email' and 'Which workspace' descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Remove someone from a workspace you own') with a clear resource and scope. It also distinguishes itself by noting self-removal is not possible and that the action only stages a request, which separates it from direct removal or invitation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use it for members in a workspace you own, and it explicitly says you cannot remove yourself. It also explains the approval workflow and warns against handling PINs in chat. However, it does not explicitly name alternative tools like pause_member or cancel_invitation, so it falls short of full alternative-based guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_access_roleRename an access roleAInspect
Rename an access role in a workspace you own. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The role's current name. | |
| newName | Yes | The new name. | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does an excellent job: it discloses that the operation only stages a request, requires owner approval via a browser link with an agent PIN, and explicitly warns against asking for or accepting the PIN in chat. This is critical behavioral and security information beyond what the schema conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and every sentence earns its place: purpose, behavioral staging caveat, and a security rule. The most important information is front-loaded, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers ownership, staging, and the PIN rule, which is strong for a tool with no annotations and no output schema. However, it mentions 'the link' without clarifying how the link is returned, and it does not point to workspace_request_status for tracking, leaving a minor gap for follow-up behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents name, newName, and workspace. The description adds the ownership context for workspace but does not add parameter-level semantics beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Rename an access role in a workspace you own.' This clearly differentiates from sibling rename_* tools (e.g., rename_gmail_label, rename_gdrive_item) by naming the resource type and adding an ownership scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: the tool is for access roles in workspaces the user owns, and it only stages a request rather than performing an immediate rename. It does not explicitly list alternative tools or when-not-to-use conditions, but the ownership and staging caveats provide enough guidance for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_gdrive_itemRename Google Drive itemAInspect
Rename a Google Drive file or folder without moving it.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| newName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It discloses only one behavior: the item is not moved. It does not mention permissions, reversibility, effect on shared links, naming constraints, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. Every word earns its place, and the core operation plus the key distinction from moving is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description must supply more operational context. It does not explain return behavior, error cases, permission requirements, or where to obtain itemId. For a mutation tool, this leaves important gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description does not explain itemId or newName. It only clarifies that the target can be a file or folder, which adds minimal meaning. The agent still has to infer that itemId likely comes from list_gdrive_items and what valid newName values look like.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Rename a Google Drive file or folder.' It also explicitly distinguishes itself from move operations by adding 'without moving it,' which separates it from sibling tools like move_gdrive_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without moving it' gives clear context that this tool is for renaming in place, not relocating, which routes away from move_gdrive_item. However, it does not explicitly name sibling alternatives or state when not to use the tool beyond the implied move/rename distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_gmail_labelRename Gmail labelBInspect
Rename an existing Gmail label.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| labelId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
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 communicates that this is a mutating operation, but gives no consequences such as whether message-label associations change, whether the operation is reversible, or what a successful response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler; the operation and target are front-loaded. It is appropriately concise for a simple rename action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three required parameters, no annotations, and no output schema, yet the description covers none of the missing operational details: how to obtain labelId, what happens after the rename, or expected success/failure behavior. It is adequate only for identifying the operation, not for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only documents 'mailbox'; labelId and name are undocumented. The description adds only the implicit idea that the label must already exist, and does not explain that labelId should come from list_gmail_labels or that 'name' is the new display name. Low schema coverage is not compensated for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('rename') and identifies an exact resource ('existing Gmail label'), which distinguishes it from create/delete/merge label siblings. It is unambiguous about the operation even though it does not name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over create_gmail_label, delete_gmail_label, or merge_duplicate_gmail_labels. The word 'existing' implies a precondition, but the description never states explicit when/when-not usage or mentions prerequisites such as listing labels first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_google_calendarRename a Google calendarBInspect
Change a calendar's name, and optionally its description.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| calendarId | Yes | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states the basic mutation but does not mention whether omitting 'description' preserves or clears the existing description, whether permissions are required, or any side effects on events or sharing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes to understanding the core operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too sparse. It lacks guidance on the calendarId parameter, behavior when description is omitted, and any expected response or confirmation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, so the description should compensate for undocumented parameters. It clarifies that 'name' is the new name and 'description' is optional, but it does not explain what 'calendarId' refers to or how to obtain it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Change') with a clear resource ('a calendar's name') and explicitly mentions the optional description update. It clearly distinguishes this from sibling tools that create, delete, list, or update calendar events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of related tools like create_google_calendar or delete_google_calendar. The usage context is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_google_task_listRename a Google Tasks listCInspect
Change a task list's title.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| listId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states that the title changes and says nothing about side effects, whether the list must exist, permissions required, or what happens to tasks in the list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no filler and is front-loaded with the action. However, it is so terse that it omits useful context that could be included without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with no annotations and no output schema, the description is incomplete. It does not cover return behavior, error conditions, or prerequisites, and the schema leaves two of three parameters undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only mailbox has a schema description (33% coverage); listId and title are undocumented. The description's phrase 'task list's title' weakly implies the title parameter's role, but it does not clarify listId or provide format or constraints for title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Change' with the resource 'task list's title', making the operation clear. It is distinguishable from sibling rename tools by the Google Tasks context in the name/title, though the description itself does not explicitly contrast with rename_outlook_task_list or similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are no prerequisites, exclusions, or references to sibling tools such as update_google_task or create_google_task_list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_mail_folderRename mail folderCInspect
Rename an existing mail folder without moving it.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| folderId | Yes | ||
| displayName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure, but it only adds 'without moving it.' It omits permission needs, effects on contained messages or subfolders, idempotency, and failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler and no repetition of schema fields. It earns its place but is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with low schema coverage, no annotations, and no output schema, the description is too thin. It does not explain where folderId comes from or provide enough context for an agent to confidently invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, and the description does not compensate. It gives no explanation of folderId or displayName, and adds no parameter-level detail beyond what the tool name already implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Rename an existing mail folder'), making the operation clear. The phrase 'without moving it' helps distinguish from relocation-style operations, though no sibling tool is explicitly named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, or how it relates to siblings like create_mail_folder, delete_mail_folder, merge_mail_folders, or list_mail_folders. The intended invocation context is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_onedrive_itemRename OneDrive itemCInspect
Rename a OneDrive file or folder without moving it.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| newName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the non-moving behavior, which is a useful distinction, but it omits any details about permissions required, side effects, reversibility, or what happens to shared links. For a mutation tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the core purpose. However, it is under-specified rather than efficiently compact— it omits critical details that would be more valuable than brevity. It is not overly verbose, but it leaves significant gaps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has three required parameters, no output schema, and no annotations, the description is far from complete. It only states what the tool does, leaving the agent to guess about parameter formats, return values, error handling, or prerequisites. This is inadequate for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, with mailbox described in the schema but itemId and newName left undocumented. The description provides no additional meaning for any parameter— it doesn't explain what newName should contain, what itemId refers to, or any constraints. With such low schema coverage, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (rename), the resource (OneDrive file or folder), and the scope (without moving it). This distinguishes it from move_onedrive_item, so an agent can immediately tell what it does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without moving it' implies the tool is for renaming only, not for relocation, which contrasts with move_onedrive_item. However, it does not explicitly name alternatives or state when specifically to use this tool over others, leaving some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_outlook_calendarRename an Outlook calendarCInspect
Change a calendar's name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| calendarId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'Change a calendar's name,' which is a write operation, but doesn't state whether the operation is reversible, requires special permissions, or affects existing events. No mention of side effects or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise and front-loaded with the action. However, it is so sparse that it borders on under-specification, but it's not verbose or wasting words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and annotations are absent, the description must provide sufficient context for correct invocation. It lacks information about how to obtain calendarId, whether the name parameter is case-sensitive or length-limited, and any impact on existing events. The sibling list shows many rename tools, so specificity is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 33%, meaning only the mailbox parameter is described. The description adds no detail about 'name' or 'calendarId' beyond their basic types. Since coverage is low, the description should compensate, but it doesn't explain that 'name' is the new name or that 'calendarId' can be obtained from list_outlook_calendars.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource ('Change a calendar's name'), so it is not a tautology. But it lacks specificity about what 'calendar' means (e.g., a calendar in Outlook) and does not distinguish it from siblings like rename_google_calendar or rename_outlook_task_list. The name includes 'Outlook', so the resource is clear, but scope could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention similarities to rename_google_calendar or rename_outlook_task_list, nor any prerequisites like needing the calendar ID from list_outlook_calendars. Usage context is entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_outlook_task_listRename To Do listBInspect
Rename an existing To Do task list.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| displayName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the rename action and offers no detail on side effects, whether tasks within the list are preserved, permission requirements, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. The word 'existing' usefully scopes the operation and the sentence is front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and sparse schema descriptions, the description is too thin. It leaves an agent without guidance on parameter semantics, expected results, or behavioral implications of the rename.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%; listId and displayName have no descriptions. The description adds little beyond the property names, only implying that 'existing' refers to the listId and the new name to displayName.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Rename') and a clear resource ('existing To Do task list'), which is enough to understand the tool's job. It distinguishes itself from sibling rename tools like rename_google_task_list and rename_outlook_calendar via the 'To Do task list' resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as rename_google_task_list or update_outlook_task. There is no mention of exclusions, prerequisites, or suitable contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_gmail_attachment_to_driveSave an email attachment to DriveAInspect
Copy one attachment of a Gmail message into this account's Google Drive, as-is — any file type, up to 10 MB, without reading it. Goes into the folder parentItemId (from list_gdrive_items or search_gdrive_items) or My Drive's root when omitted; the name defaults to the attachment's own. Drive allows two files with the same name in a folder, so calling this twice makes a second copy. Get attachmentId from get_gmail_message.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | File name to save under; defaults to the attachment's name | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| messageId | Yes | ||
| attachmentId | Yes | ||
| parentItemId | No | Destination folder id; omit for My Drive's root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so thoroughly: it copies as-is, supports any file type up to 10 MB, does not read the content, defaults the destination and name, and even discloses the duplicate-file behavior ('Drive allows two files with the same name in a folder, so calling this twice makes a second copy').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and every sentence adds information: size limit, destination rules, naming default, and duplicate behavior. It is slightly longer than strictly necessary, but zero sentences are wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter, no-output-schema tool, the description covers the critical invocation facts: where IDs come from, destination behavior, naming, and file-size constraints. The only notable gap is that it does not describe what the tool returns after a successful copy, which would matter more given the missing output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60% and the description adds genuine meaning to parameters: parentItemId is tied to folder listing tools and My Drive root, name defaults to the attachment's name, and attachmentId is sourced from get_gmail_message. messageId remains less explicitly defined, but its role is inferable from the opening sentence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Copy one attachment of a Gmail message into this account's Google Drive, as-is'. It also differentiates from siblings by noting it copies without reading, which distinguishes it from read_gmail_attachment, and names Gmail/Drive specifically versus the Outlook/OneDrive sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use it and where supporting data comes from: 'Get attachmentId from get_gmail_message', and parentItemId 'from list_gdrive_items or search_gdrive_items'. It implies the reading alternative via 'without reading it', and explains root-folder behavior when parentItemId is omitted, but it does not explicitly state when to prefer a read tool over this copy tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_outlook_attachment_to_onedriveSave an email attachment to OneDriveAInspect
Copy one attachment of an Outlook message into this account's OneDrive, as-is — any file type, up to 10 MB, without reading it. Goes into the folder parentItemId (from list_onedrive_items or search_onedrive_items) or the drive root when omitted; the name defaults to the attachment's own, and a taken name gets a suffix rather than overwriting. Get attachmentId from get_outlook_message.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | File name to save under; defaults to the attachment's name | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| messageId | Yes | ||
| attachmentId | Yes | ||
| parentItemId | No | Destination folder id; omit for the drive root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries a significant burden. It does well by stating the 'as-is' copy behavior, the 10 MB limit, that it doesn't read the attachment, the default folder handling, and the no-overwrite behavior with suffix. This exceeds what the schema alone conveys. Minor gap: doesn't mention potential errors or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core action and key constraints. Every sentence provides necessary information with no filler. It's a single, dense paragraph that an agent can quickly parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters and no output schema or annotations, the description is remarkably complete. It covers the core behavior, limits, default behaviors for optional parameters, and where to source the required IDs. There's no critical information an agent needs to make a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 60%, and the description compensates by explaining that 'parentItemId' goes to the drive root if omitted, and 'name' defaults to the attachment's name. It also tells the agent to get 'attachmentId' from 'get_outlook_message'. This adds value beyond the schema for three parameters, though 'messageId' and 'attachmentId' are still not fully explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it copies one attachment from an Outlook message to OneDrive 'as-is' with specific constraints (any file type, up to 10 MB, without reading it). It clearly distinguishes itself from the sibling 'read_outlook_attachment' and 'save_gmail_attachment_to_drive' by specifying the exact source and destination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly informs when to use this over alternatives by mentioning the source (Outlook) and destination (OneDrive). However, it doesn't explicitly state when not to use it or compare it to other similar tools like 'read_outlook_attachment' or 'save_gmail_attachment_to_drive', though the name itself largely disambiguates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_agentmail_messagesSearch AgentMail messagesRead-onlyInspect
Find messages in an AgentMail inbox and return their metadata (id, thread, sender, recipients, subject, date, preview, labels) — not full bodies. With query, a full-text search of sender, recipients, subject and body, best match first. Without it, the newest messages, optionally filtered by labels and by from/to/subject substrings. Then read one with get_agentmail_message, or file it with update_agentmail_labels. Trashed and spam messages are skipped unless asked for.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | A recipient contains this text | |
| from | No | Sender contains this text | |
| after | No | Only messages after this time (ISO 8601) | |
| limit | No | Max results (default 20, cap 100) | |
| query | No | Full-text search; when given, labels/from/to/subject are ignored | |
| before | No | Only messages before this time (ISO 8601) | |
| labels | No | Only messages carrying all of these labels, e.g. ["unread"] | |
| mailbox | Yes | Address of the connected AgentMail inbox to act on. Call list_authorized_mailboxes to see available options. | |
| subject | No | Subject contains this text | |
| pageToken | No | nextPageToken from the previous call, for the next page | |
| includeSpam | No | ||
| includeTrash | No |
search_gdrive_itemsSearch Google DriveAInspect
Search one account's Google Drive for files/folders whose name matches a text query. Items outside the folders you have access to are not returned, so results may be fewer than the page size when folder rules apply.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses an important behavioral trait: items outside accessible folders are not returned, and page size may not be reached due to folder rules. It does not explicitly state that the operation is read-only, but 'search' strongly implies no mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The core function is front-loaded, and the access-filter caveat is placed second as important but secondary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is strong for a simple search tool, covering the query scope, mailbox context, and filtering behavior. There is no output schema and no explicit return-format mention, but the description's access-filter note already implies pagination and result-count behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, but the description directly defines the query parameter as matching files/folders by name. The mailbox parameter already has a detailed schema description. This adds meaningful semantics beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: searching one account's Google Drive for files/folders by name. It clearly distinguishes this from listing or managing Drive items and from search tools targeting other providers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes it clear this is the correct tool when the agent needs to find files/folders by name in a specific mailbox/account. It also warns that access restrictions can reduce result counts, which is relevant context for interpretation. It does not explicitly contrast with list_gdrive_items or other search siblings, but the text-query intent is clearly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_gmail_messagesSearch Gmail messagesAInspect
Search a mailbox using Gmail's own query syntax and return message metadata (id, subject, sender, date, snippet, labels) — not full bodies. Use this to find messages, then get_gmail_message to read one, or apply_gmail_labels to file them. Query examples: 'from:acme.com', 'has:attachment newer_than:7d', 'subject:invoice is:unread'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 20, cap 100) | |
| query | No | Gmail search query, same syntax as the Gmail search box | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| labelIds | No | Restrict to these label IDs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It usefully discloses the return shape (metadata fields), explicitly states that full bodies are NOT returned, and implicitly signals a non-mutating search operation. It does not mention rate limits, authorization requirements, or pagination, but those are minor for a read-oriented search tool that already provides query examples.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three compact sentences with no filler. It front-loads purpose and output constraints, then gives usage guidance and examples. Every sentence earns its place, and the examples are high-value rather than decorative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four fully-documented parameters and no output schema, the description compensates well by listing the returned metadata fields and excluding full bodies. It covers the core what, when, and how with examples. It could be slightly more complete by noting result ordering or pagination behavior, but nothing critical is missing for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns a 4 by adding meaningful query-syntax examples ('subject:invoice is:unread') that go beyond the schema's generic 'Gmail search query, same syntax as the Gmail search box.' Other parameters like limit, mailbox, and labelIds are already fully documented in the schema, so no additional parameter explanation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Search a mailbox using Gmail's own query syntax' and precisely scopes the output to 'message metadata (id, subject, sender, date, snippet, labels) — not full bodies.' It also differentiates from siblings by naming get_gmail_message for reading a message and apply_gmail_labels for filing, so an agent can distinguish this search tool from adjacent Gmail tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context and a workflow: 'Use this to find messages, then get_gmail_message to read one, or apply_gmail_labels to file them.' Query examples like 'from:acme.com' and 'has:attachment newer_than:7d' clarify when the tool fits. It stops short of stating explicit exclusions, such as when to prefer list_messages over this search tool, so it gets a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_google_calendar_eventsSearch Google Calendar eventsBInspect
Find events matching a text query across titles, descriptions and locations. Searches the next year unless a window is given.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeMax | No | ||
| timeMin | No | ||
| calendarId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It does disclose a useful behavioral trait (searches the next year unless time boundaries are given) and the search scope across titles, descriptions, and locations. However, it does not state whether the operation is read-only, describe pagination or result limits, or mention any rate limits or authentication requirements. It adds some value but leaves significant behavioral unknowns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, immediately stating what the tool does and the default time behavior. Every word earns its place; no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no annotations, the description is not complete enough. It omits the function of limit and calendarId, and gives no information about return format or result count. Agents cannot fully predict the tool's behavior for all parameter combinations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17% (just mailbox). The description adds meaning for query (text search across titles, descriptions, locations) and timeMin/timeMax (window) via the 'next year unless a window is given' phrase. However, limit and calendarId are left completely unexplained, and the schema itself provides no descriptions for them. Given the low coverage, the description should compensate more thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds events matching a text query across titles, descriptions, and locations, which distinguishes it from list_google_calendar_events (listing without text search) and get_google_calendar_event (retrieving a specific event). The search scope is explicit and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like list_google_calendar_events or search_outlook_calendar_events. It does not state when not to use it, mention prerequisites, or suggest the tool for text-based search rather than full listing. The only contextual hint is the default time window, which is behavioral, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_onedrive_itemsSearch OneDriveAInspect
Search one account's OneDrive for files and folders matching a text query. Items outside the folders you have access to are not returned, so results may be fewer than the page size when folder rules apply.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the disclosure burden. It adds a useful behavioral caveat about folder access and page size, but it does not clarify whether the query matches file names, contents, or metadata, nor does it explain the result structure or any pagination behavior beyond the mention of page size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both substantive. The primary purpose is front-loaded and the caveat about access-scoped results is concise and relevant. There is no filler or redundant restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool, the description covers the core action and one important scoping behavior. However, with no output schema and no annotations, the agent is left to infer what the query matches against and what the returned results look like, which are meaningful gaps for correct invocation and result interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the mailbox parameter well, but the query parameter has no schema description. The description adds only that the search is for files and folders matching a "text query," which provides some meaning but leaves the exact matching semantics and query formatting unspecified. At 50% schema coverage, the description partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: "Search one account's OneDrive for files and folders matching a text query." This clearly differentiates it from sibling search tools like search_gdrive_items and from list_onedrive_items, since it centers on query-based search within a single OneDrive account.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the action word "search" and the mention of a text query, but there is no explicit guidance about when to prefer this tool over list_onedrive_items or other search tools. No exclusions or alternative routing are provided, so the agent must infer when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_outlook_calendar_eventsSearch Outlook Calendar eventsBInspect
Find events whose title, preview text or location matches a query. Searches the next year unless a window is given.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeMax | No | ||
| timeMin | No | ||
| calendarId | No |
TDQS
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 usefully discloses that the search covers 'the next year unless a window is given' and which fields are searched. However, it does not mention that this is a read-only operation, how results are limited, or what return shape to expect, leaving notable behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. It front-loads the core search behavior, then adds the essential default-window detail. Every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no output schema, and no annotations, this two-sentence description leaves too much unspecified. An agent still lacks clarity on limit behavior, calendarId semantics, time parameter formats, and result structure. The definition is not complete enough for confident invocation in varied contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17%, so the description must compensate. It adds meaning for the query parameter by naming matched fields and suggests the meaning of timeMin/timeMax via 'unless a window is given.' But limit and calendarId are left entirely unexplained, and time window format is not specified, so the description does not sufficiently cover the parameter space.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Find events whose title, preview text or location matches a query.' It clearly identifies this as a calendar event search tool and distinguishes it from message/file search tools by naming calendar fields. However, it does not explicitly differentiate this from sibling tools like list_outlook_calendar_events or search_google_calendar_events, so it does not earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this tool when you have a text query against event title, preview, or location, and it explains the default time window behavior. But it provides no explicit guidance about when to use list_outlook_calendar_events instead, nor does it mention alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_outlook_messagesSearch Outlook messagesInspect
Search a mailbox using Outlook's search syntax and return message metadata — not bodies — best match first. Searches the whole mailbox unless folderId is given. Use this to find messages, then get_outlook_message to read one, or move_messages to file them. Plain keywords plus from:, to:, subject:, received>=YYYY-MM-DD, hasattachments:yes and OR all work; put an exact phrase in double quotes and don't escape anything. Examples: 'from:acme.com', 'invoice overdue', 'subject:"roof quote" received>=2026-09-01'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 25, cap 100) | |
| query | No | Search terms; omit to get the most recent messages | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| folderId | No | Restrict to one folder; omit to search the whole mailbox |
send_agentmail_messageSend from an AgentMail inboxInspect
Send a new email from this AgentMail inbox, as that inbox's address. Plain text only — write real line breaks, not HTML. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | ||
| to | Yes | Recipient addresses. Bare addresses only — display names aren't supported. | |
| bcc | No | ||
| body | Yes | Plain text body. | |
| mailbox | Yes | Address of the connected AgentMail inbox to act on. Call list_authorized_mailboxes to see available options. | |
| subject | Yes |
send_agentmail_replyReply from an AgentMail inboxInspect
Reply in an existing thread. Recipients and subject come from the original — you supply only the body. Set replyAll to include everyone on the original's To and Cc; by default it replies to the sender only. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Extra Cc recipients. | |
| body | Yes | Plain text body of the reply. | |
| mailbox | Yes | Address of the connected AgentMail inbox to act on. Call list_authorized_mailboxes to see available options. | |
| replyAll | No | Include everyone on the original. Default false. | |
| messageId | Yes | The message being replied to, from search_agentmail_messages or get_agentmail_thread. |
send_gmail_messageSend a Gmail messageAInspect
Send a new email from this mailbox. Sends as the mailbox owner and nobody else. Plain text only — write real line breaks, not HTML. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | ||
| to | Yes | Recipient addresses. Bare addresses only — display names aren't supported. | |
| bcc | No | ||
| body | Yes | Plain text body. | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| subject | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It covers three key behavioral traits: sending as the mailbox owner only (identity limitation), plain-text-only content with no HTML (format constraint), and the requirement for user confirmation before invocation (safety protocol). While it doesn't discuss error handling or return values, these disclosures are substantive and appropriate for a send action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, with every sentence serving a distinct purpose: first identifies the action, second identifies the sender constraint, third covers format and the confirmation requirement. The most important information (what it does, who it sends as) is front-loaded, and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a send action with no output schema and no annotations, the description covers the essential operational context: the action, identity constraints, format restrictions, and the need for user confirmation. It doesn't mention edge cases like invalid addresses or delivery semantics, but these are not critical for a straightforward email-sending tool. The description combined with the schema provides enough information for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by clarifying the body format ('Plain text only — write real line breaks, not HTML') and the mailbox identity ('Sends as the mailbox owner and nobody else'), which are not fully captured in the schema's concise field descriptions. However, it provides no additional guidance for cc, bcc, or subject parameters, and the schema already documents to, body, and mailbox. The description partially compensates for the 50% schema coverage but leaves several parameters relying on their obvious semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb and resource: 'Send a new email from this mailbox.' It further clarifies the sending identity ('Sends as the mailbox owner and nobody else'), which distinguishes it from send_gmail_reply and create_gmail_draft. An agent can immediately understand this tool's unique role among the large sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it sends a new message from the connected mailbox, in plain text only, and requires explicit user confirmation ('Ask the user to confirm before calling this'). It does not explicitly name when-not-to-use alternatives (e.g., send_gmail_reply for replies), but the phrase 'new email' implies that scope and the confirmation requirement provides actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_gmail_replyReply to a Gmail messageAInspect
Reply in an existing thread. Recipients and subject are taken from the original — you supply only the body. Set replyAll to include everyone on the original's To and Cc; by default it replies to the sender only. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Extra Cc recipients. | |
| body | Yes | Plain text body of the reply. | |
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| replyAll | No | Include everyone on the original. Default false. | |
| messageId | Yes | The message being replied to, from search_gmail_messages or get_gmail_thread. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It states that recipients and subject are auto-populated, that default reply is to sender only, and that replyAll is an opt-in flag. It also mandates user confirmation, which is a critical behavioral safeguard. While it doesn't mention side effects like email delivery, it covers the essential behaviors for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences: the first states the core action, the second explains the replyAll behavior, and the third gives a safety instruction. No filler; every sentence adds necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with fully documented parameters and no output schema, the description covers the essential details: what it does, how recipients are determined, default behavior for replyAll, and a confirmation requirement. An agent has everything needed to invoke it correctly without seeking additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by clarifying that the user only supplies the body and that replyAll toggles inclusion of all original recipients. This explains the relationship between parameters (e.g., messageId identifies the original, body is the only content) beyond the schema's individual parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool replies in an existing thread, with recipients and subject taken from the original message. This distinguishes it from send_gmail_message (which sends new messages), and the verb+resource combo is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is for replying to existing messages versus composing new ones, and explicitly instructs the user to confirm before calling, providing a usage guardrail. It doesn't name an alternative tool, but the thread-reply context is clear enough to avoid confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_outlook_messageSend an Outlook messageAInspect
Send a new email from this mailbox. Sends as the mailbox owner and nobody else. Plain text only. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | ||
| to | Yes | Recipient addresses. Bare addresses only — display names aren't supported. | |
| bcc | No | ||
| body | Yes | Plain text body. | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| subject | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behavioral traits: the email sends as the mailbox owner only ('Sends as the mailbox owner and nobody else'), the message is plain text only, and user confirmation is required before sending. These are consequential and actionable details. It doesn't mention auth requirements or error behavior, but the most critical traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short, purposeful sentences: the action, the identity constraint, the format constraint, and a required pre-call instruction. It is front-loaded with the main purpose and every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a send tool with 6 parameters, no output schema, and no annotations, the description covers the critical behavioral requirements: sender identity, plain text limitation, and user confirmation. It doesn't explicitly mention whether attachments are supported or what happens after sending, but the description is largely sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (to, body, mailbox are documented; cc, bcc, subject are not). The description adds context by stating 'Plain text only,' which reinforces the body format, and 'Sends as the mailbox owner,' which explains the sender identity tied to the mailbox parameter. However, it does not add meaning for cc/bcc/subject, so it only partially compensates for the schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Send a new email from this mailbox.' The word 'new' distinguishes it from reply tools like send_outlook_reply, and 'from this mailbox' anchors the operation to a specific mailbox. This clearly differentiates it from related sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to choose this tool over send_gmail_message, send_outlook_reply, or create_outlook_draft. The only usage-related instruction is 'Ask the user to confirm before calling this,' which is a safety directive, not a selection criterion. No when-not-to-use or alternative routing is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_outlook_replyReply to an Outlook messageAInspect
Reply in an existing conversation. Outlook builds the reply itself — recipients, subject and the quoted original — so you supply only the body. Set replyAll to include everyone on the original. Ask the user to confirm before calling this.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Plain text body of the reply. | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| replyAll | No | Include everyone on the original. Default false. | |
| messageId | Yes | The message being replied to, from search_outlook_messages or list_messages. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a non-obvious behavior: Outlook itself constructs recipients, subject, and quoted original, so the caller only provides the body. It also flags the need for user confirmation, which is essential safety context for an action that has an external side effect. It could add more about immediate delivery or failure modes, but the key behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: the first states the core action, the second explains Outlook's automatic behavior, and the third gives the safety requirement plus the replyAll control. The content is front-loaded and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, this description is complete. It specifies the action, the automatically constructed fields, the conditional replyAll behavior, and the mandatory confirmation step. The schema already documents mailbox and messageId thoroughly, so nothing an agent needs to call the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real meaning by explaining why only the body is needed and how replyAll changes the recipient set. This goes beyond the schema's per-property descriptions, especially in clarifying the tool's envelope-building behavior and the role of the body.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Reply in an existing conversation.' It immediately distinguishes this from send_outlook_message and similar siblings by emphasizing the existing-conversation scope and the fact that Outlook builds the recipients, subject, and quoted original. An agent can tell exactly what this tool does without needing to open the schema or compare siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context on when to call the tool ('existing conversation') and adds an explicit guardrail ('Ask the user to confirm before calling this'). It also explains how to choose replyAll. It does not explicitly name an alternative tool for sending a new message, so it stops short of a full 5, but the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_access_role_capabilityTurn a capability on or off for an access roleAInspect
Switch one of the eight capabilities on or off for an access role in a workspace you own — it reaches everyone who follows the role at once. Capabilities: readMail (Read my email), sendMail (Send email on my behalf), manageSheets (Work with my spreadsheets), readFiles (Read my files), shareFiles (Share files with people I name), manageTasks (Manage my tasks), draftReplies (Draft replies for me), manageCalendar (Manage my calendar). This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The access role's name. | |
| enabled | Yes | true to allow, false to refuse. | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. | |
| capability | Yes | Which capability. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the action only stages a request, requires the owner to review and approve with a PIN, and explicitly warns never to ask for the PIN in chat. It also notes the effect reaches all followers of the role. This is thorough behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average due to the capability list, but each sentence earns its place: the action, the capability enumeration, and the critical staging/PIN warning. It is front-loaded with the main action and scoping, with the safety note at the end. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and no annotations, the description explains the two-phase approval flow and the security caveat about PINs. It omits response format and error handling, but those are often standardized and less critical for invocation. The ownership requirement and capability scope are adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with descriptions, so the baseline is 3. The description adds human-readable labels for each capability (e.g., readMail = Read my email) and clarifies the staging behavior, which gives agents a better grasp of what each value does. It also implies the workspace parameter's condition without repeating it verbatim.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Switch') and resource ('access role'), and explicitly names the eight capabilities it manages. This distinguishes it from sibling tools like set_access_role_mailbox_access and set_access_role_skill_access, which target different resource types. The scope ('in a workspace you own') is also clearly stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the action is for capabilities on an access role and that it only stages a request for owner approval. However, it does not explicitly name sibling tools as alternatives for mailbox or skill access; the differentiation is implied by the capability list. The ownership requirement and the staging workflow are practical usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_access_role_mailbox_accessSet an access role's reach into a mailboxInspect
How far an access role's agents may reach into one mailbox: the access level (write = everything its capabilities allow, read = search and read only, none = hidden), which folders its file tools may use (all / only these / all except these, by folder path), and which calendars (all / only these / all except these, by calendar name). Give only the parts you want to change; the others stay as they are. list_access_roles shows the current standing. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The access role's name. | |
| level | No | Access level: write, read, or none (hidden). | |
| folders | No | Folder paths for an only/except folder rule, e.g. ["Clients/Acme", "Shared"]. | |
| mailbox | Yes | The connected mailbox's address. | |
| provider | No | Only needed when the same address is connected under more than one provider. | |
| calendars | No | Calendar names (or ids) for an only/except calendar rule. | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. | |
| folderMode | No | Folder rule for file tools: all, only, or except. | |
| calendarMode | No | Calendar rule: all, only, or except. |
set_access_role_skill_accessSet an access role's access to a skillAInspect
How far an access role's agents may go with one skill: none (hidden — not listed, not served), use (may read and follow it; the default for every role), or edit (may also change it for the whole workspace with update_skill). Owners always have edit. list_skills shows the slugs. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The access role's name. | |
| level | Yes | none = hidden from the role's agents, use = may follow it, edit = may also change it. | |
| skill | Yes | The skill's slug, as list_skills shows it. | |
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the tool's behavioral traits. It states that the tool only stages a request (not directly applying the change), that the owner must approve via a browser link with their PIN, and that owners always have edit access. This covers side effects, async nature, and security handling, exceeding typical disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at roughly three sentences, front-loading the core purpose before explaining levels and the approval flow. Every sentence adds value—no fluff or repetition. The structure is logical, moving from what the tool does to the three levels to the behavioral caveat and security warning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, one enum, no output schema, no annotations), the description is thorough. It covers the semantics of each level, the staging and approval process, the PIN security rule, and references to related tools for slugs and updates. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful elaboration on the enum values (none, use, edit) beyond the schema's brief descriptions, and it clarifies that list_skills provides the slug for the skill parameter. It also reinforces the workspace parameter's conditional necessity, though that is already in the schema. This adds value but not extensively beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: setting an access role's level of access to a specific skill, with explicit definitions of the three levels (none, use, edit). It distinguishes itself from related tools by referencing update_skill for edit-level changes and list_skills for slugs, though it doesn't name a direct sibling like set_access_role_capability. The verb 'set' and resource 'access role's access to a skill' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it explains the levels, notes that 'use' is the default, and warns that the tool only stages a request requiring owner approval. It also explicitly instructs to never ask for or accept the PIN in chat. However, it does not explicitly contrast with alternative tools like set_access_role_capability or set_access_role_mailbox_access, though the naming and focus make the intended use fairly obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_member_workspace_roleChange a member's workspace roleAInspect
Make a member of a workspace you own an admin, a member, or an owner. Owners are unrestricted and can administer the workspace; admins put people in access roles; members just use it. You can't change your own role this way. This only stages a request: the owner opens the link in their browser, reviews it, and approves it there with their agent PIN. Never ask for or accept the PIN in chat.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The new workspace role. | |
| Yes | The member's email. | ||
| workspace | No | Which workspace, by name or id. Only needed when you own more than one — list_workspaces shows them. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so excellently. It discloses that the action only stages a request, that the owner must approve in a browser with their agent PIN, that the change is not immediate, and that the PIN must never be requested in chat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: the action, role definitions, the self-role restriction, the staged approval flow, and the security warning. The description is dense but not bloated, with the most important operational detail—staging—clearly emphasized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the asynchronous approval process, security constraints, role semantics, and workspace ambiguity. It doesn't explicitly state that the email must belong to an existing member or how to check staged-request status, but an agent has enough to invoke the tool correctly and set user expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all parameters at 100% coverage, and the description adds meaningful semantics: it explains the practical meaning of each role and clarifies that 'workspace' is only needed when the user owns more than one, pointing to list_workspaces as the discovery mechanism.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action—changing a member's workspace role to admin, member, or owner—and defines what each role means. This clearly differentiates it from sibling tools like assign_access_role or list_workspace_members.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: the caller must own the workspace, the target must be an existing member, and the agent cannot change its own role. It doesn't explicitly name alternative tools, but the staged-approval flow and ownership requirement make the use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_agentmail_labelsLabel or trash AgentMail messagesInspect
Add and remove labels on up to 50 messages. Labels are plain names, created on first use. Add trash to move a message to trash (reads and searches skip it; removing trash restores it); remove unread to mark it read.
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | Address of the connected AgentMail inbox to act on. Call list_authorized_mailboxes to see available options. | |
| addLabels | No | ||
| messageIds | Yes | ||
| removeLabels | No |
update_excel_rangeWrite cells to a rangeAInspect
Overwrite the cells in a range. Whatever is there is replaced without warning, so read the range first if you need to keep any of it. Values are interpreted as if typed.
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | ||
| sheet | Yes | ||
| values | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| workbookId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it does so well. It explicitly warns that existing cell contents are replaced without warning, advises reading first, and clarifies that values are interpreted as if typed. This covers the destructive nature and input semantics clearly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences with no filler. The core action is front-loaded, the destructive warning is immediately actionable, and every sentence contributes to safe and correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key operational context for a simple overwrite operation, but given no annotations, no output schema, and five required parameters, there are meaningful gaps: parameter formats for workbookId/sheet/range are not explained, and alternatives are not routed. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, with only 'mailbox' documented in the schema. The description adds useful meaning for 'values' ('interpreted as if typed') and 'range' ('cells in a range'), but it does not compensate for the undocumented workbookId, sheet, range format, or values structure in a way that would let an agent reliably construct all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Overwrite') and a clear resource ('cells in a range'), and the behavior is sharply distinguished from sibling tools like append_excel_rows, read_excel_range, and clear_excel_range. An agent can immediately tell this is a replacement write, not a read, append, or clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a useful precondition: 'read the range first if you need to keep any of it,' which implies this is destructive. However, it does not explicitly state when to prefer this tool over alternatives such as append_excel_rows or clear_excel_range, so usage context is more implied than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_google_calendar_eventUpdate a Google Calendar eventAInspect
Change an event's title, times, description, location or guest list. Supply only the fields to change. Changing an event that has guests emails them an update. Editing a whole recurring series is not supported. Passing attendees REPLACES the guest list — include everyone who should stay on the event, or they are uninvited.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| start | No | ||
| title | No | ||
| eventId | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| location | No | ||
| timeZone | No | ||
| attendees | No | The complete guest list after the change. Replaces what is there — omitting someone uninvites them and emails them a cancellation | |
| calendarId | No | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It does this well by warning that changing an event with guests emails them, and that passing attendees replaces the guest list and uninvites omitted people. It also discloses the recurring-series limitation, though it does not cover auth, output, or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with the core purpose, and every sentence earns its place. The critical warning about attendee replacement is clearly emphasized without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the most dangerous side effects and a key limitation, which is valuable given no annotations and no output schema. However, with 8 of 10 parameters undocumented in the schema and no parameter format guidance, the definition is not fully complete for reliable agent invocation. Timezone, eventId, and calendarId semantics remain gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, so the description must compensate. It names broad parameter groups (title, times, description, location, guest list) and clarifies attendees replacement semantics, but it does not explain required eventId, start/end format, timeZone usage, or calendarId selection. An agent still lacks enough parameter-level detail to construct valid input reliably.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Change an event's title, times, description, location or guest list') and the resource (a Google Calendar event). It is specific about the editable fields, but it does not explicitly distinguish itself from sibling tools like create_google_calendar_event or move_google_calendar_event.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: modify an existing event and supply only changed fields. It also states an important when-not case: editing a whole recurring series is not supported. However, it does not explicitly point to alternatives for scenarios like moving an event or creating a new one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_google_sheet_rangeWrite cells to a rangeAInspect
Overwrite the cells in a range. Whatever is there is replaced without warning, so read the range first if you need to keep any of it. Values are interpreted as if typed unless valueInput is RAW.
| Name | Required | Description | Default |
|---|---|---|---|
| range | Yes | ||
| values | Yes | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| valueInput | No | ||
| spreadsheetId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly discloses that the operation replaces existing cell contents 'without warning' and warns to read first if data matters—important destructive behavior. It also explains how `valueInput` affects interpretation of values (as if typed vs RAW). It does not cover auth requirements or rate limits, but for a destructive write the core behavior is well disclosed. This is strong but not exhaustive, so 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the action, the destructive consequence warning, and the value interpretation rule. The most critical information (overwrite) is front-loaded. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with no annotations and no output schema, the description is incomplete. It omits the range address format, spreadsheet identification, values shape/sizing, and what happens if the range extends beyond data. The warning to read first is useful, but an agent still lacks enough to construct a correct call without guessing. The minimal viable information for safe invocation is not fully present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% (only `mailbox` has a description), so the description must compensate. It does explain `valueInput` semantics ('interpreted as if typed unless valueInput is RAW') and implies `values` are cell content. However, it doesn't explain the expected format for `range` (e.g., A1 notation or sheet name) or `spreadsheetId`, nor the dimensionality requirements of `values`. This leaves four of five parameters under-documented, but the one key ambiguity (`valueInput`) is addressed. Baseline is low coverage, so a 3 reflects partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Overwrite the cells in a range.' This clearly distinguishes the tool from sibling `append_google_sheet_rows` (append vs overwrite) and `clear_google_sheet_range` (clear vs write). The title 'Write cells to a range' reinforces the action. No ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context about destructive behavior and advises reading the range first if data must be preserved, which suggests a prerequisite use of `read_google_sheet_range`. However, it never explicitly says when to use this tool instead of `append_google_sheet_rows` or `clear_google_sheet_range`, nor does it mention any exclusions. Usage guidance is implied through the verb 'overwrite' but not stated as a decision rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_google_taskUpdate a Google taskBInspect
Change a task's title, notes, due date or status. Only the fields you pass are touched. Use clearDueDate to remove a due date — omitting dueDate leaves the existing one alone.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| title | No | ||
| listId | Yes | ||
| status | No | ||
| taskId | Yes | ||
| dueDate | No | ||
| mailbox | Yes | Email address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| clearDueDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses partial-update semantics and the clearDueDate behavior, but does not address permissions, return values, error conditions, or the effect of setting status to completed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences deliver the core purpose and the most nuanced behavior. Every sentence earns its place, and key semantics are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential update behavior and date-removal nuance, but with no output schema and no annotations, it leaves out return-value expectations and does not route the agent away from complete_google_task for the status-completed use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13%, and the description compensates by explaining title, notes, dueDate, status, and clearDueDate semantics. It does not explain listId/taskId identifiers, but those are fairly self-evident from names and the required-field context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation ('Change a task's title, notes, due date or status') and the resource (a Google task). It does not explicitly distinguish itself from the sibling complete_google_task, which overlaps in the ability to set status to completed, so it misses full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus complete_google_task or other task-related tools. The 'Only the fields you pass are touched' note explains behavior but not selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_outlook_calendar_eventUpdate an Outlook Calendar eventAInspect
Change an event's title, times, description, location or guest list. Supply only the fields to change. Changing an event that has guests emails them an update, which Outlook sends unconditionally. Editing a whole recurring series is not supported. Passing attendees REPLACES the guest list — include everyone who should stay on the event, or they are uninvited.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | ||
| start | No | ||
| title | No | ||
| eventId | Yes | ||
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| location | No | ||
| timeZone | No | ||
| attendees | No | The complete guest list after the change. Replaces what is there — omitting someone uninvites them and emails them a cancellation | |
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does it well: it discloses that guest updates are sent unconditionally, that replacing attendees uninvites omitted people with cancellation emails, and that whole-series edits are unsupported. These are exactly the side effects an agent needs to anticipate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each earning its place: main action, partial-update instruction, guest notification warning, series limitation, and attendee replacement warning. There is no fluff or repetition of schema-provided details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with no annotations and no output schema, the description covers the essential operational behavior: partial updates, guest emails, attendee replacement, and an explicit unsupported case. The remaining gaps are minor, such as how timeZone interacts with start/end and what the response contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22%, so the description must compensate. It maps most parameters to plain-language fields (title, times, description, location, guest list) and adds critical meaning around attendees replacement. It still leaves the timeZone parameter's role and any date-time format expectations to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Change') and explicitly identifies the resource ('an event's title, times, description, location or guest list'). This makes the tool's scope obvious and distinguishes it from create/delete/list sibling tools without needing to inspect them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly instructs to supply only fields being changed, which is the key partial-update usage rule. It also states when not to use the tool ('Editing a whole recurring series is not supported'), though it does not name an alternative sibling for series edits or for moves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_outlook_taskUpdate To Do taskAInspect
Change a task's title, due date, importance, notes or status. Omitted fields are left alone; pass clearDueDate to remove a due date entirely.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| title | No | ||
| listId | Yes | ||
| status | No | ||
| taskId | Yes | ||
| dueDate | No | "YYYY-MM-DD" or a full datetime | |
| mailbox | Yes | Email address of the connected Outlook/Microsoft 365 mailbox to act on. Call list_authorized_mailboxes to see available options. | |
| timeZone | No | IANA timezone for dueDate | |
| importance | No | ||
| clearDueDate | No | Remove the due date |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry behavioral disclosure on its own. It does disclose two useful behaviors: omitted fields are not overwritten, and clearDueDate removes the due date entirely. Still, it does not mention permissions, validation, error behavior, or whether updates are reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. The most important behavioral detail, that omitted fields are preserved, is front-loaded, and the clearDueDate special case is stated directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter mutation tool with no annotations and no output schema, this is minimally sufficient: it identifies the editable fields and key update semantics. It is incomplete around required identifiers, timezone handling, possible status values, and what happens after a successful update, though some of that is visible in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, so the description should compensate for many undocumented parameters. It adds meaning by explaining partial-update semantics and the purpose of clearDueDate, but it does not clarify listId, taskId, timeZone, status, or importance beyond their raw names/schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('a task') and a concrete set of operations ('Change a task's title, due date, importance, notes or status'), so an agent knows exactly what the tool does. It is clear and distinct from create/delete tools, but it does not explicitly differentiate itself from the sibling complete_outlook_task or update_google_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The verb 'Change' and the phrase 'Omitted fields are left alone' imply this is for modifying an existing task, which gives some basic usage context. However, there is no explicit guidance about when to prefer this over complete_outlook_task, when not to use it, or what prerequisites apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_skillChange a skill for the whole workspaceAInspect
Save a new version of one of this workspace's skills, so every agent in the workspace follows the change from its next use. Call it when the person asks you to change how a skill works: send the slug, the full new body (the instructions only — not the SKILL.md front matter, the Inputs list or the Changing-this-skill section), and a one-line reason for the history. Description and inputs can be changed the same way. Every version is kept and an owner can restore any of them. Allowed only where list_skills shows access: edit; a skill that follows the Higgs Hub library becomes this workspace's own copy on its first change. The reply carries the new file — write it over your installed copy.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | The complete new instructions, Markdown, replacing the current body. | |
| slug | Yes | The skill's slug, as returned by list_skills. | |
| reason | Yes | One line for the version history: what changed and why, e.g. "ask for the job address at intake". | |
| arguments | No | The inputs the skill asks for, replacing the current list. | |
| description | No | A new one-paragraph description — what the skill does and when to use it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does so thoroughly: it discloses that the change applies to 'every agent in the workspace' from its next use, that 'every version is kept,' that an owner can restore versions, that editing may create a workspace-local copy, and that the reply contains the new file to write over the installed copy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not padded; every sentence contributes a distinct fact: action, trigger, payload composition, versioning, permission/copy behavior, and response handling. It is longer than average but that length is justified by the tool's complexity and the absence of annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with five parameters, no annotations, and no output schema, the description covers all aspects an agent needs: which parameters to send, what the body should exclude, the permission gate, the versioning model, the library-copy edge case, and how to handle the returned file. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful semantics beyond the schema: the body must be 'the instructions only — not the SKILL.md front matter, the Inputs list or the Changing-this-skill section,' the reason should be one line for history, and description/inputs can be changed the same way. It does not elaborate on the nested arguments object, but the schema already documents it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Save a new version of one of this workspace's skills.' It clearly identifies the update semantics and distinguishes the tool from read-only siblings like get_skill and list_skills by emphasizing the change and the workspace-wide effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit trigger: 'Call it when the person asks you to change how a skill works.' It also adds a permission precondition ('Allowed only where list_skills shows access: edit') and explains the library-copy behavior. It does not name an alternative tool or state exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspace_request_statusCheck a staged changeAInspect
What happened to a change you staged (invite_member, create_access_role, …): pending, approved (with the outcome), declined, expired, or failed (with the reason). Call it after the user says they have dealt with the approval link.
| Name | Required | Description | Default |
|---|---|---|---|
| requestId | Yes | The requestId the staging tool returned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It explains what information is returned (status, outcome, reason) and implies a read-only status lookup. It could be more explicit about side effects or authorization requirements, but the stated outcome set gives agents a solid model of tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence immediately explains what the tool does and the possible results; the second sentence gives the precise call timing. Every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter status-checking tool with no output schema, the description covers the essential context: what the request ID is, when to call it, and what statuses to expect. It could be more specific about the exact return structure, but the description is complete enough for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the single parameter requestId with 100% coverage, including the fact that it is the ID returned by the staging tool. The description adds no additional parameter semantics beyond repeating that idea, so the baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (a staged workspace change) and the action (checking its status), and it enumerates the possible statuses: pending, approved, declined, expired, or failed. This is specific enough to distinguish the tool from workspace mutation tools like invite_member or create_access_role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit trigger condition: 'Call it after the user says they have dealt with the approval link.' This provides clear timing guidance. It does not explicitly discuss exclusions or alternatives, but no sibling tool performs this status-checking function, so the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
12 tool updates
- Added
create_agentmail_draft - Changed
disconnect_mailbox2 fields changed- changed
Input schema / properties / provider / descriptionPrevious value: -"Only needed when the same address is connected under both providers."New value: +"Only needed when the same address is connected under more than one provider." - changed
Input schema / properties / provider / enumPrevious value: -[ - "google", - "microsoft" -]New value: +[ + "google", + "microsoft", + "agentmail" +]
- Added
get_agentmail_message - Added
get_agentmail_thread - Changed
list_messages2 fields changed- changed
Input schema / properties / search / descriptionPrevious value: -"Free-text search within the folder"New value: +"Search within the folder: plain keywords, from:/subject: etc., exact phrases in double quotes. Don't escape anything." - added
Input schema / properties / search / maxLengthAdded value: +500
- Added
read_agentmail_attachment - Added
search_agentmail_messages - Changed
search_outlook_messages1 field changed- added
Input schema / properties / query / maxLengthAdded value: +500
- Added
send_agentmail_message - Added
send_agentmail_reply - Changed
set_access_role_mailbox_access2 fields changed- changed
Input schema / properties / provider / descriptionPrevious value: -"Only needed when the same address is connected under both providers."New value: +"Only needed when the same address is connected under more than one provider." - changed
Input schema / properties / provider / enumPrevious value: -[ - "google", - "microsoft" -]New value: +[ + "google", + "microsoft", + "agentmail" +]
- Added
update_agentmail_labels
138 tool updates
- First observed
add_excel_sheet - First observed
add_google_sheet_tab - First observed
append_excel_rows - First observed
append_google_sheet_rows - First observed
apply_gmail_labels - First observed
assign_access_role - First observed
cancel_invitation - First observed
clear_excel_range - First observed
clear_google_sheet_range - First observed
complete_google_task - First observed
complete_outlook_task - First observed
create_access_role - First observed
create_excel_workbook - First observed
create_gdrive_folder - First observed
create_gmail_draft - First observed
create_gmail_filter - First observed
create_gmail_label - First observed
create_google_calendar - First observed
create_google_calendar_event - First observed
create_google_spreadsheet - First observed
create_google_task - First observed
create_google_task_list - First observed
create_inbox_rule - First observed
create_mail_folder - First observed
create_onedrive_folder - First observed
create_outlook_calendar - First observed
create_outlook_calendar_event - First observed
create_outlook_draft - First observed
create_outlook_task - First observed
create_outlook_task_list - First observed
delete_access_role - First observed
delete_gdrive_item - First observed
delete_gmail_filter - First observed
delete_gmail_label - First observed
delete_google_calendar - First observed
delete_google_calendar_event - First observed
delete_google_task - First observed
delete_google_task_list - First observed
delete_inbox_rule - First observed
delete_mail_folder - First observed
delete_onedrive_item - First observed
delete_outlook_calendar - First observed
delete_outlook_calendar_event - First observed
delete_outlook_task - First observed
delete_outlook_task_list - First observed
disconnect_mailbox - First observed
find_duplicate_gmail_labels - First observed
find_duplicate_mail_folders - First observed
find_google_calendar_busy_times - First observed
find_outlook_calendar_busy_times - First observed
get_excel_workbook - First observed
get_gmail_message - First observed
get_gmail_thread - First observed
get_google_calendar_event - First observed
get_google_spreadsheet - First observed
get_google_task - First observed
get_outlook_calendar_event - First observed
get_outlook_conversation - First observed
get_outlook_message - First observed
get_outlook_task - First observed
get_skill - First observed
invite_member - First observed
list_access_roles - First observed
list_authorized_mailboxes - First observed
list_excel_workbooks - First observed
list_gdrive_items - First observed
list_gdrive_permissions - First observed
list_gmail_filters - First observed
list_gmail_labels - First observed
list_google_calendar_events - First observed
list_google_calendars - First observed
list_google_spreadsheets - First observed
list_google_task_lists - First observed
list_google_tasks - First observed
list_inbox_rules - First observed
list_mail_folders - First observed
list_messages - First observed
list_onedrive_items - First observed
list_onedrive_permissions - First observed
list_outlook_calendar_events - First observed
list_outlook_calendars - First observed
list_outlook_task_lists - First observed
list_outlook_tasks - First observed
list_skills - First observed
list_workspace_members - First observed
list_workspaces - First observed
merge_duplicate_gmail_labels - First observed
merge_mail_folders - First observed
move_gdrive_item - First observed
move_google_calendar_event - First observed
move_messages - First observed
move_onedrive_item - First observed
move_outlook_calendar_event - First observed
pause_member - First observed
read_excel_range - First observed
read_gdrive_file - First observed
read_gmail_attachment - First observed
read_google_sheet_range - First observed
read_onedrive_file - First observed
read_outlook_attachment - First observed
remove_member - First observed
rename_access_role - First observed
rename_gdrive_item - First observed
rename_gmail_label - First observed
rename_google_calendar - First observed
rename_google_task_list - First observed
rename_mail_folder - First observed
rename_onedrive_item - First observed
rename_outlook_calendar - First observed
rename_outlook_task_list - First observed
save_gmail_attachment_to_drive - First observed
save_outlook_attachment_to_onedrive - First observed
search_gdrive_items - First observed
search_gmail_messages - First observed
search_google_calendar_events - First observed
search_onedrive_items - First observed
search_outlook_calendar_events - First observed
search_outlook_messages - First observed
send_gmail_message - First observed
send_gmail_reply - First observed
send_outlook_message - First observed
send_outlook_reply - First observed
set_access_role_capability - First observed
set_access_role_mailbox_access - First observed
set_access_role_skill_access - First observed
set_member_workspace_role - First observed
share_gdrive_item - First observed
share_onedrive_item - First observed
unshare_gdrive_item - First observed
unshare_onedrive_item - First observed
update_excel_range - First observed
update_google_calendar_event - First observed
update_google_sheet_range - First observed
update_google_task - First observed
update_outlook_calendar_event - First observed
update_outlook_task - First observed
update_skill - First observed
workspace_request_status
Publisher details
- Operator
- Higgs Hub · Publisher source
- Operator website
- https://higgshub.pro
- Vendor relationship
- First-party
- Documentation
- https://higgshub.pro/faq
- Trust center
- https://higgshub.pro/security
- Restrictions
- Requires a free Higgs Hub account. Users connect their own Google or Microsoft accounts via OAuth (no custom OAuth app needed). Free tier: 1 mailbox, 500 actions/month; paid plans from $19/month add mailboxes and actions. · Publisher source
Related MCP Connectors
Multiple Gmail accounts, editable Google Sheets & Docs for AI agents. Deny-by-default access rules.
AI agents for CRM, mail, calendar, ERP and accounting - you approve. EU-hosted, OAuth.
1Permissioned access to Gmail, Drive and Calendar via the user's own Google account
Email inboxes and calendars for AI agents: send, receive, search, draft and schedule.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to securely read, search, and send email across IMAP and Microsoft Graph accounts, with scoped tokens, approval flows, and an audit trail.1MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to securely manage Google Workspace services (Gmail, Calendar, Drive, Sheets, Contacts) with persistent multi-account OAuth. Uses OS keychain for credential storage with health monitoring and granular business rules for enterprise security.-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to access multiple Gmail/Google Workspace accounts for searching and reading mail, calendars, and attachments.-

agentinboxofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to read, search, draft, send and organize Gmail through scoped credentials, guardrails and signed webhooks or an event feed, with real-time notifications of new mail.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.