haus
Server Details
OneHaus household tools: tasks, calendar, contacts, pets, vehicles, documents and more.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 68 of 68 tools scored. Lowest: 2.9/5.
Each tool targets a distinct action and resource, with clear differentiation between similar actions like creating single vs recurring events or adding vs batch-adding shopping items. No two tools have overlapping purposes.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_task, list_tasks, defer_recommendation). The convention is uniform across all 68 tools.
68 tools is excessive for a household management server. While each domain is covered, the sheer number makes it hard for an agent to efficiently navigate and select the right tool, contradicting typical scope guidelines.
The tool surface covers CRUD for most entities (tasks, contacts, documents, vehicles, etc.) and includes specialized actions like completing tasks, buying items, and deferring recommendations. A minor gap is the lack of a direct 'accept recommendation' tool, but overall it's quite comprehensive.
Available Tools
68 toolsadd_shopping_list_itemAInspect
Add an item to the household's shopping list. A brand-new item gets a category auto-assigned from its name. If an unbought item with a matching name already exists, its quantity is merged into that item instead of creating a duplicate, keeping the existing item's category unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the item to add, e.g. 'Milk' or 'Paper towels'. Maximum 200 characters. For a brand-new item, a category is auto-assigned from the name. If an unbought item with a matching name is already on the list, its quantity is increased instead of creating a duplicate entry, and the existing item keeps its current category unchanged. | |
| quantity | No | How many of the item to add. Defaults to 1 if omitted. Minimum 1, maximum 9999. When merged into an existing unbought item, this is added to the existing quantity (capped at 9999). |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint: false, destructiveHint: false) are minimal, but description reveals key behaviors: auto-categorization of new items, merging with existing unbought items by name, and quantity capping. No contradictions with 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?
Two tightly focused sentences. The first states the core purpose; the second explains the key merge behavior. Every phrase adds value 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?
Given the simple tool (2 params, output schema present), the description covers all behavioral nuances: creation vs. merge, auto-category, quantity handling. No gaps remain.
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%, yet description adds value by explaining the auto-category assignment for the 'name' parameter and the additive quantity behavior for 'quantity'. This goes beyond 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?
Description clearly states the tool adds an item to a shopping list, distinguishing it from siblings like batch_add_shopping_list_items and remove_shopping_list_item. It specifies the scope ('household's shopping list') and the merge 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?
Description implies when to use (adding a single item) and mentions merging behavior that affects usage. While it doesn't explicitly list alternatives, the merge logic provides context for expected outcomes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_taskAInspect
Assign or unassign a task to a household member.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The task's ID, as returned by create_task or list_tasks. | |
| assignedToMemberId | No | The member ID of the household member. Get this from list_house_members. Pass null or empty string to unassign. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate mutation (readOnlyHint=false, destructiveHint=false). The description adds 'assign or unassign' which confirms mutation but doesn't disclose additional behavioral traits such as permission requirements or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no wasted words. It conveys the essential purpose efficiently.
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 tool with two well-documented parameters and an output schema, the description is complete enough. It covers the main action and the schema covers 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 100%, so the schema already explains both parameters. The description does not add meaning beyond what is in the schema. 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 states the verb (assign/unassign) and the resource (task) and the target (household member). It distinguishes this tool from siblings like create_task, delete_task, complete_task, etc.
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, nor does it mention prerequisites or exclusions. The agent is left to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_add_shopping_list_itemsBInspect
Add multiple items to the shopping list at once
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | List of items to add to the shopping list in a single call. Up to 25 items per call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is a write operation (readOnlyHint=false) but not destructive. The description does not disclose any additional behavioral traits such as atomicity, partial failure handling, or side effects beyond what the annotations 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 a single, front-loaded sentence with no extraneous words. It is concise, though it could be more informative without losing efficiency.
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 moderate complexity (1 parameter with nested objects) and the presence of a sibling tool, the description does not explain when batch addition is beneficial or how it differs from single-item addition. The output schema exists but the description still lacks needed context for correct tool selection.
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 parameter details including deduplication and merging. The description adds no extra parameter meaning beyond the schema, so 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 explicitly states the verb 'add' and the resource 'multiple items to the shopping list', and the word 'at once' distinguishes it from the single-item sibling tool 'add_shopping_list_item'. It is clear and 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?
No guidance is provided on when to use this tool versus the single-item alternative 'add_shopping_list_item', or on prerequisites or contextual hints. The description lacks any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buy_shopping_list_itemAInspect
Buy item (decrements quantity; removes at zero)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the shopping list item to buy, as returned by add_shopping_list_item, batch_add_shopping_list_items, or list_shopping_list_items. | |
| quantityToBuy | No | How many units to mark as bought. Defaults to 1. Minimum: 1, maximum 9999. If this meets or exceeds the item's remaining quantity, the item is fully bought and removed from the active list; otherwise its quantity is reduced by this amount. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses behavioral traits beyond annotations: it explains the decrement and removal mechanism. Annotations only state readOnlyHint=false and destructiveHint=false, while the description adds the concrete mutation behavior. No contradiction, and the description is accurate.
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?
Extremely concise: one sentence and a parenthetical. The key action 'Buy item' is front-loaded. Every word earns its place with 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?
Given the low complexity (2 params, output schema present, annotations present), the description covers core behavior. It mentions removal at zero, which is critical. Could add differentiation from siblings, but output schema handles return values. Reasonably 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%, so baseline is 3. The description adds no parameter-specific meaning beyond the schema; the parenthetical refers to overall effect, not 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 'Buy' and resource 'shopping list item' with clear effects: 'decrements quantity; removes at zero'. This distinguishes it from siblings like add_shopping_list_item (adds) and remove_shopping_list_item (direct removal).
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 explicit guidance on when to use this tool vs alternatives like remove_shopping_list_item. The description does not mention contexts, prerequisites, or when not to use it, leaving the agent without criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_taskAInspect
Marks a task as completed and records the completion for the household's momentum stats. Fails with a conflict if the task is already completed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The task's ID, as returned by create_task or list_tasks. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it is not read-only and not destructive. The description adds important behavioral context: it records completion for momentum stats and explicitly states the conflict failure mode for idempotency. This goes beyond what annotations provide.
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 unnecessary words. Each sentence provides essential information: what the tool does and its failure condition.
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 an output schema (not shown but indicated), so return values are covered. The description covers purpose, effect, and failure case. For a simple idempotent update tool, this is 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%, and the schema already describes the 'id' parameter well. The description adds no additional meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Marks') and resource ('task'), and clearly states the side effect ('records the completion for the household's momentum stats'). It distinguishes from siblings like 'uncomplete_task' that do the opposite.
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 states it fails with a conflict if already completed, implying when not to use (if already completed). However, it does not explicitly list alternatives or when to use over other tools, but the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_applianceAInspect
Create an appliance record for the household, tracking purchase date, warranty expiry, and optional references to previously created warranty/insurance documents.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the appliance, e.g. what it is or where it's located. | |
| brand | No | Manufacturer or brand name. | |
| model | No | Model name or number, as printed on the appliance or its manual. | |
| notes | No | Freeform notes about the appliance. | |
| purchaseDate | No | Date the appliance was purchased, in YYYY-MM-DD format. | |
| serialNumber | No | Manufacturer serial number, used when contacting support or filing a warranty claim. | |
| warrantyDocumentId | No | ID of a previously created document containing the warranty paperwork. | |
| warrantyExpiryDate | No | Date the manufacturer warranty expires, in YYYY-MM-DD format. Must not be before purchaseDate. | |
| insuranceDocumentId | No | ID of a previously created document containing the insurance policy. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false (mutation) and destructiveHint=false (non-destructive). Description adds context that it creates a record and can link to existing documents, which is beyond annotations. No contradiction.
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?
Single sentence that efficiently conveys the tool's purpose, with no unnecessary words. Front-loaded with the primary 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?
Given 9 parameters and 1 required, the description covers the main aspects. Output schema exists, so return values need not be described. However, it does not mention that referenced document IDs must already exist, which is a slight 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?
Input schema has 100% description coverage for all 9 parameters, so the description only repeats a few field names without adding new meaning. 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?
Description clearly states the verb 'Create', the resource 'appliance record', and scope 'for the household, tracking purchase date, warranty expiry, and optional references to documents'. This distinguishes it from other create tools like create_document or create_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 implies usage for tracking household appliances with warranty and insurance documents, but does not explicitly state when to use this tool over siblings or when not to use it. No alternatives are listed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_calendar_eventAInspect
Creates a single, one-off calendar event on the household calendar. For a repeating schedule use create_recurring_calendar_event instead.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Freeform notes attached to the event. Up to 5000 characters. | |
| title | Yes | Event title/summary shown in calendar views. Required, up to 200 characters. | |
| isAllDay | Yes | True for an all-day event with no specific start/end time; false for a timed event. | |
| location | No | Location. Set $type to 'Address' for physical (with line1-3, postalCode, countryCode) or 'OnlineLocation' for virtual (with url, notes). | |
| timezone | No | IANA timezone id (e.g. 'Europe/London') describing the wall-clock zone of startDateTime/endDateTime; null = UTC. | |
| description | No | Longer free-text description of the event. Up to 2000 characters. | |
| endDateTime | No | ISO 8601 date-time in UTC (Z-suffix). Must not be before startDateTime. | |
| startDateTime | Yes | ISO 8601 date-time in UTC (Z-suffix). The wall clock is interpreted against the supplied timezone if any. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's a write operation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds the 'one-off' behavioral constraint but does not disclose other traits like potential effects or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The purpose is front-loaded and the alternative is stated immediately.
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 high schema coverage, presence of output schema, and annotations, the description is complete. It adequately differentiates from the recurring sibling.
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 input schema fully describes all parameters. The description does not add any parameter-level details beyond what the schema 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 it creates a single, one-off calendar event on the household calendar. It uses a specific verb and resource and distinguishes from the sibling create_recurring_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?
Explicitly tells the agent to use create_recurring_calendar_event for repeating schedules, providing clear when-to-use guidance and an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_contactAInspect
Create a contact in the household's address book. Only firstName is required; all other details (address, date of birth, notes, a flag to prepare a birthday present) are optional and can be filled in later with update_contact.
| Name | Required | Description | Default |
|---|---|---|---|
| No | The contact's email address. | ||
| notes | No | Free-text notes about the contact. | |
| phone | No | The contact's phone number, in any format. | |
| address | No | The contact's postal address. | |
| lastName | No | The contact's last (family) name. | |
| firstName | Yes | The contact's first name. The only required field. | |
| dateOfBirth | No | YYYY-MM-DD format | |
| displayName | No | An alternate name to show for the contact instead of first/last, e.g. a nickname, company name, or role. | |
| prepareBirthdayPresent | No | Whether to prepare a birthday present for this contact |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a mutation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds that it operates on the household's address book. No contradictions. Could mention return behavior but output schema handles that.
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. First sentence states the core action; second provides key constraints and guidance. Perfectly 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 tool with 9 parameters, nested objects, and an output schema, the description covers the essential purpose, required fields, and upgrade path. Could be slightly more specific about return values, but the output schema compensates. Sibling tools are many but the description sufficiently differentiates.
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 explicitly stating that only firstName is required and listing optional fields, plus mentioning update_contact for subsequent edits. This clarifies usage 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?
Clearly states 'Create a contact in the household's address book' with a specific verb (create) and resource (contact). Distinguishes from update_contact by mentioning optional fields can be filled later.
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 says when to use (create a contact), what is required (firstName), and points to update_contact for later edits. Missing explicit when-not-to-use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_documentAInspect
Create a document (passport, insurance, certificate, warranty, license, other)
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | The cost associated with the document, e.g. a renewal or issuance fee. | |
| notes | No | Free-text notes about the document. | |
| title | No | A custom title for the document. If omitted, one is derived from the document type and number, e.g. 'Passport - 512345678'. | |
| documentType | Yes | The kind of document being stored. | |
| documentNumber | No | The document's reference or serial number, e.g. a passport number or insurance policy number. | |
| issuingAuthority | No | The organization or authority that issued the document. | |
| renewalCronExpression | No | Reserved for a future renewal-reminder schedule. Currently accepted but not persisted or acted on by document creation — has no effect yet. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only and not destructive, which aligns with 'Create'. The description adds no further behavioral details such as authentication requirements, side effects, or default behaviors.
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 that front-loads the verb and resource, 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?
The description is sparse given the tool's complexity (7 params, nested objects, output schema). While the schema covers parameters, the description omits any mention of what the tool returns or the overall purpose beyond creating a document. It is minimally adequate.
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?
Input schema has 100% description coverage, so the schema documents parameters adequately. The tool description adds no extra parameter context, which is acceptable given the schema's completeness.
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') and the resource ('document'), and enumerates valid document types. This distinguishes it from sibling tools like list_documents, update_document, and delete_document.
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 provide any guidance on when to use this tool vs. alternatives (e.g., list_documents for viewing, update_document for modifying). No context about prerequisites or exclusions is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_meal_planAInspect
Plan a meal for a specific date and meal type. Provide recipeId to link an existing recipe (from list_recipes) OR name for a custom meal; when recipeId is given any name is ignored and stored as null.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date of the planned meal (format: YYYY-MM-DD). Must be from today up to four weeks ahead. | |
| name | No | Custom meal name when no recipe is linked | |
| notes | No | Optional free-text notes about the planned meal | |
| mealType | Yes | Which meal slot of the day this entry occupies | |
| recipeId | No | ID of an existing recipe (from list_recipes or list_global_recipes) | |
| servings | No | Number of servings for the planned meal. Between 1 and 100 | |
| recipeSource | No | Set 'global' when recipeId refers to a Discover/global recipe (from list_global_recipes); defaults to 'household' |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations confirm this is a non-destructive mutation. The description adds the behavioral detail that name is ignored and stored as null when recipeId is provided. It does not cover authorization, rate limits, or potential duplicates.
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, front-loaded with the purpose, and contains no extraneous information. 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?
With 7 parameters and an output schema, the description covers the core logic effectively. It omits details like error handling or uniqueness constraints, but schema descriptions cover date range and other constraints.
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%, providing a baseline of 3. The description adds meaningful context beyond schema descriptions, such as the override behavior of recipeId over name and the default for recipeSource. This clarifies parameter interactions.
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 ('Plan a meal for a specific date and meal type') and distinguishes between linking a recipe or using a custom name. It is specific and actionable, setting it apart from sibling tools like create_recipe.
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 guidance on when to use recipeId vs name, and explains the precedence (recipeId overrides name). It implicitly differentiates from update_meal_plan (update vs create) but could explicitly state when to use update instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_petCInspect
Create a pet. Supports microchip, vet contact, and insurance refs.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The pet's name. | |
| notes | No | Freeform notes about the pet, e.g. dietary needs or medical history. | |
| dateOfBirth | No | The pet's date of birth, in YYYY-MM-DD format. | |
| vetContactId | No | ID of a previously created contact for the pet's vet. | |
| microchipNumber | No | Microchip identification number, used to reunite a lost pet with its household. | |
| insuranceDocumentId | No | ID of a previously created document containing the pet's insurance policy. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, implying a safe write operation. The description 'Create a pet' matches this but adds no further behavioral context (e.g., required permissions, effects on related entities, or uniqueness constraints).
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 at two sentences, with no redundant information. Every word contributes to the core 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?
Despite an output schema existing, the description fails to explain return values or dependencies (e.g., vetContactId must reference an existing contact). Given 6 parameters and a rich schema, the description leaves significant gaps for an agent to navigate.
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 each parameter. The description mentions 'microchip, vet contact, and insurance refs', which aligns with parameters but adds minimal insight beyond the schema's 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 verb 'Create' and the resource 'pet', making the purpose unambiguous. However, it does not explicitly differentiate this tool from other create tools in the sibling list (e.g., create_task, create_contact), though the resource is distinct.
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 create_pet versus alternatives like update_pet or delete_pet. The description lacks context such as prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_recipeAInspect
Create a new recipe in the household's recipe collection, with optional ingredients, source URL, instructions and serving size. Link it to a date with create_meal_plan, or browse it later with list_recipes.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional source URL the recipe was found at (e.g. a link to a blog or recipe site) | |
| name | Yes | Recipe name/title | |
| servings | No | Number of servings the recipe yields. Minimum: 1 | |
| ingredients | No | Optional list of ingredients required for the recipe | |
| instructions | No | Optional free-text cooking instructions/method |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only, non-destructive write operation. The description confirms 'Create a new recipe' and mentions optional fields, which is consistent. No additional behavioral traits (e.g., permissions) are disclosed, but the description is adequate given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, efficient and front-loaded. The first sentence conveys the core purpose and parameters; the second provides useful context about related tools. 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?
Given the tool's simplicity (5 parameters, 1 required, no nested objects, output schema present), the description covers purpose, optionality, and related workflow. It does not detail return values (covered by output schema) or edge cases, but is sufficiently complete for a create 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?
The input schema has 100% coverage with descriptions for all parameters. The description rephrases the optional fields ('ingredients, source URL, instructions and serving size') but adds no new semantic meaning beyond the schema. 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 clearly states the verb 'Create' and the resource 'recipe' within the household collection. It lists optional parameters and distinguishes the tool by mentioning related tools for linking to dates and browsing.
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 for when to use this tool versus alternatives (create_meal_plan for linking to a date, list_recipes for browsing). However, it does not explicitly 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.
create_recurring_calendar_eventAInspect
Create a recurring calendar event that automatically generates event instances on a schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Freeform notes applied to every generated instance. Up to 5000 characters. | |
| title | Yes | Event title/summary applied to every generated instance. Required, up to 200 characters. | |
| endDate | No | Last date on which instances may occur, YYYY-MM-DD format. Omit for no end date (bounded only by maxOccurrences, if set). | |
| duration | No | Length of each instance, in ISO 8601 duration format. | |
| isAllDay | No | True if generated instances are all-day events with no specific start/end time; false for timed instances. | |
| location | No | Location applied to every generated instance. Set $type to 'Address' for physical (with line1-3, postalCode, countryCode) or 'OnlineLocation' for virtual (with url, notes). | |
| timezone | No | IANA timezone id (e.g. 'Europe/London') that startTime is in. Each generated occurrence's UTC instant respects this zone's DST. | |
| startDate | No | Anchor date the recurrence is calculated from, YYYY-MM-DD format. The first instance falls on this date (subject to startTime/timezone); later instances are startDate plus multiples of the cronExpression interval. | |
| startTime | No | Time of day each instance starts, in HH:mm:ss format (local to timezone). Omit for an event with no fixed time. | |
| description | No | Longer free-text description applied to every generated instance. Up to 2000 characters. | |
| cronExpression | Yes | Recurrence interval, NOT a cron expression despite the field name. Format is 'N Unit' where N is a positive integer and Unit is one of Day, Week, Month, Year (case-sensitive), e.g. '1 Day', '2 Week', '1 Month', '1 Year'. Instances recur every N of the given unit starting from startDate. | |
| maxOccurrences | No | Maximum number of instances to generate before recurrence stops. Omit for unlimited (bounded only by endDate, if set). |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it mutates (readOnlyHint=false) and is not destructive. The description adds the detail that it generates multiple instances on a schedule, which goes beyond annotations. However, it does not clarify effects on past instances if updated/deleted, or other behavioral nuances.
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 of 14 words, front-loading the core purpose. No wasted words, but could include slightly more context without harming conciseness.
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?
Output schema exists, so return values are not needed. The description covers the essential concept given the detailed parameter schema. Minor gap: could explicitly note that it creates a recurring event, but it's implied.
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?
Input schema has 100% description coverage for all parameters. The description does not add additional parameter meaning beyond what the schema provides. Per rule, 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 ('Create') and resource ('recurring calendar event') and clearly states the key behavior: 'automatically generates event instances on a schedule'. This distinguishes it from sibling tools like create_calendar_event (non-recurring) and create_recurring_task (different 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?
No explicit guidance on when to use this tool versus alternatives (e.g., create_calendar_event vs. this). Does not mention prerequisites, limitations, or conditions. The agent must infer from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_recurring_taskAInspect
Create a recurring task that automatically generates task instances on a schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Freeform notes copied to every generated task instance. | |
| title | Yes | The recurring task's title. Used as the title for every generated task instance. | |
| endDate | No | The last date instances are generated through (inclusive), in YYYY-MM-DD format. Omit for an open-ended schedule. | |
| startDate | No | The date the schedule starts generating instances from, in YYYY-MM-DD format. Defaults to today if omitted. | |
| cronExpression | Yes | Recurrence frequency expression in the format 'N Unit', e.g. '2 Week' for every two weeks. Unit must be exactly Day, Week, Month, or Year (case-sensitive). Despite the parameter name, this is not cron syntax. | |
| maxOccurrences | No | Maximum number of task instances to generate in total. Generation stops once this many instances have been created, even if endDate has not been reached. | |
| preparationDays | No | Number of days before each occurrence's due date to set that instance's preparation date. Clamped to today if the computed date would be in the past. | |
| assigneeRotation | No | Ordered list of household member IDs to round-robin through, one per generated instance. Entries that are no longer valid house members are skipped and that instance is left unassigned. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false) indicate it is a creation tool. The description adds that it generates instances on a schedule, which is key behavioral context. However, it does not disclose side effects like immediate generation of instances or the exact timing behavior. With minimal annotation support, the description is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that efficiently communicates the core purpose and behavior. No redundant or extraneous 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's 8 parameters and the presence of an output schema, the description captures the essential behavior (generating instances on a schedule). It lacks details about the recurrence format or generation logic, but for a creation tool this is sufficient. Leaves room for improvement but is largely 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%, so each parameter is already well-documented in the schema. The description does not add new parameter-level information beyond what the schema provides. 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 clearly states the action ('Create') and the resource ('recurring task'), and explains the key behavior ('automatically generates task instances on a schedule'). This distinguishes it from sibling tools like create_task (single task) and create_recurring_calendar_event (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 provides no guidance on when to use this tool versus alternatives (e.g., create_task for one-off tasks, create_recurring_calendar_event for events). It lacks explicit when-to-use or when-not-to-use instructions, which is a gap given the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subscriptionBInspect
Create a subscription for the household to track a recurring cost, such as a streaming service or membership. Accepts an optional cron-based renewal schedule (must not repeat more frequently than once a day) and a fee amount.
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | The recurring charge for this subscription. | |
| name | Yes | Display name of the subscription, e.g. 'Netflix' or 'Gym membership'. | |
| notes | No | Free-text notes about the subscription. | |
| status | Yes | Lifecycle status of the subscription at creation time. | |
| remindMe | No | Whether to send renewal reminders for this subscription | |
| renewalCronExpression | No | Cron expression describing how often the subscription renews. Must not repeat more frequently than once a day. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint false, destructiveHint false). The description adds the cron frequency constraint (not more than once daily), which is a behavioral restriction. However, it does not disclose side effects like idempotency, duplicate prevention, or notification triggers. The description adds some value 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?
Two clear, front-loaded sentences with no unnecessary information. The first sentence states the core purpose, the second adds optional parameters and constraints. 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?
With 6 parameters, nested objects, and an output schema, the description is brief. It covers the basic purpose and constraints but omits context like prerequisites (e.g., household existence), error conditions, or what the output contains. The output schema partially compensates, but the description could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter described in the input schema. The description mentions fee and renewal schedule but adds no new semantics beyond the schema (e.g., the cron constraint is duplicated). Baseline 3 is appropriate as the description does not enhance understanding 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 creates a subscription to track recurring costs, with examples like streaming services. It distinguishes from other creation tools by focusing on recurring costs, though it does not explicitly differentiate from create_recurring_calendar_event or create_recurring_task. The purpose is specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The sibling tools include many create_* tools, but the description offers no boundaries or advice (e.g., when to use create_subscription vs. create_recurring_calendar_event). Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskAInspect
Creates a new household task. Only title is required; the task starts unassigned and uncompleted. Use assign_task, update_task, or complete_task to change it afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Freeform notes about the task. Not for assignment info. | |
| title | Yes | The task's title, e.g. 'Take out the recycling'. Required; max 200 characters. | |
| dueDate | No | The date the task is due, in YYYY-MM-DD format. | |
| preparationDate | No | The date to start preparing for the task, in YYYY-MM-DD format. Must be on or before the due date if both are set. | |
| assignedToMemberId | No | The member ID of the household member. Get this from list_house_members. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). Description adds that task starts unassigned and uncompleted, and explicitly suggests using other tools for changes, which is 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?
Three concise sentences front-loaded with the core action. Every sentence adds value 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?
Given the existence of an output schema, the description need not detail returns. It sufficiently covers the purpose, initial state, and workflow. Minor gap: no mention of validation or constraints beyond max title length.
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. Description adds that only title is required, but doesn't provide additional semantic detail beyond what the schema already offers.
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?
Clear verb ('creates') and resource ('household task'). States initial state (unassigned, uncompleted) and distinguishes from sibling tools by naming assign_task, update_task, complete_task for subsequent changes.
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 states that only title is required, and redirects to siblings for modifications. Could be improved by mentioning when not to use or prerequisites, but provides solid guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_vehicleAInspect
Create a vehicle record for the household to track its details, registration and VIN, insurance document, and upcoming MOT/tax/service due dates. All fields are optional.
| Name | Required | Description | Default |
|---|---|---|---|
| vin | No | Vehicle Identification Number: a 17-character alphanumeric code unique to the vehicle. | |
| make | No | Manufacturer of the vehicle, e.g. 'Toyota'. | |
| year | No | Model year of the vehicle. Must be between 1900 and 2100. | |
| model | No | Model name of the vehicle, e.g. 'Corolla'. | |
| notes | No | Free-text notes about the vehicle. | |
| colour | No | Colour of the vehicle. | |
| motDueDate | No | Date the next MOT (roadworthiness test) is due, in YYYY-MM-DD format. | |
| taxDueDate | No | Date the vehicle's road tax is next due, in YYYY-MM-DD format. | |
| registration | No | The vehicle's registration/licence plate as shown on the plate. Free-text; format varies by country. | |
| serviceDueDate | No | Date the vehicle's next scheduled service is due, in YYYY-MM-DD format. | |
| insuranceDocumentId | No | Document ID of insurance policy |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's a non-destructive write operation. The description adds context about what the record tracks (registration, VIN, insurance, due dates) but does not elaborate on side effects, permissions, or post-creation behavior. No contradictions with 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?
Single sentence that is front-loaded with the action and lists the tracked items. No wasted words; every part of the description 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?
Given the tool's complexity (11 optional fields) and the presence of an output schema, the description is reasonably complete. It covers the purpose and what is tracked, though it could briefly mention that the record is associated with the household. Overall adequate.
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 detailed descriptions for all 11 parameters. The description does not add meaning beyond what the schema provides, except for reiterating that all fields are optional, which is already implied by an empty required array. 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 clearly states the tool creates a vehicle record and lists the types of details tracked. It effectively distinguishes from sibling tools like create_appliance or create_pet by specifying 'vehicle record for the household'.
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 (creating a vehicle record) but does not give explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like update_vehicle for modifications. Sibling tools include create_* and update_vehicle, so some exclusion would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defer_recommendationAInspect
Add Later: defer a House Review recommendation and create a 7-day task
| Name | Required | Description | Default |
|---|---|---|---|
| recommendationId | Yes | Id of a pending recommendation, taken from the id field of an item returned by get_house_review. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read, non-destructive mutation, and the description adds that it creates a task, but does not explain what happens to the recommendation (e.g., status change) or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a label 'Add Later' and a single sentence that front-loads the action, with no unnecessary 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 tool with one parameter and an output schema, the description covers the key outcome (creates a task) and is fairly complete, though it could mention the effect on the recommendation itself.
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 describes the single parameter clearly with an example and source. The description adds no new parameter information, so baseline 3 is appropriate given 100% 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 the verb (defer) and the resource (House Review recommendation), and distinguishes from sibling 'skip_recommendation' by mentioning the creation of a 7-day 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 implies deferring is for later action, but provides no explicit guidance on when to use it versus alternatives like skipping or completing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_applianceADestructiveInspect
Soft-delete an appliance; it is hidden from list_appliances but not permanently erased.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the appliance to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds the important behavioral detail 'soft-delete' and clarifies that the appliance is hidden but not erased, which goes beyond the annotation flags. This adds valuable context about the actual effect.
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 immediately conveys the core action ('soft-delete') and the key behavioral nuance. It is front-loaded with the verb and object, and every word adds value. No fluff 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?
Given the tool's simplicity: one required parameter, no nested objects, and an output schema (not shown but exists), the description sufficiently covers the purpose and effect. It could mention the return value or operation outcome, but that is likely covered by the output schema. Overall, it is adequate.
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 parameter 'id' is described in the schema as 'ID of the appliance to delete.' The description does not add any additional semantics or constraints. Since schema coverage is 100%, baseline is 3; the description provides no extra value here.
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 'soft-delete' and specifies the target object 'appliance'. It distinguishes this from a hard delete by explaining the effect: hidden from list_appliances but not permanently erased. This is specific and differentiates from other delete actions among 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 implies the tool is for non-permanent removal, but it does not explicitly state when to use it versus other delete tools (e.g., hard delete if available). No when-not-to-use or alternative guidance is provided. The context of siblings is not leveraged.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_calendar_eventADestructiveInspect
Soft-deletes a single calendar event by id. Events imported from a calendar subscription cannot be deleted here; unsubscribe from the source calendar instead.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id of the calendar event to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true; description adds value by clarifying the operation is a soft-delete and noting the limitation on subscription events, which is beyond what annotations provide.
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 wasted words, front-loaded with the core 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 an output schema present and only one parameter, the description and annotations fully cover the tool's behavior, including exceptions.
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 description does not add significant meaning beyond the schema's description of the 'id' parameter. 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 specifies a clear verb ('soft-deletes') and resource ('calendar event by id'), distinguishing it from sibling tools like delete_recurring_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?
Explicitly states when not to use the tool (subscription events) and provides an alternative ('unsubscribe from the source calendar instead').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_contactADestructiveInspect
Soft-delete a contact by id; it is marked deleted and no longer appears in list_contacts, but the underlying record is retained rather than permanently erased.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The id of the contact to delete, as returned by create_contact or list_contacts. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description explains the soft-delete behavior: the contact is marked deleted, no longer appears in list_contacts, but the record is retained. This adds useful context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action and then explains the effect with zero 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 one-parameter tool with an output schema, the description fully covers what the tool does, the effect on the contact, and how it impacts list_contacts. No additional information 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?
The schema already provides 100% coverage for the single 'id' parameter with a clear description. The tool description does not add new parameter-level semantics beyond stating 'by id'.
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 'Soft-delete a contact by id' with a specific verb and resource, and distinguishes itself from other delete tools by explaining it is a soft-delete that retains the record.
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 for removing a contact from view while retaining the record, but does not explicitly state when to use this tool versus alternatives or provide any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_documentADestructiveInspect
Soft-delete a document by id and cascade soft-delete its attachments; none of them appear in listings afterward, but the records are retained rather than permanently erased.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The id of the document to delete, as returned by create_document or list_documents. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds crucial context beyond annotations: soft-deletion (records retained), cascade to attachments, and invisibility in listings. Annotations already signal destructiveness (destructiveHint=true), but the description clarifies the non-permanent nature, 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?
Single sentence efficiently conveys action, scope, and consequences. No redundant words; front-loaded with the key verb and resource.
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?
Covers core behavior and soft-delete specifics. Output schema exists, so return format is not required. Lacks details on error handling or prerequisites, but acceptable for a tool with clear annotations and one parameter.
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 does not add meaning beyond schema for 'id' parameter; schema already explains its origin. No additional semantics provided.
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?
Description explicitly states 'soft-delete' (verb) for 'document' (resource) with cascade to attachments, clearly distinguishing it from permanent deletion. It specifies the effect on listings and record retention, 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?
No guidance on when to use this tool versus other delete tools (e.g., delete_appliance, delete_task). The description implies usage for soft-deleting a document but does not exclude cases or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_meal_planADestructiveInspect
Remove a planned meal from the household's meal plan. This is a soft delete: the entry stops appearing in list_meal_plans and its date/meal-type slot becomes free again.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the meal plan entry to delete (from list_meal_plans) |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, but the description discloses additional behavioral details: it is a soft delete, the entry disappears from list_meal_plans, and the date/meal-type slot becomes free again. No contradiction with 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?
Two sentences with no redundancy. First sentence provides the core action and resource, second sentence explains key behavioral details. 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 deletion tool with one required parameter and an output schema, the description fully covers the effect (soft delete, slot freed) and the relationship to list_meal_plans. No gaps remain.
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 parameter's description in the schema is 'ID of the meal plan entry to delete (from list_meal_plans)', which is clear. The tool description does not add further semantic guidance, so baseline score 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 clearly states the verb 'Remove', the resource 'planned meal from household meal plan', and specifies it is a soft delete, distinguishing it from a hard delete. It also explains the consequence: the entry stops appearing and the slot frees up.
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 (when you need to remove a planned meal and free up the slot), but does not explicitly state when not to use or provide alternatives among sibling tools like update_meal_plan or create_meal_plan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_petADestructiveInspect
Soft-delete a pet; it is hidden from list_pets but not permanently erased.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the pet to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as destructive (destructiveHint=true). The description adds valuable context by specifying it is a soft-delete: the pet is hidden but not erased. This extends beyond the annotation without contradiction.
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 and to the point, 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 output schema exists (though not detailed) and the tool has one parameter, the description sufficiently explains the effect and scope. It could mention return values or error cases, but is adequate.
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 the 'id' parameter already described. The description adds no additional parameter information, 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 clearly states 'Soft-delete a pet', using a specific verb and resource. It distinguishes this operation from a hard delete by noting it hides the pet from list_pets but does not permanently erase it, differentiating it from other delete_* 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 does not provide explicit guidance on when to use this tool versus alternatives. It implies soft-delete is intended for temporary hiding, but no when-not-to-use or alternatives (e.g., hard delete) are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_recipeADestructiveInspect
Delete a recipe from the household's collection. This is a soft delete; any meal plan entries still linked to this recipe are automatically converted into custom entries that keep a snapshot of its name, ingredients and instructions, so they aren't left with a dangling recipe link.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the recipe to delete (from list_recipes) |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant value beyond annotations (readOnlyHint=false, destructiveHint=true) by explaining that it is a soft delete and that linked meal plan entries are converted to custom entries with a snapshot. This context prevents confusion about data loss.
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 (two sentences) and well-structured. It front-loads the primary action and then provides essential behavioral context without unnecessary 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's simplicity (one parameter, no nested objects) and the presence of an output schema, the description fully covers the necessary context, including the soft delete behavior and impact on meal plans.
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 provides 100% coverage for the single parameter 'id' with a clear description. The tool description does not add new semantic information about the parameter 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 action ('Delete a recipe') and the target resource ('from the household's collection'). It effectively distinguishes from siblings like create_recipe and update_recipe.
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 for use (deleting a recipe) and explains the soft delete behavior with meal plan entries. It does not explicitly state when not to use it, but the purpose is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_recurring_calendar_eventADestructiveInspect
Delete a recurring calendar event and all its future instances.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id of the recurring calendar event (template) to delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint: true and readOnlyHint: false. The description adds that it deletes future instances, but does not clarify whether past instances are retained or other 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?
Single sentence, no unnecessary words, front-loaded with the key 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 the presence of annotations and output schema, the description is complete enough to convey the essential behavior. It could benefit from mentioning irreversibility, but the destructive annotation covers that.
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 provides a description for the 'id' parameter, so the description adds limited additional meaning beyond the schema. With 100% schema coverage, a 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 states the tool's action ('Delete') and resource ('recurring calendar event'), and specifies that it deletes all future instances, distinguishing it from the sibling tool delete_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 implies usage for recurring events but does not explicitly state when to use this tool over alternatives (e.g., delete_calendar_event) or provide any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_recurring_taskADestructiveInspect
Delete a recurring task and all its uncompleted future instances.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The recurring task's ID, as returned by create_recurring_task or list_recurring_tasks. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, it discloses that uncompleted future instances are also deleted, providing clear behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence, front-loading the key information with no unnecessary 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 one-parameter tool with an output schema, the description covers the essential behavior and parameter context completely.
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%. The description adds value by specifying that the ID comes from create_recurring_task or list_recurring_tasks, aiding correct parameter selection.
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 (recurring task), and distinguishes from a regular task by specifying 'all its uncompleted future instances'.
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 (delete recurring tasks with future instances) but does not explicitly mention alternatives like delete_task for single instances.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_subscriptionCDestructiveInspect
Soft-delete a subscription
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the subscription to soft-delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The term 'soft-delete' adds some behavioral context, but it is not elaborated (e.g., reversibility, visibility). Annotations already indicate destructiveHint=true and readOnlyHint=false, which are consistent but not enhanced by the description.
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 (3 words) and front-loaded. While efficient, it could be slightly more informative without losing conciseness.
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 low complexity (1 param, output schema exists), the description is adequate but does not fully explain what 'soft-delete' means or any side effects. It is minimally 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 100%, and the parameter 'id' is described in the schema. The description adds no additional meaning beyond the schema's 'ID of the subscription to soft-delete.'
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 'Soft-delete a subscription' clearly indicates the action (soft-delete) and the resource (subscription). It distinguishes from other delete tools by specifying the resource, though it does not explicitly differentiate from similar soft-delete 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 use this tool versus alternatives (e.g., delete_subscription vs. update_subscription or other delete tools). No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_taskADestructiveInspect
Soft-deletes a task: it stops appearing in list_tasks but the record is retained rather than permanently removed. Fails if the task was already deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The task's ID, as returned by create_task or list_tasks. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=true and readOnlyHint=false. The description adds context by specifying it is a soft-delete, not permanent, and that the record is retained. It also notes the failure condition for already-deleted tasks, which exceeds annotation info.
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, front-loaded with the core action (soft-deletes), and every word adds value. 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?
Given only one parameter, 100% schema coverage, presence of an output schema, and clear behavioral notes, the description is complete. The agent has all needed information 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 single required parameter 'id' has a description that specifies it is the task's ID from create_task or list_tasks. This adds meaning beyond the schema's type and examples, ensuring the agent knows how to obtain the correct ID.
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 soft-deletes a task, distinguishes from permanent deletion by noting the record is retained, and mentions it stops appearing in list_tasks. This provides a specific verb and resource with clear 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 implies when to use (when soft-deleting is desired) and explicitly warns that it fails if the task is already deleted. However, it does not explicitly contrast with alternative tools like complete_task or hard deletion, but given no other task deletion tool exists, this is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_vehicleADestructiveInspect
Soft-delete a vehicle
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the vehicle to soft-delete. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveness; the description adds 'soft-delete' nuance, clarifying it's not a hard deletion. However, it does not explain implications like reversibility 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?
Single, clear sentence with no wasted words. Perfectly concise 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?
While the tool is simple and has an output schema, the description omits details about soft-delete behavior (e.g., whether it can be undone, impact on lists). Adequate but not comprehensive.
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 parameter description ('ID of the vehicle to soft-delete') largely echoes the tool description. No additional semantic value 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 ('soft-delete') and the resource ('vehicle'), using a specific verb that distinguishes this from other deletion tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, such as other deletion methods or prerequisites. The usage is implied but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forget_memoryAInspect
Forget (soft-delete) a memory by id. Use when a memory is superseded or no longer relevant.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id from a prior recall_memory result. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation readOnlyHint=false and destructiveHint=false are clarified by the description's mention of 'soft-delete', indicating it is not a permanent destructive operation. This adds understanding beyond the annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence for purpose and one for usage. Every word is necessary and front-loaded. No fluff 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?
Given the tool's simplicity (1 parameter, no nested objects, output schema present), the description covers all necessary information. The usage hint and parameter explanation are sufficient for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has a schema description: 'Id from a prior recall_memory result.' This provides valuable context on how to obtain the id, adding meaning beyond the schema's type and 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 clearly states the action 'Forget (soft-delete) a memory by id', with a specific verb and resource. Among siblings like store_memory, recall_memory, update_memory, it uniquely identifies itself as the deletion tool.
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: 'Use when a memory is superseded or no longer relevant.' It does not explicitly mention when not to use or list alternatives, but the guidance is sufficient for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_houseARead-onlyInspect
Return full details for the household the current session is scoped to: name, address, invite code, notes, join settings, members, subscription status, and resolved feature-flag states. No parameters — the household is resolved server-side from the authenticated session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds context about server-side resolution and lists the exact data returned, which is consistent and provides useful behavioral insight beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two efficient sentences: the first states the purpose and output fields, the second clarifies the lack of parameters. No extraneous information, 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 has zero parameters, an output schema exists, and the description lists all key data fields and how the household is determined, it is fully complete for a simple retrieval 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?
There are no parameters (schema coverage 100%), and the description clearly states 'No parameters' and explains why, which is maximally clear for a zero-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 explicitly states the tool returns 'full details for the household the current session is scoped to' and lists specific fields (name, address, etc.). This clearly differentiates it from sibling tools like 'list_houses' or 'get_house_review'.
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 clarifies that no parameters are needed and the household is resolved server-side, implying it is for the current active household only. However, it does not explicitly state when to avoid this tool or mention alternatives for other households.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_house_reviewARead-onlyInspect
Return this week's pending House Review recommendations (data gaps like a missing appliance warranty date or vehicle MOT date), re-validated live so items already filled in, actioned, or superseded by an open task are dropped before they're returned. Pro-gated: fails if the household isn't on a Pro plan.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, destructiveHint), the description adds that results are re-validated live and filtered, plus Pro-gating. This provides meaningful 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?
Two sentences: first describes main function and re-validation behavior, second adds Pro gating. Every sentence adds value; 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's simplicity (no parameters, read-only, live filtering) and the presence of an output schema, the description covers all essential aspects: what it returns, how it filters, and access restrictions.
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?
With zero parameters and 100% schema coverage, the description has no need to explain parameters. Baseline of 4 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 states the tool returns this week's pending House Review recommendations focusing on data gaps, with specific examples. It distinguishes itself from sibling tools like defer_recommendation or skip_recommendation by its unique 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 explains that items already filled in, actioned, or superseded are dropped, and that the tool is Pro-gated, giving clear context on when to use. However, it does not explicitly mention when not to use or provide alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileARead-onlyInspect
Return the authenticated user's profile: name, email, AI-consent status, and timezone. Also records this call as user activity (bumps last-seen) as a side effect. No parameters — the user is resolved server-side from the authenticated session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a side effect (bumps last-seen), which is a write operation. This contradicts the annotation `readOnlyHint: true`, which implies no data modification. The contradiction undermines trust.
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, front-loaded with purpose and immediate side effect. No unnecessary words; 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 simple read tool with an output schema, the description covers purpose, side effect, and parameter rationale. No further detail is needed given the tool's simplicity and existing annotations.
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?
There are zero parameters with 100% schema coverage. The description effectively explains why no parameters are needed (user resolved server-side), adding value beyond the empty 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 returns the authenticated user's profile with specific fields (name, email, AI-consent status, timezone). It distinguishes itself from siblings by emphasizing server-side user resolution and zero parameters.
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 explains no parameters are needed and user is auto-detected. However, it does not explicitly state when not to use this tool or mention alternatives, though siblings are clearly different (create/update/delete tools).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weather_forecastBRead-onlyInspect
Get weather forecast for the household's location
| Name | Required | Description | Default |
|---|---|---|---|
| forecastDays | No | Number of forecast days to return, from 1 to 5. Defaults to 3 if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds that the forecast is for the household's location, which provides some behavioral context beyond 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 a single concise sentence with no waste. However, it could be slightly more informative about the forecast content without losing conciseness.
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 simple tool, schema coverage, and existence of output schema, the description is nearly complete. It could mention that the location is pre-configured, but overall 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 100% with parameter description. The description does not add extra meaning to the parameter 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 verb 'Get' and resource 'weather forecast for household's location', distinguishing it from other tools. However, it lacks explicit differentiation from sibling tools, though the tool is unique.
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, or any prerequisites or exclusions. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_appliancesARead-onlyInspect
List all appliances in the household
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that the tool lists appliances 'in the household,' which clarifies scope. It does not contradict annotations and adds useful context beyond the read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence, concise and to the point. It wastes no words, though it could be slightly enriched without becoming 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 simple listing tool with no parameters, output schema present, and annotations covering safety, the description is adequate. It states what is listed and the scope, though the non-deleted filter is only in the input schema 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?
With 0 parameters and 100% schema description coverage, the description adds no parameter information, meeting the baseline score.
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), resource (appliances), and scope (in the household). It distinguishes from sibling tools like create_appliance, delete_appliance, etc., which have different verbs.
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 explicit guidance on when to use this tool versus alternatives. While the name 'list_appliances' is self-explanatory, there is no mention of prerequisites, when not to use, or comparisons with similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_calendar_eventsARead-onlyInspect
List calendar events with optional date-range filters
| Name | Required | Description | Default |
|---|---|---|---|
| startDateTo | No | Inclusive upper bound of the date range, ISO 8601 date-time in UTC. An event matches if it starts on or before this instant. Omit for no upper bound. | |
| startDateFrom | No | Inclusive lower bound of the date range, ISO 8601 date-time in UTC. An event matches if it ends (or, when it has no end, starts) on or after this instant. Omit for no lower bound. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds the date-range filter capability but omits other behaviors like pagination or default listing scope.
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 conveys the core functionality without redundancy. Every word is purposeful.
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 sufficiently complete for a read-only list tool with well-documented parameters and an output schema. It covers the essential purpose and filter capability.
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 schema descriptions are detailed. The description only says 'optional date-range filters', adding minimal 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 calendar events with optional date-range filters, specifying the verb and resource. It distinguishes from sibling tools like create_calendar_event and other list 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?
No explicit guidance on when to use this tool versus alternatives. However, the name and context make it obvious; it is the only tool for listing calendar events among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_contactsARead-onlyInspect
List all contacts in the household. Takes no parameters; soft-deleted contacts are excluded.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds the specific behavioral detail that soft-deleted contacts are excluded, which is valuable context beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant words. The purpose is front-loaded and every sentence adds value: stating what it does, its parameter constraints, and its exclusion behavior.
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 that an output schema exists, the description need not elaborate on return values. It covers all necessary aspects: purpose, parameter constraints, and behavioral filter. Complete for a simple list 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?
The tool has no parameters, and schema description coverage is 100%. The description reinforces this by stating 'Takes no parameters', which adds clarity since the parameter section is empty.
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 resource 'contacts' with scope 'in the household'. It also specifies exclusion of soft-deleted contacts, which makes the purpose precise and distinct from sibling tools like create_contact, delete_contact, update_contact.
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 notes 'Takes no parameters' and explains that soft-deleted contacts are excluded, guiding the agent on when to use (for active contacts). While it doesn't explicitly discuss alternatives, the context of sibling tools makes it clear this is the sole listing tool for contacts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsARead-onlyInspect
List documents in the household, optionally filtered to a single document type. Soft-deleted documents are excluded.
| Name | Required | Description | Default |
|---|---|---|---|
| documentType | No | Optional filter to only return documents of this type. Omit to return documents of all types. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds the important behavioral detail that soft-deleted documents are excluded, which goes beyond the annotations and helps the agent understand the scope.
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 main action, followed by a clarifying detail. No unnecessary words 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 tool is simple with one optional parameter and an output schema. The description covers listing documents, optional filtering, and soft-delete exclusion. It does not mention pagination or ordering, but these may be in the output schema. Reasonably complete for a list 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 100%, and the schema already fully describes the optional parameter with enum and description. The description only adds a brief mention of the optional filter, not significantly more meaning. 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 clearly states the verb 'List' and resource 'documents', with additional context about optional filtering and exclusion of soft-deleted documents. It distinguishes from siblings like create_document and delete_document.
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 explains the optional filter for a single document type and the exclusion of soft-deleted documents. It provides clear context for when to use the filter, though it does not explicitly mention alternatives or 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.
list_global_recipesARead-onlyInspect
List the global/Discover recipe catalogue (curated recipes available to all households)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds scope context but no additional behavioral traits, making it adequate but not expanding beyond 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 a single, clear sentence with no wasted words. It is appropriately front-loaded and concise.
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 zero parameters and the presence of an output schema, the description fully explains the tool's purpose. No additional information 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?
There are no parameters, and schema coverage is 100%. Baseline 4 is appropriate as the description does not need to add parameter information.
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 'List the global/Discover recipe catalogue' with a specific verb and resource, and adds context about curated recipes available to all households, effectively distinguishing it from sibling 'list_recipes'.
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 by specifying 'global/Discover' vs personal recipes, providing clear context for when to use this tool over alternatives like 'list_recipes', though it does not explicitly 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.
list_house_membersARead-onlyInspect
List household members with their userId, name, nickname, and role.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the behavioral safety is covered. The description adds no further behavioral context (e.g., scope of members, authentication). It does not contradict 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 a single sentence with no filler, front-loading the action and listing output fields. It is maximally concise.
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 parameters, existing annotations, and an output schema, the description is largely sufficient. However, it omits the scope (e.g., 'current household'), which is implied but not explicit.
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?
There are no parameters, and the schema coverage is trivially 100%. Per the rubric, a baseline of 4 is appropriate as the description need not add parameter 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 explicitly states the verb 'List' and the resource 'household members', and lists the fields returned (userId, name, nickname, role), making it clear and specific. It naturally distinguishes from sibling tools like list_appliances or list_contacts.
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. The agent may need to infer from the name alone. There is no mention of context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_housesARead-onlyInspect
List the households the current user belongs to (e.g. to tell the user which home you are acting on). The active house is determined server-side from the authenticated session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations by stating that the active house is determined server-side from the authenticated session, which is a key behavioral detail. Annotations already indicate it's read-only and non-destructive, so the description complements them well.
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, direct and efficient. The main action is stated first, followed by a usage hint and a behavioral note. No extraneous 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?
The description is complete given the tool's simplicity: no parameters, output schema present, and annotations covering safety. It provides enough context for an agent to understand when to call it and what to expect.
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?
There are no parameters, and the schema reflects this. The description doesn't need to add parameter info since there are none. It implies no user input is required beyond the session.
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 households for the current user, using the verb 'List' and specifying the resource 'households'. It differentiates from siblings like 'list_house_members' by focusing on the user's own households. The phrase 'the current user belongs to' adds 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?
Provides a concrete use case: 'to tell the user which home you are acting on'. It also explains that the active house is determined server-side, which guides the agent on how to use it. However, it doesn't explicitly mention when not to use it or compare to other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_meal_plansARead-onlyInspect
List meal plans in the household with an optional date range
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Inclusive date range end (format: YYYY-MM-DD). Omit for an open-ended end. | |
| from | No | Inclusive date range start (format: YYYY-MM-DD). Omit for an open-ended start. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description correctly reinforces a safe read operation. It adds the 'in the household' scope, but lacks details on pagination, sorting, or return limits. With annotations present, this is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. The most critical information (verb, resource, scope, optionality) is placed first. Perfectly concise.
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 simplicity of the tool (list with optional filters) and the presence of an output schema, the description is nearly complete. It covers the core functionality and scope, though it could optionally mention ordering or pagination. Still, it provides sufficient context 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 100% with both 'from' and 'to' parameters having descriptions. The description mentions 'optional date range' but does not add meaning beyond what the schema provides. 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?
Description clearly states the action ('List'), the resource ('meal plans'), scope ('in the household'), and optional filtering ('with an optional date range'). It distinguishes from sibling tools like create_meal_plan or delete_meal_plan.
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 explicit when-to-use or when-not-to-use guidance. The optional date range is mentioned, but no alternatives or exclusions are provided. The tool's purpose is straightforward, but additional context would help differentiate from other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_petsARead-onlyInspect
List all pets in the household
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context beyond annotations by specifying that only non-deleted pets are returned. Annotations already declare readOnlyHint and destructiveHint, so the description complements them 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 a single, front-loaded sentence with no unnecessary words. It efficiently conveys the tool's 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?
Given the tool's simplicity (no parameters, has output schema), the description is fully complete. It clearly explains what the tool does, and the output schema covers return value 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 tool has no parameters, so the baseline is 4. The description and schema provide sufficient context without needing parameter 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 clearly states the verb (list), resource (pets), and scope (all in the household). It distinguishes the tool from sibling tools like create_pet, delete_pet, and update_pet. The input schema further clarifies that it returns non-deleted pets.
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 is straightforward and implies usage when listing pets is needed, but it does not provide explicit guidance on when to use this tool over alternatives or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recipesARead-onlyInspect
List all recipes in the household
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds no further behavioral context (e.g., pagination, ordering) beyond what is implied by 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?
The description is a single, front-loaded sentence with no wasted words, efficiently conveying 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?
Given the tool's simplicity (0 parameters, output schema present, clear annotations), the description is adequate. It could mention that it returns all household recipes, but the current wording is 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?
There are no parameters; schema coverage is 100%. Per the rubric, 0 parameters earns a baseline of 4. The description does not need to add parameter info.
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 'List all recipes in the household' clearly specifies the verb (List), resource (recipes), and scope (in the household), distinguishing it from sibling tools like list_global_recipes.
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 such as list_global_recipes. The scope is implied but not explicitly contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_shopping_list_itemsARead-onlyInspect
List all shopping list items in the household
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds little beyond stating the scope ('in the household'). It does not disclose details like return format or ordering, but annotations cover the safety profile 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?
The description is a single, efficient sentence (7 words) with zero waste. It front-loads the key action and resource, making it immediately scannable 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's simplicity (0 parameters, output schema exists, annotations present), the description adequately covers the tool's purpose. The phrase 'in the household' is slightly vague but complemented by the schema's clarification. Overall sufficient for a read-only 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?
With zero parameters (schema coverage 100%), the baseline is 4. The description's phrasing ('all shopping list items') aligns with the schema's 'active (not yet bought) items' but does not introduce new meaning beyond the schema's description.
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 (shopping list items), clearly distinguishing from sibling tools like add_shopping_list_item or buy_shopping_list_item. It immediately conveys the tool's core function without 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?
The description states what the tool does but lacks explicit guidance on when to use it versus alternatives (e.g., buy_shopping_list_item). The input schema adds context about returning active items, but this is not in the description itself, leaving agents to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_subscriptionsARead-onlyInspect
List subscriptions with optional status filter
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Only return subscriptions with this status. Omit to return subscriptions of all statuses. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safe read-only nature is clear. The description adds the optional filter behavior, providing context beyond annotations. However, it does not disclose any other behavioral traits (e.g., pagination, rate limits).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that conveys purpose and the optional filter without any fluff. It is appropriately front-loaded and concise for a simple 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?
Given the tool's simplicity, full schema coverage, presence of annotations, and output schema, the description provides sufficient context for the agent to understand what the tool does and when 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?
Schema coverage is 100% and the schema already describes the status parameter with enum values and a clear description. The description adds the word 'optional filter', which marginally clarifies the parameter's role, but does not add significant 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 action ('List') and resource ('subscriptions'), and mentions the optional status filter. It effectively distinguishes from sibling tools like create_subscription, delete_subscription, and update_subscription.
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 explicit guidance on when to use this tool vs alternatives. While the tool name and description imply it's for retrieval, there is no statement about when not to use it or mention of alternatives. A score of 3 reflects adequate but not proactive guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksARead-onlyInspect
Lists tasks in the household with optional filters (assignee, due-date range, completion status) and cursor-based pagination. Excludes completed tasks by default; results are sorted by due date ascending, with tasks that have no due date listed first.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of tasks to return per page. 1-100, default 50. | |
| cursor | No | Opaque pagination cursor from a previous list_tasks response's nextCursor. Omit to fetch the first page. | |
| dueDateOnOrAfter | No | Only include tasks with a due date on or after this date (YYYY-MM-DD). Tasks with no due date never match. | |
| includeCompleted | No | Whether to include completed tasks in the results. Default: false | |
| dueDateOnOrBefore | No | Only include tasks with a due date on or before this date (YYYY-MM-DD). Tasks with no due date never match. | |
| assignedToMemberId | No | Filter to tasks assigned to this household member ID. Omit to include tasks for all assignees. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds significant behavioral context: cursor-based pagination, default exclusion of completed tasks, sort by due date ascending with no-date tasks first. There is no contradiction with 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 a single sentence that efficiently conveys the tool's function, optional filters, default behavior, pagination, and sort order. Every phrase adds value with 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?
Given the presence of an output schema, comprehensive annotations, and full schema coverage, the description is complete. It covers all necessary aspects: purpose, filters, defaults, pagination, and sorting.
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 summarizes filters (assignee, due-date range, completion status) and pagination, but does not add detailed semantics beyond the schema. This meets the minimum viable level.
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 'Lists tasks in the household' with optional filters, distinguishing it from sibling tools like create_task or complete_task. The verb 'lists' and resource 'tasks' 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 context for usage, including default behavior (excludes completed tasks), sort order, and pagination. It does not explicitly mention when not to use, but the context of sibling tools makes the purpose evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_vehiclesARead-onlyInspect
List all vehicles in the household
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds no extra behavioral context. It does not contradict annotations, but adds no value beyond the structured fields.
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?
One sentence with zero waste. Every word serves a clear 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?
Given zero parameters and an output schema that documents return values, the description is fully adequate for an agent to understand the tool's purpose and 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 tool has no parameters and schema coverage is 100%. The description adds no parameter details, but none are needed. Baseline is 3 for high coverage, and the lack of parameters merits a slightly higher score for completeness.
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 'List all vehicles in the household' uses a specific verb ('list') and resource ('vehicles'), clearly distinguishing it from sibling tools like create_vehicle, delete_vehicle, or update_vehicle.
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 when you need to view all vehicles, but does not explicitly state when to use vs alternatives. For a simple list tool this is adequate, but no exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recall_memoryAInspect
Recall long-term memories stored about the current household. Call this at the start of advisory or open-ended turns. Filter by type when only one author's notes are relevant.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Optional filter: 'system' for memories you (the agent) wrote, 'user' for memories the user stated. Omit to return both. | |
| limit | No | Max number of memories to return in this page. 1-100, default 20. | |
| cursor | No | Pagination cursor: pass back the nextCursor value from a prior recall_memory response to fetch the next page. Omit to start from the first page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation ('Recall'), but annotations set readOnlyHint=false, indicating potential side effects. This contradiction reduces trust. No additional behavioral context is provided beyond the contradiction.
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 wasted words. First sentence states purpose, second provides usage guidance. Front-loaded with essential 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?
Description covers purpose and usage context. Output schema exists (not shown but mentioned) so return values are documented. Missing details about pagination and the behavioral contradiction, but overall adequate for a simple recall 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 100% with rich descriptions for all three parameters. The description adds minimal extra context ('Filter by type when only one author's notes are relevant'), which is helpful but not substantial. 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 states the action ('Recall long-term memories') and the resource ('stored about the current household'), distinguishing it from sibling tools like store_memory or forget_memory. It also mentions filtering by type, which adds clarity.
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 advises when to call the tool ('at the start of advisory or open-ended turns') and suggests filtering by type. It does not provide when-not-to-use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_shopping_list_itemADestructiveInspect
Remove an item from the household's shopping list without marking it as bought. This soft-deletes the item so it no longer appears in list_shopping_list_items.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the shopping list item to remove, as returned by add_shopping_list_item, batch_add_shopping_list_items, or list_shopping_list_items. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive behavior; the description adds that it's a soft-delete and clarifies it does not mark as bought, providing useful behavioral context beyond 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?
Two concise sentences, front-loaded with the action, no redundant words. 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?
With output schema present, the description adequately covers purpose and behavior. Minor omission: no mention of error cases (e.g., item not found), but for a simple delete tool, this is acceptable.
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?
Input schema has 100% coverage with a clear description for the 'id' parameter. The tool description does not add extra parameter information beyond what the schema 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 tool removes an item from the shopping list via soft-delete, distinguishing it from related operations like buying or listing items.
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 contrasts with 'marking as bought' (buy_shopping_list_item), providing implicit guidance on when to use this tool versus alternatives, but lacks explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skip_recommendationAInspect
Skip: permanently suppress a House Review recommendation
| Name | Required | Description | Default |
|---|---|---|---|
| recommendationId | Yes | Id of a pending recommendation, taken from the id field of an item returned by get_house_review. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses that the action is permanent ('permanently suppress'), which goes beyond annotations (destructiveHint=false). No contradiction detected as suppression likely does not delete data. Adds useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no extraneous words. Front-loaded with action and resource. Highly 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?
Simple tool with one parameter and output schema present. Description adequately covers core behavior (permanent suppression). Could mention impact on future recommendations or reversibility but not essential for a basic 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?
Schema already fully describes the single parameter (recommendationId with examples and source from get_house_review). Description adds no new parameter information. Baseline of 3 maintained.
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?
Description clearly states verb 'skip' (permanently suppress) and resource 'House Review recommendation'. Distinguishes from sibling 'defer_recommendation' which presumably defers rather than suppresses. Name and description align.
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 explicit guidance on when to use this tool versus alternatives like defer_recommendation. Does not indicate prerequisites or scenarios. Agent must infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
store_memoryAInspect
Store a long-term memory about the household. Use sparingly for durable preferences, routines, constraints, or insights worth recalling in a future conversation. Recall first to avoid duplicates.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Short kebab-case slug, e.g. 'preferred-cleaning-day'. Max 80 chars. | |
| type | Yes | Author of the memory. 'user' for things the user has stated; 'system' for stable insights you derived yourself. | |
| content | Yes | Free-text body. Max 8000 chars. | |
| description | Yes | Single-line summary used to decide relevance later. Max 200 chars. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false) indicate a write operation that is not destructive. Description adds context about durability and sparing use but omits details on conflict resolution or overwrite behavior. 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?
Two sentences, front-loaded with purpose, no unnecessary words. 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's complexity (4 params, all required, output schema present), the description covers the key usage pattern ('Recall first') and purpose. Could mention idempotency or overwrite behavior but sufficient for most agents.
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. Description does not add per-parameter semantics beyond the schema's detailed descriptions and examples. It mentions overall purpose but not parameter intricacies.
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?
Clearly states it stores long-term memories, with specific examples of what to store (preferences, routines, constraints, insights). Distinguishes from siblings like recall_memory and forget_memory.
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 advises 'Use sparingly' and 'Recall first to avoid duplicates', providing clear guidance on when to use and a precaution against duplicates. Lacks explicit mention of when not to use, but context implies durable info only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uncomplete_taskAInspect
Reopens a completed task, clearing its completion timestamp and completed-by user. Fails with a conflict if the task is not currently completed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The task's ID, as returned by create_task or list_tasks. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, but description adds that this is a mutation (clears timestamps) and specifies error condition (conflict if not completed). This provides useful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and additional context about error condition. Every sentence 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?
Tool is simple with one parameter. Description covers the primary action, what it modifies, and the error condition. With an output schema available for return values, no further detail 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?
Only one parameter (id) with full schema description. The description does not add further semantics beyond the schema, meeting the baseline expectation.
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?
Description clearly states verb 'reopens' and resource 'completed task', specifying the action (clearing completion timestamp and completed-by user). It distinguishes from sibling 'complete_task' by being the inverse 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?
Explicitly states that the tool fails with a conflict if the task is not currently completed, providing clear usage context. However, it does not explicitly mention alternatives or when not to use, though the sibling list implies alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_applianceAInspect
Update an appliance's details; omitted fields keep their current value. Rejects the update if the resulting warranty expiry date would fall before the purchase date.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the appliance to update. | |
| name | No | New name for the appliance. Omit to leave unchanged. | |
| brand | No | New manufacturer or brand name. Omit to leave unchanged. | |
| model | No | New model name or number. Omit to leave unchanged. | |
| notes | No | Freeform notes about the appliance. Omit to leave unchanged. | |
| purchaseDate | No | Date the appliance was purchased, in YYYY-MM-DD format. Omit or send null to leave unchanged, send an empty string to clear it. Must not be after warrantyExpiryDate. | |
| serialNumber | No | New manufacturer serial number. Omit to leave unchanged. | |
| warrantyDocumentId | No | ID of a previously created document containing the warranty paperwork. Omit to leave unchanged. | |
| warrantyExpiryDate | No | Date the manufacturer warranty expires, in YYYY-MM-DD format. Omit or send null to leave unchanged, send an empty string to clear it. Must not be before purchaseDate. | |
| insuranceDocumentId | No | ID of a previously created document containing the insurance policy. Omit to leave unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint false, destructiveHint false), the description adds partial update semantics and a concrete validation rule (warranty expiry must not precede purchase date). This provides significant behavioral insight.
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 succinct sentences with no wasted words. The critical information is front-loaded: action, partial update behavior, 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?
Given the tool's complexity (10 params, 1 required, output schema exists), the description covers essential behaviors (partial update, date validation). No missing critical information for an update 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?
Schema description coverage is 100% (baseline 3), but the description adds overarching meaning: omitted fields retain current values and validation constraints. This extra context justifies a higher score.
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?
Clearly states the verb 'Update' and resource 'appliance details', distinguishing it from create/delete/list siblings. The partial update behavior and validation rule are explicitly mentioned.
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?
Implies usage for modifying existing appliances with partial updates, but does not explicitly state when to use vs alternatives like recreating the appliance or listing before updating. Provides clear context but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_calendar_eventAInspect
Updates fields on an existing single calendar event; only the fields supplied are changed, all others keep their current value. Imported (subscription-sourced) events cannot be edited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id of the calendar event to update. | |
| notes | No | New freeform notes attached to the event. Omit to leave unchanged. Up to 5000 characters. | |
| title | No | New event title/summary. Omit to leave unchanged. Up to 200 characters. | |
| isAllDay | No | True for an all-day event with no specific start/end time; false for a timed event. Omit to leave unchanged. | |
| location | No | New location, replacing the existing one entirely. Omit to leave unchanged. Set $type to 'Address' for physical (with line1-3, postalCode, countryCode) or 'OnlineLocation' for virtual (with url, notes). | |
| timezone | No | IANA timezone id (e.g. 'Europe/London') describing the wall-clock zone of startDateTime/endDateTime; null = UTC. Omit to leave unchanged. | |
| description | No | New longer free-text description of the event. Omit to leave unchanged. Up to 2000 characters. | |
| endDateTime | No | New end date-time, ISO 8601 in UTC (Z-suffix). Must not be before startDateTime. Omit to leave unchanged. | |
| startDateTime | No | New start date-time, ISO 8601 in UTC (Z-suffix). Wall clock is interpreted against the supplied timezone if any. Omit to leave unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). Description adds partial update semantics and the restriction on imported events, which are beyond annotation scope and improve transparency.
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, each essential: first explains core behavior (partial update), second notes a critical exception (imported events cannot be edited). No redundancy or 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?
With 9 parameters fully documented in schema and an output schema present, the description covers the high-level behavior and a key constraint. It could mention how to obtain the event ID (e.g., from list_calendar_events), but that is standard. Overall, it is complete enough for an update 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 100% with detailed parameter descriptions. The description's general statement about partial update is already implied by the optional parameters; it adds no new meaning beyond what the schema provides, so baseline score 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 states the verb 'updates' and the resource 'existing single calendar event', distinguishing it from related tools like create_calendar_event and update_recurring_calendar_event. It specifies partial update behavior, reinforcing its 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?
Provides clear context: partial update only changes supplied fields. Explicitly states that imported (subscription-sourced) events cannot be edited, guiding when not to use. Implicitly distinguishes from recurring event update by name, but lacks direct sibling comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_contactAInspect
Update a contact by id. Only the fields supplied are changed; omitted fields keep their current value (dateOfBirth is the exception: an empty string explicitly clears it).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The id of the contact to update, as returned by create_contact or list_contacts. | |
| No | The contact's email address. Omit to leave unchanged. | ||
| notes | No | Free-text notes about the contact. Omit to leave unchanged. | |
| phone | No | The contact's phone number, in any format. Omit to leave unchanged. | |
| address | No | The contact's postal address. Omit to leave unchanged; when supplied, replaces the whole address. | |
| lastName | No | The contact's last (family) name. Omit to leave unchanged. | |
| firstName | No | The contact's first name. Omit to leave unchanged. | |
| dateOfBirth | No | YYYY-MM-DD format. Omit or pass null to leave unchanged; pass an empty string to clear it. | |
| displayName | No | An alternate name to show for the contact instead of first/last, e.g. a nickname, company name, or role. Omit to leave unchanged. | |
| prepareBirthdayPresent | No | Whether to prepare a birthday present for this contact. Omit to leave unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations (readOnlyHint=false, destructiveHint=false) by detailing the partial update behavior and the dateOfBirth clearing exception. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and general behavior, then a concise exception. Every sentence adds value 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?
Given the complexity (10 parameters, nested object, output schema), the description covers the core behavioral aspect (partial update). It doesn't mention prerequisites or errors but is sufficient 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?
Schema coverage is 100%, so baseline is 3. The description adds overall semantic context: 'Only the fields supplied are changed' and the dateOfBirth exception, which enhances understanding beyond 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 updates a contact by ID, using specific verb and resource. It distinguishes from sibling tools like create_contact or delete_contact by focusing on updating an existing contact.
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 partial update semantics: only supplied fields change, omitted fields keep current value, with a special note on dateOfBirth. While it doesn't contrast with alternatives, it provides clear guidance on when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_documentAInspect
Update a document. Omitted fields unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The id of the document to update, as returned by create_document or list_documents. | |
| fee | No | The cost associated with the document, e.g. a renewal or issuance fee. Omit to leave unchanged; when supplied, replaces the whole fee. | |
| notes | No | Free-text notes about the document. Omit to leave unchanged. | |
| title | No | A custom title for the document. Omit to leave unchanged. | |
| documentType | No | The kind of document being stored. Omit to leave unchanged. | |
| documentNumber | No | The document's reference or serial number, e.g. a passport number or insurance policy number. Omit to leave unchanged. | |
| issuingAuthority | No | The organization or authority that issued the document. Omit to leave unchanged. | |
| renewalCronExpression | No | Reserved for a future renewal-reminder schedule. Currently accepted but not persisted or acted on by document updates — has no effect yet. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is not read-only and not destructive. The description adds the key behavioral detail that omitted fields remain unchanged, clarifying the partial update semantics beyond what annotations alone provide. No additional context on side effects, auth, or rate limits is given, but the core behavior is well-covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of a single sentence that immediately conveys the core action and key behavior. Every word serves a purpose, and there is no redundant or unnecessary 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 the complexity (8 parameters, nested objects, output schema), the description is adequate but sparse. It covers the essential partial update behavior but omits details like error conditions, prerequisite existence of the document, or what the response contains (though output schema may handle that). A bit more context on how to handle errors or validation would improve 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?
The input schema has 100% description coverage, with each parameter thoroughly documented. The tool description adds only the overarching 'Omitted fields unchanged' principle, which is helpful but not essential given the existing schema descriptions. The baseline of 3 is appropriate as the description adds marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update' and the resource 'document', making the tool's purpose immediately apparent. It distinguishes itself from sibling tools like create_document, delete_document, and list_documents by specifying the update 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 includes 'Omitted fields unchanged', which effectively conveys that this is a partial update (PATCH-like behavior). This provides guidance on when to use the tool and how to structure calls, though it does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_meal_planAInspect
Update a meal plan entry. Any field left out keeps its current value. Provide recipeId to link a recipe (clears any custom name) or name to make it a custom meal (clears the recipe link); recipeId takes precedence when both are given.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the meal plan entry to update (from list_meal_plans) | |
| date | No | Date of the planned meal (format: YYYY-MM-DD). Must be from today up to four weeks ahead. Omit to leave unchanged. | |
| name | No | Custom meal name when no recipe is linked | |
| notes | No | Optional free-text notes about the planned meal. Omit to leave unchanged. | |
| mealType | No | Which meal slot of the day this entry occupies. Omit to leave unchanged. | |
| recipeId | No | ID of an existing recipe (from list_recipes or list_global_recipes) | |
| servings | No | Number of servings for the planned meal. Between 1 and 100. Omit to leave unchanged. | |
| recipeSource | No | Set 'global' when recipeId refers to a Discover/global recipe (from list_global_recipes); defaults to 'household' |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-destructive mutation. The description clarifies partial update semantics and field interactions, adding context beyond 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?
Two sentences, no wasted words. The core action is stated first, followed by essential 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?
Given output schema exists and schema covers all params, the description is sufficient. It explains key update semantics but could mention response format (though output schema handles that).
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?
With 100% schema coverage, the baseline is 3. The description adds value by explaining the precedence rule and effects of combining recipeId and 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 uses a specific verb ('Update') and resource ('meal plan entry'), clearly distinguishing it from related tools like 'create_meal_plan' and 'delete_meal_plan'.
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 states that omitted fields keep their current value and explains the precedence between recipeId and name. No direct mention of when not to use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_memoryAInspect
Update an existing memory's name, description, or content. Type is immutable; to reclassify, forget and store again.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id from a prior recall_memory result. | |
| name | No | Replacement kebab-case slug. Omit to leave unchanged. | |
| content | No | Replacement body. Omit to leave unchanged. | |
| description | No | Replacement single-line summary. Omit to leave unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-destructive update (readOnlyHint=false, destructiveHint=false). The description adds the key behavioral constraint that the 'type' field is immutable, which is not obvious from the schema. This extra context 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?
Two short sentences, no wasted words. The most critical information (what fields can be updated, type immutability) is front-loaded. 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?
Given the presence of an output schema and annotations, the description adequately covers the core behavior. It could be improved by mentioning that the update is partial (only provided fields are changed) or what happens if the id does not exist, but overall it is sufficient for a well-documented 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?
With 100% schema description coverage, the schema already documents each parameter. The description adds meaning by grouping the updatable fields ('name, description, or content') and explicitly stating type cannot be changed, which the schema does not directly convey. This provides clarity 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?
States exactly what the tool does: 'Update an existing memory's name, description, or content.' Clearly identifies the resource (memory) and the specific fields that can be updated. Distinguishes from sibling like forget_memory by noting type immutability.
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 guidance on when to use (to update fields of an existing memory) and when not ('to reclassify, forget and store again'). This directly helps the agent choose between update and other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_petAInspect
Update a pet. Omitted fields unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the pet to update. | |
| name | No | New name for the pet. Omit to leave unchanged. | |
| notes | No | Freeform notes about the pet. Omit to leave unchanged. | |
| dateOfBirth | No | The pet's date of birth, in YYYY-MM-DD format. Omit or send null to leave unchanged, send an empty string to clear it. | |
| vetContactId | No | ID of a previously created contact for the pet's vet. Omit to leave unchanged. | |
| microchipNumber | No | New microchip identification number. Omit to leave unchanged. | |
| insuranceDocumentId | No | ID of a previously created document containing the pet's insurance policy. Omit to leave unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-destructive mutation. Description adds crucial patch behavior ('Omitted fields unchanged'), providing clarity beyond 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?
Extremely concise single sentence with no wasted words. 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?
With output schema present, return values do not need description. Essential behavior covered; could mention idempotency or field constraints 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 covers all 7 parameters with descriptions (100% coverage). Description does not add per-parameter details but reinforces overall update 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 clearly states the action (update) and the resource (pet), with a behavioral note about omitted fields unchanged, distinguishing it from create or delete 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?
No explicit guidance on when to use this tool versus alternatives like create_pet or list_pets. Usage is implied by name but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_recipeAInspect
Update an existing recipe. Only the fields provided are changed; any field left out keeps its current value. Providing ingredients replaces the entire ingredient list rather than merging with the existing one.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the recipe to update (from list_recipes) | |
| url | No | Source URL the recipe was found at. Omit to leave unchanged. | |
| name | No | Recipe name/title. Omit to leave unchanged. | |
| servings | No | Number of servings the recipe yields. Minimum: 1. Omit to leave unchanged. | |
| ingredients | No | List of ingredients required for the recipe. Providing this replaces the entire existing ingredient list rather than merging with it. Omit to leave the ingredients unchanged. | |
| instructions | No | Free-text cooking instructions/method. Omit to leave unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (not readOnly, not destructive). The description adds key behavioral traits: fields not provided keep current value, and ingredients list replacement. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose, then behavioral notes. No unnecessary 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?
With output schema present, no need to describe return values. The description covers update semantics and ingredient replacement completely for a 6-param 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 100%, so baseline 3. The description adds value by explaining the overall partial update and ingredient replacement behavior, which applies to multiple parameters. Per-parameter details are already in 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 it updates an existing recipe, distinguishing it from create_recipe (create) and delete_recipe (delete) among 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?
Explicitly states partial update behavior and that ingredients replace rather than merge, but does not provide explicit when-not or alternative tool recommendations. Context is sufficient for a CRUD tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_recurring_calendar_eventAInspect
Update a recurring calendar event. Changes to title/description/notes patch existing instances. Changes to frequency/dates/time regenerate future instances.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id of the recurring calendar event (template) to update. | |
| notes | No | New freeform notes. Omit to leave unchanged. Patching this alone updates existing generated instances in place rather than regenerating them. Up to 5000 characters. | |
| title | No | New event title/summary. Omit to leave unchanged. Patching this alone updates existing generated instances in place rather than regenerating them. Up to 200 characters. | |
| endDate | No | PATCH-style date field: omit or send null to leave the stored end date unchanged, send an empty string to clear it (recurrence becomes unbounded by date), or send 'YYYY-MM-DD' to set a new last occurrence date. Changing this deletes and regenerates future instances. | |
| duration | No | New length of each instance, in ISO 8601 duration format. Omit to leave unchanged. Changing this deletes and regenerates future instances. | |
| isAllDay | No | True if generated instances are all-day events; false for timed instances. Omit to leave unchanged. Changing this deletes and regenerates future instances. | |
| location | No | New location, replacing the existing one entirely. Omit to leave unchanged. Patching this alone updates existing generated instances in place rather than regenerating them. Set $type to 'Address' for physical (with line1-3, postalCode, countryCode) or 'OnlineLocation' for virtual (with url, notes). | |
| timezone | No | IANA timezone id (e.g. 'Europe/London') that startTime is in. Omit to leave unchanged; null resets to UTC. Changing this regenerates instances. | |
| startDate | No | PATCH-style date field: omit or send null to leave the stored start date unchanged, send an empty string to clear it, or send 'YYYY-MM-DD' to set a new anchor date. Changing this deletes and regenerates future instances. | |
| startTime | No | New time of day each instance starts, in HH:mm:ss format (local to timezone). Omit to leave unchanged. Changing this deletes and regenerates future instances. | |
| description | No | New longer free-text description. Omit to leave unchanged. Patching this alone updates existing generated instances in place rather than regenerating them. Up to 2000 characters. | |
| cronExpression | No | New recurrence interval, NOT a cron expression despite the field name. Format is 'N Unit' where N is a positive integer and Unit is one of Day, Week, Month, Year (case-sensitive), e.g. '1 Day', '2 Week', '1 Month', '1 Year'. Omit to leave unchanged. Changing this deletes and regenerates future instances. | |
| maxOccurrences | No | New maximum number of instances to generate. Omit to leave unchanged. Changing this deletes and regenerates future instances. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint=false, destructiveHint=false). The description adds key behavioral context: changes to title/description/notes patch existing instances, while changes to frequency/dates/time regenerate future instances. This goes beyond annotations and helps agent understand side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with verb and resource. Every sentence adds value with no redundancy. Efficiently conveys the key behavioral split.
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 13 parameters and nested objects, the description captures the critical behavioral dichotomy. Output schema exists, so return values are covered. Could mention PATCH-style semantics (omit vs null) but that is handled in parameter descriptions.
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 detailed parameter descriptions. The main description does not add parameter-specific details beyond the schema, but it provides a high-level rule (patch vs regenerate) that is not explicit in the schema. 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?
Description uses specific verb 'Update' and resource 'recurring calendar event', clearly distinguishing it from siblings like create_recurring_calendar_event or update_calendar_event. It also adds behavioral nuance by separating patch vs regenerate effects.
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?
Description implies when to use (for updating recurring events vs non-recurring) and provides behavioral guidance (patch vs regenerate). However, it does not explicitly list alternatives or when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_recurring_taskAInspect
Update a recurring task. Title/notes changes patch existing instances; frequency/date changes regenerate future instances.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The recurring task's ID, as returned by create_recurring_task or list_recurring_tasks. | |
| notes | No | New notes for the template, copied to existing uncompleted generated instances. Omit to leave unchanged. | |
| title | No | New title for the template. Existing uncompleted generated instances are updated to match; completed ones keep their original title. Omit to leave unchanged. | |
| endDate | No | New end date for the schedule (inclusive), in YYYY-MM-DD format. Omit to leave unchanged, or send an empty string for an open-ended schedule. Changing this regenerates future uncompleted instances. | |
| startDate | No | New start date for the schedule, in YYYY-MM-DD format. Omit to leave unchanged, or send an empty string to clear it. Changing this regenerates future uncompleted instances. | |
| cronExpression | No | New recurrence frequency expression in the format 'N Unit', e.g. '2 Week' for every two weeks. Unit must be exactly Day, Week, Month, or Year (case-sensitive). Despite the parameter name, this is not cron syntax. Changing this deletes uncompleted future instances and regenerates them from the new schedule. | |
| maxOccurrences | No | New maximum total number of instances to generate. Changing this regenerates future uncompleted instances. | |
| preparationDays | No | Number of days before each occurrence's due date to set that instance's preparation date. Only affects instances generated after this change; existing uncompleted instances keep their original preparation date unless a frequency, start date, end date, or max-occurrences change also triggers regeneration. | |
| assigneeRotation | No | New ordered list of household member IDs to round-robin through, replacing the existing rotation entirely. Applies to instances generated after this change; already-created instances are unaffected. Omit to leave the rotation unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains that title/notes changes patch existing instances while frequency/date changes regenerate future instances, adding context beyond the annotations (readOnlyHint=false, destructiveHint=false). It does not contradict 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 consists of two concise sentences that front-load the purpose and then elaborate on behavior. Every sentence adds value 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?
Given the tool's complexity (9 parameters) and the presence of an output schema, the description covers the core behavior and key distinctions. It lacks explicit mention of error conditions or prerequisites beyond the schema, but is still fairly 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%, so the schema already documents each parameter well. The description provides overarching context about how different parameter changes affect instances, but no per-parameter details 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 'Update a recurring task', identifying the verb and resource. It distinguishes between two types of updates (title/notes patch, frequency/date regenerate), differentiating from sibling tools like update_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 implies when to use the tool (to update a recurring task) and distinguishes it from single-task updates, though it does not explicitly name alternatives or state when not to use it. The schema covers prerequisites like the required id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_shopping_list_itemAInspect
Update a shopping list item's name, quantity, and/or category. Only the fields provided are changed; any field left out keeps its current value.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The ID of the shopping list item to update, as returned by add_shopping_list_item, batch_add_shopping_list_items, or list_shopping_list_items. | |
| name | No | New name for the item. Maximum 200 characters. Omit to leave the current name unchanged. | |
| category | No | New store-aisle category for the item, overriding any auto-assigned category. Omit to leave the current category unchanged. | |
| quantity | No | New quantity for the item, replacing (not adding to) the current quantity. Minimum 1, maximum 9999. Omit to leave the current quantity unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint=false, destructiveHint=false). The description adds value by clarifying that updates are partial and non-destructive, which is not fully captured by annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with the action and resource, no wasted words. Highly concise and easy to 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?
Given the simple nature of the tool (4 parameters, output schema exists), the description covers the essential behavioral nuance (partial update). It does not explain return values, but the output schema handles that. Adequately 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%, so the schema already documents all parameters clearly. The description adds the partial update context but does not provide additional semantic details beyond what the schema offers. 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?
Description clearly states the verb 'Update' and resource 'shopping list item', and lists the fields that can be changed (name, quantity, category). This distinguishes it from sibling tools like add_shopping_list_item or remove_shopping_list_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?
Explicitly states the partial update behavior: only provided fields are changed. This helps the agent understand how to use the tool correctly, though it does not explicitly contrast with other update patterns or mention 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.
update_subscriptionAInspect
Partially update an existing subscription; only the fields provided are changed, everything else is left as-is. For renewalCronExpression and notes, sending an empty string clears the stored value rather than leaving it unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the subscription to update. | |
| fee | No | The recurring charge for this subscription. Omit to leave unchanged. | |
| name | No | Display name of the subscription. Omit to leave unchanged. | |
| notes | No | Free-text notes about the subscription. Omit to leave unchanged, or send an empty string to clear the notes. | |
| status | No | New lifecycle status for the subscription. Omit to leave unchanged. | |
| remindMe | No | Whether to send renewal reminders for this subscription | |
| renewalCronExpression | No | Cron expression describing how often the subscription renews. Must not repeat more frequently than once a day. Omit to leave unchanged, or send an empty string to clear the renewal schedule. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only nor destructive. The description adds valuable behavioral context: partial update semantics and special clearing behavior for renewalCronExpression and notes when sending empty strings. This goes beyond annotation defaults.
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 fluff. The first sentence states the core behavior, the second sentence explains a critical edge case. Every sentence earns its place, and the key 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?
Given the output schema exists (so return values are documented), the description covers the main partial update concept and special clearing. It doesn't mention error handling or validation, but these are often inferred. Overall sufficient for this complexity level.
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 description does not need to add much per-parameter meaning. It reiterates the clearing semantics already present in schema descriptions, but aggregates the overall partial update pattern. 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 states the verb (update) and resource (subscription) with the key differentiator of partial update: 'only the fields provided are changed, everything else is left as-is.' This distinguishes it from create and delete subscriptions and specifies the update 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 explains the partial update behavior but does not provide explicit guidance on when to use this tool versus alternatives (e.g., create_subscription or delete_subscription) or mention prerequisites like the subscription must exist. It lacks when-not and contextual exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_taskAInspect
Update task title, assignment, dates, or notes.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The task's ID, as returned by create_task or list_tasks. | |
| notes | No | Freeform notes about the task. Not for assignment info. Omit to leave unchanged. | |
| title | No | New title for the task. Omit to leave unchanged; max 200 characters. | |
| dueDate | No | YYYY-MM-DD format, or empty string to clear. Omit to leave unchanged. | |
| preparationDate | No | YYYY-MM-DD format, or empty string to clear. Omit to leave unchanged. | |
| assignedToMemberId | No | Member ID to assign, or empty string to unassign. Omit to leave the current assignment unchanged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read-only and non-destructive, which matches the 'update' verb. However, the description adds no additional behavioral context (e.g., permissions, side effects, partial update 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, front-loaded sentence of 7 words that efficiently communicates the core function. 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?
Given the output schema exists and annotations are present, the description covers the essential purpose. However, it could briefly mention partial updates or clearing fields, though the schema compensates.
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%. The description lists the fields that can be updated, which aligns with the schema properties. No additional meaning is provided 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 the verb 'Update' and resource 'task', listing specific fields (title, assignment, dates, notes). It distinguishes from sibling tools like complete_task, delete_task, etc., which have different actions.
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 explicit guidance on when to use this tool versus alternatives like assign_task or complete_task. The description implies it's for general task updates but lacks when-not-to-use or prerequisite information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_vehicleAInspect
Partially update an existing vehicle's details; only the fields provided are changed, everything else is left as-is. For string and due-date fields, omitting the field leaves the stored value unchanged, while sending an empty string clears it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the vehicle to update. | |
| vin | No | Vehicle Identification Number: a 17-character alphanumeric code unique to the vehicle. Omit to leave unchanged, or send an empty string to clear it. | |
| make | No | Manufacturer of the vehicle, e.g. 'Toyota'. Omit to leave unchanged, or send an empty string to clear it. | |
| year | No | Model year of the vehicle. Must be between 1900 and 2100. Omit to leave unchanged. | |
| model | No | Model name of the vehicle, e.g. 'Corolla'. Omit to leave unchanged, or send an empty string to clear it. | |
| notes | No | Free-text notes about the vehicle. Omit to leave unchanged, or send an empty string to clear it. | |
| colour | No | Colour of the vehicle. Omit to leave unchanged, or send an empty string to clear it. | |
| motDueDate | No | Date the next MOT (roadworthiness test) is due, in YYYY-MM-DD format. Omit to leave unchanged, or send an empty string to clear it. | |
| taxDueDate | No | Date the vehicle's road tax is next due, in YYYY-MM-DD format. Omit to leave unchanged, or send an empty string to clear it. | |
| registration | No | The vehicle's registration/licence plate as shown on the plate. Free-text; format varies by country. Omit to leave unchanged, or send an empty string to clear it. | |
| serviceDueDate | No | Date the vehicle's next scheduled service is due, in YYYY-MM-DD format. Omit to leave unchanged, or send an empty string to clear it. | |
| insuranceDocumentId | No | Document ID of the associated insurance policy document. Omit to leave unchanged, or send an empty string to clear it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | |
| title | No | |
| message | No | |
| variant | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals partial update semantics and empty-string clearing behavior for string/date fields, adding significant value beyond annotations which only indicate it is not read-only and not destructive.
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, front-loading the core purpose and key behavior. Every sentence is essential and there is no unnecessary 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?
Given the 12 parameters, rich schema descriptions, and existing output schema, the description covers the core update semantics thoroughly. It explains partial update and clearing behavior, making the tool's behavior clear.
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 each parameter is already well-described. The description adds a global summary but does not provide new per-parameter details beyond what the schema offers.
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 performs a partial update of an existing vehicle's details, using a specific verb and resource. It distinguishes itself from sibling tools like create_vehicle and delete_vehicle by targeting updates only.
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 for updating existing vehicles, contrasting with create/delete operations. It does not explicitly list when-not-to-use alternatives, but the context from the tool name and siblings makes it clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!