migros-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@migros-mcpsearch the Migros catalogue for organic milk and show prices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
M-Connect
An unofficial client for the Migros mobile API. It comes in two parts:
An MCP server so Claude (or any MCP client) can search the Migros catalogue, check offers and stores, and read your own Cumulus data.
A local web dashboard for the same thing, in your browser.
It is not affiliated with Migros. See Legal before using it.
What you can do
Without logging in: search products with prices and filters, scan barcodes, browse offers and promotions, find stores and check stock, look up recipes.
Signed in with your Migros account: see your Cumulus points, coupons, bons and stampcards, read your digital receipts and spending, and see which coupons match the products you buy most.
It is read-only by default. Anything that changes your account needs an explicit
confirm=true.
Related MCP server: Mercadona MCP Server
Install
python3 -m venv .venv && source .venv/bin/activate
pip install -e '.[web]'Log in
The login uses your own Migros credentials. The app's OAuth client secret is not
in this repo; it is read at runtime from your own copy of the app, so point
MIGROS_APP_LIBRARY at the app binary:
export MIGROS_APP_LIBRARY=/path/to/Payload/migros.app/Frameworks/MigrosAppLibrary.framework/MigrosAppLibrary
migros-loginThis opens your browser. Log in, and you land on a www.migros.ch page whose
URL contains ?code=.... Copy that full URL and paste it back when asked.
Tokens are saved to ~/.migros/tokens.json.
Run
MCP server (for Claude Desktop or Claude Code):
migros-mcpAdd it to Claude Desktop in ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"migros": {
"command": "/absolute/path/.venv/bin/migros-mcp",
"env": { "MIGROS_APP_LIBRARY": "/path/to/MigrosAppLibrary" }
}
}
}Web dashboard:
migros-web # http://127.0.0.1:8765Config
All optional, set as environment variables.
Variable | Default | Meaning |
| none | path to the app binary (loads the OAuth secret for login) |
| none | path to the app's |
|
|
|
| none | postcode to shop from (sets your region and prices) |
| off | e.g. |
Notes
The production gateway sits behind Cloudflare. A normal client usually gets through; if you see a
403maintenance page, setMIGROS_IMPERSONATEor run from a different network.Editing your shopping list is not possible from here. The app guards that data with Firebase App Check (device attestation), which a script cannot produce.
Tests
make testLegal
This is an independent, personal-use project. It is not affiliated with, authorised by, or endorsed by Migros.
It ships no Migros code, assets, keys, or data. You use your own login, and the OAuth secret and Firebase config are read from your own copy of the app.
Use it with your own account only, at human scale. Do not scrape, poll, or automate at a scale a person would not.
You are responsible for following Migros's terms and your local law.
Found a security issue in Migros's app or services? Report it to Migros, not here.
No warranty. It may break when Migros changes its API.
"Migros" and "Cumulus" are trademarks of their owners.
License
MIT. See LICENSE.
Available Tools
105 toolsactivate_bonA
Activate a Cumulus bon. Changes account state; needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| bon_id | Yes | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does carry the important disclosure that this mutates state ('Changes account state') and that confirm=true is required, which is real behavioral value. It does not say whether activation is reversible, what permissions or prerequisites apply, or what effect activation has on the bon beyond state change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with zero waste: the action first, then the state-change warning and the confirm requirement. Nothing is repeated from the schema or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation tool with an output schema available, the essentials are present: what it does, that it mutates account state, and the confirm gate. Remaining gaps (reversibility, permissions) are secondary given the small surface area.
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 0%, so the description must compensate. It successfully explains the meaning of confirm (a required safety acknowledgement, despite the schema defaulting it to false), but adds nothing about bon_id's format or provenance beyond its 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 gives a specific verb and resource ('Activate a Cumulus bon'), which is immediately distinguishable from mutating siblings like redeem_cumulus_bon or deactivate_coupon by the word 'activate'. It stops short of explicitly naming the closest sibling (redeem_cumulus_bon), so full differentiation is left to inference.
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 states a hard precondition ('needs confirm=true') but gives no guidance on when to choose this over redeem_cumulus_bon or when not to activate a bon at all. Usage is implied by the verb rather than explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
activate_couponA
Activate a Cumulus coupon by EAN. Changes account state; needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| ean | Yes | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description must carry the behavioral load: it does disclose that this mutates account state and requires an explicit confirm flag, which is the most important thing an agent needs. It omits reversibility, permission/auth requirements, failure modes, and what happens if confirm is left at its default false.
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 clauses, no filler, and the mutation warning and confirm requirement are front-loaded where an agent will see them before calling. 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?
An output schema exists, so the description is not obliged to explain return values, and for a two-parameter mutation the key facts (state change, confirm gate, EAN key) are present. Preconditions and irreversibility of the activation would be the remaining gaps for a state-changing tool with no 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?
Schema description coverage is 0%, so the description has to supply the meaning, and it covers both parameters: ean is the lookup identifier for the coupon, and confirm is a required safety gate that must be true. What is missing is format expectations for ean (length, digits) and the explicit consequence of confirm being false rather than absent.
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?
"Activate a Cumulus coupon by EAN" gives a specific verb, resource and lookup key, which clearly separates it from deactivate_coupon and the read-only cumulus_coupon/cumulus_coupons siblings. It does not explicitly name those alternatives, so it stops just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (activating a coupon you hold) and states the confirm=true prerequisite, which is real guidance. It never says when to prefer this over cumulus_coupon (inspect first) or deactivate_coupon, and gives no preconditions such as whether the coupon must be unexpired or already in the wallet.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_favouriteB
Add a product to favourites. Changes account state; needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses that this mutates account state and requires confirm=true despite the schema default of false, but it omits reversibility, idempotency, auth requirements, and behavior when the product is already a favourite.
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, front-loaded sentences with no filler. The key precondition is included 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 two-parameter mutation with an output schema, the description covers the action, state change, and confirm requirement. It leaves product_id semantics and some mutation edge cases implicit, but remains largely sufficient for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that confirm must be true, but it does not explain product_id semantics, format, or where the identifier comes from.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Add a product to favourites.' The action is clear, but it does not explicitly distinguish this from sibling tools such as remove_favourite or is_favourite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an important precondition: confirm=true, and notes the account state change. However, it does not explain when to use this versus checking is_favourite first or using remove_favourite for the opposite action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_order_to_shopping_listA
Add every product of a past order to your shopping list. Needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| order_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the confirmation gate ('Needs confirm=true'), which is real behavioral context absent from the schema, but it does not say whether the operation appends to or replaces the existing list, how duplicate products are handled, or whether it is idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler, and the core action is front-loaded ahead of the precondition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema, the definition covers the action and the critical confirmation requirement. The remaining gaps around list-merge semantics are noticeable but modest given the tool's simplicity.
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 0%, so the description must compensate. It explains the confirm flag's required value, adding genuine meaning beyond the bare boolean, but says nothing about order_id's format or valid sources beyond the vague 'past order'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Add every product of a past order to your shopping list.' The phrase 'every product of a past order' implicitly separates it from the single-item sibling add_shopping_list_item, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (re-adding the contents of a previous order) and the confirm=true precondition is stated, but there is no explicit when-not guidance, no mention of prerequisites such as the order needing to be completed, and no named alternative for adding single items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
address_searchC
Swiss address lookup: postcode/town, optionally street and house number.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | ||
| limit | No | ||
| number | No | ||
| street | No | ||
| zip_or_city | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden and largely fails it. It never states whether this is a read-only search, whether authentication is required, whether the limit parameter truncates results, or how ambiguous or partial matches are handled — only the barest hint of a read-only lookup is conveyed by the word "lookup".
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler, and the primary required input is named first. It is efficient but borders on under-specification rather than being optimally sized for a five-parameter 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?
An output schema exists, so return values need not be described. Still, for a five-parameter tool with no annotations and no schema descriptions, the one-line description leaves too much unspecified — notably the city vs. zip_or_city relationship and the limit semantics.
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 0%, so the description must compensate. It explains zip_or_city (postcode/town) and the optional street and house number, but leaves city and limit entirely unaddressed — and city is especially problematic because its relationship to the required zip_or_city field is left ambiguous.
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 gives a specific verb/resource ("Swiss address lookup") plus the key inputs (postcode/town, optional street and house number), which is far more informative than the bare name. It does not, however, distinguish this from nearby siblings like my_addresses, my_address, or find_stores, which a caller could plausibly confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is for resolving/validating Swiss addresses from a postcode or town. There is no explicit statement of when to prefer this over my_addresses (saved addresses) or find_stores, and no preconditions or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_shopping_list_itemC
Add an item to a shopping list (Firestore write). Needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| note | No | ||
| confirm | No | ||
| list_id | Yes | ||
| quantity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does carry real weight: it discloses that this is a mutating 'Firestore write' and that confirm=true is required, the latter resolving an ambiguity the schema leaves open (confirm is optional with default false). However, it says nothing about permissions, duplicate handling, side effects on the list, or whether the write is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the key constraint, with no filler. It is arguably too terse, but nothing present is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter mutation with zero annotation coverage, the definition is thin: four parameters are unexplained and no preconditions about the target list are given. An output schema exists, so return values need not be described, but the input-side gaps remain significant.
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 0% across 5 parameters. The description only addresses 'confirm'; it adds no meaning for list_id, name, note, or quantity, nor does it explain what confirm actually gates. Given the low coverage, the description should compensate and largely does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Add an item to a shopping list'), which is clearly distinguishable from siblings like complete_shopping_list_item and remove_shopping_list_item. It does not explicitly name those siblings, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is the requirement 'Needs confirm=true', which is useful but is a call precondition rather than a when-to-use-vs-alternatives statement. There is no indication of when an agent should add an item versus completing, removing, or listing items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apple_wallet_passB
Create an Apple Wallet pass for your Cumulus card (.pkpass). Needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It says it creates a pass and requires confirm=true, but does not disclose authorization needs, whether an existing pass is replaced, what happens if confirm is false or omitted, or any rate limits. The output schema may cover return values, but the mutation behavior remains largely undisclosed.
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 short sentences, front-loads the action and resource, and includes the required confirm behavior without any filler. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter pass-creation tool with an output schema, the description gives the core action and confirm requirement. It still omits important context such as authentication, replacement behavior, and the effect of non-confirmation, leaving gaps for an agent invoking a mutation.
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 0% for the single confirm parameter, so the description must compensate. It does state that confirm=true is needed, which adds the crucial requiredness meaning beyond the schema's default false, but it does not explain the consequence of false or omitted confirm.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: creating an Apple Wallet pass (.pkpass) for the Cumulus card. It is distinguishable from the google_wallet_pass sibling by platform, though it does not explicitly name or compare against that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for generating an Apple Wallet pass, and the note 'Needs confirm=true' gives a prerequisite. However, it does not explain when to use this versus cumulus_wallet or google_wallet_pass, nor does it state any exclusions or conditions beyond the confirm flag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_voucherB
Apply a voucher/promo code to the current basket. Changes checkout; needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the behavioral disclosure burden. It usefully reveals that the operation mutates checkout and requires `confirm=true`, but it omits what `confirm=false` does, whether the mutation is reversible, what happens with invalid or expired codes, and whether any authentication or basket state is required.
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 definition is compact and front-loads the primary action before the checkout-mutation warning. There is no filler, though the second clause is terse enough to be somewhat cryptic about confirmation semantics.
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 checkout-mutating tool with no annotations and 0% schema description coverage, the description is thin. The output schema covers return values, but the definition still lacks confirmation behavior, failure handling, and sibling-tool guidance that an agent needs before invoking 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 description coverage is 0%, so the description must explain the two parameters. It only clarifies `confirm=true`, and even that is stated as a requirement rather than explaining the boolean's false/default behavior; it says nothing about the `code` parameter's format, case sensitivity, or validity constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Apply a voucher/promo code to the current basket.' It clearly distinguishes voucher application from the many coupon-management siblings, though it does not explicitly name the closest alternative such as `activate_coupon`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives implied usage context by saying the tool applies a code to 'the current basket' and that it changes checkout. However, it does not state when to prefer this over `activate_coupon`, `cumulus_coupons`, or `redeem_cumulus_bon`, nor does it describe failure conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
authorize_orderB
Authorise an order's payment. Requires confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| payload | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior; it identifies a payment-authorization mutation and a mandatory confirmation gate, which is more than nothing. It does not explain side effects, reversibility, permissions, or what happens if the order is already authorized, so key behavioral risks remain undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loading the action and then the key confirmation requirement, with no redundant wording. The terseness does not itself create clutter; missing details are a completeness issue rather than a conciseness problem.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a financial mutation with a nested, undocumented payload and no annotations, so it needs substantial contextual explanation. The description supplies only the action and confirm=true, leaving payload shape and operational consequences unclear, even though the output schema covers return values.
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 0%, and the description only documents the confirm flag's required value. The required payload object—including what fields it should contain—is left entirely unexplained, so the description does not compensate for the schema's lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Authorise') and object ('an order's payment'), so the tool's purpose is unambiguous. It does not explicitly differentiate from siblings such as order_authorization_state, cancel_order, or place_order, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a prerequisite for calling the tool ('Requires confirm=true'), which tells the agent a condition for a successful invocation. However, it gives no guidance on when to choose authorization over alternatives like place_order or order_authorization_state, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autocompleteB
Search-as-you-type: suggested terms, matching categories and top products.
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It only restates the three kinds of results and says nothing about minimum term length, prefix vs. substring matching, localization, or whether results are cached or ranked — the details an agent needs to call an autocomplete correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the key qualifier ('search-as-you-type') first and the result types following. No padding, though the colon-fragment style leaves the subject implicit.
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?
An output schema exists, so the description needn't explain return values, and tool complexity is low. Still, the one input parameter is undocumented everywhere and the sibling routing to search_products is left to inference, leaving a gap for an agent choosing between them.
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 is one required parameter with 0% schema description coverage, and the description adds no meaning for 'term' — no indication of whether it is a prefix, partial word, or full query, nor any length or format constraints. With a real coverage gap, the description should compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource concretely (suggested terms, matching categories, top products) and frames it as search-as-you-type, which separates it from a full product search. It is clear what the tool returns, though it never uses a verb like 'returns' or 'suggests' explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Search-as-you-type' implies the trigger condition (call while a user is still typing), but the description never states when not to use it or that search_products/search_products_guest is the alternative for actual result pages. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_detailC
Brand page by slug, e.g. "m-budget", "migros-bio", "v-love".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden, yet it says nothing about whether this is a read-only operation, what happens with an unknown slug, auth requirements, or caching. The presence of an output schema relieves it of describing return values, but that is the only gap it does not need to fill.
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 short sentence, front-loaded with the resource and key, and the three examples each earn their place by pinning down slug format. Slightly fragmentary grammar, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with an output schema, the definition covers the essentials: what it returns (a brand page) and what the key looks like. The main omission is its relationship to brand_products, which matters given how many sibling tools share this namespace.
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 0% and the single 'slug' property is undocumented in the schema, so the description's examples ('m-budget', 'migros-bio', 'v-love') do real work by showing the lowercase-hyphenated identifier format. It still omits case sensitivity and where an agent should obtain a valid slug.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Brand page') and a lookup key ('by slug'), and the examples make the domain concrete. But the verb is implicit (fetch/retrieve) and it does not distinguish this from the obvious sibling brand_products, which an agent could easily confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when to prefer this over brand_products, product_detail, or search_products, and no stated preconditions. The agent must infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brand_productsC
Products of a brand, priced and paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| sort | No | ||
| limit | No | ||
| offset | No | ||
| direction | No | asc |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses only that results are "priced and paginated" — it says nothing about auth requirements, default/max page sizes, ordering semantics, or whether an unknown brand slug errors or returns an empty list. "/paginated" hints at limit/offset but leaves the pagination contract opaque.
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?
Seven words with no filler and the scope front-loaded, so it is efficient, but it is under-specified rather than concise: a single fragment cannot carry the omissive parameter and behavioral detail an agent needs. Structure is acceptable; content density is too low.
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?
An output schema exists, so return values need not be explained, but for a 5-parameter, zero-coverage, zero-annotation tool the description leaves too much to inference — slug format, sort/direction semantics, and pagination bounds are all missing. Comparable siblings like category_products and label_products receive the same treatment, which suggests a family-wide gap rather than a deliberate minimalism.
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 0% across 5 parameters, including the required `slug` whose format (brand slug vs. numeric id) is never stated. The description's "priced and paginated" loosely gestures at limit/offset, but says nothing about `sort`, `direction` (asc default, which field it applies to), or the default limit of 12.
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?
"Products of a brand" names a specific resource with a clear scope (brand), which an agent can distinguish from the generic search_products or category_products siblings. It is a noun fragment rather than a verb+resource statement, and it never explicitly names the alternatives it differs from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no reference to alternatives such as search_products, category_products, label_products, or brand_detail, all of which plausibly overlap. The only implied usage signal is the word "brand", which the agent must infer means a brand slug input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_orderA
Cancel an order. Destructive; needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| order_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does creditably disclose that the operation is destructive and gated behind confirm=true, which is exactly the safety context an agent needs, but it omits permissions, whether the cancel is reversible, and the effect on payment/refund — meaningful gaps for a destructive action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clauses, zero filler, and the destructive warning is front-loaded right after the action statement. Nothing here could be cut without losing signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple two-parameter tool with an output schema, so return values need not be described. The description covers the action, its destructive nature, and the confirmation gate — the core requirements. Only preconditions such as which order states permit cancellation are missing, a minor gap at this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so for the non-obvious parameter by stating confirm=true is required for this destructive call (the schema only lists it as a boolean defaulting to false), and order_id is self-evident from the verb. Two parameters at low coverage with the risky one explained supports a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Cancel an order'), making the effect immediately clear and separable from sibling order tools such as order_detail, my_orders, or place_order. It stops short of naming those siblings or the order states where cancellation applies, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete precondition (confirm=true), which is genuinely actionable usage guidance. However, it says nothing about when cancellation is allowed versus other order actions, nor what to do when cancellation is not possible, leaving alternatives and exclusions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
category_breadcrumbC
Category for a slug path, e.g. "milchprodukte-eier-frische-ferti/milch-butter-eier".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full disclosure burden, yet it says nothing about read-only behavior, what happens when a slug is unknown, or whether the path must be a complete taxonomy path. The presence of an output schema removes the need to document return values, but the missing operational context is still a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is short and the example earns its place, but it is a sentence fragment with no lead-in verb, leaving the reader to infer what is being described. Brevity here reflects under-specification rather than discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup tool with an output schema, the bar is low, but the definition still omits what the tool resolves, when it is the correct choice, and how invalid slugs behave. An agent could infer the call signature from the schema but not the tool's role in the taxonomy workflow.
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 0%, so the description must compensate, and it partially does by supplying a concrete example slug that reveals the slash-delimited path format. It still does not state whether the path must be full-depth, whether leading/trailing separators are allowed, or whether a bare category slug works.
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 is essentially the tool name restated: "Category for a slug path" names no verb and does not say whether it resolves a slug to a category name, a breadcrumb trail, an ID, or a subtree. The single example clarifies input shape but not what the tool returns or does, and there is no differentiation from nearby tools such as category_products or product_filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no stated precondition beyond the implicit requirement of a slug. An agent would have to guess whether this is the right tool for taxonomy lookups versus category_products or search_products.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
category_productsC
Products in a category (ids come from autocomplete, product breadcrumbs or store_map).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | ||
| limit | No | ||
| direction | No | asc | |
| category_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a read-only listing operation, nor does it disclose pagination, sorting behavior, limits, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no filler, and the category context is front-loaded. It is concise, though the parenthetical source hint is the only extra detail provided.
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?
An output schema exists, so return-value details are less critical, but the tool still has five parameters with no schema descriptions and no annotations. The description is too sparse to fully explain pagination, sorting, and listing behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for five undocumented parameters. It only clarifies where category_id values come from and says nothing about page, sort, limit, or direction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as products within a category, which distinguishes it from general product search and from brand/label product tools. It lacks an explicit verb such as 'list', but the intent is still easy to infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when to use the tool by saying products are retrieved by category, and it helpfully explains where category IDs come from. However, it does not explicitly compare this tool with search_products, brand_products, label_products, or product_filters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkout_contextB
Checkout context (v4): basket, slot, payment, totals. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It does disclose one real behavioral fact beyond the schema — that authentication is required — and implies a read-only aggregate view, but says nothing about session/state sensitivity, whether the context is cached or live, or failure modes when no active basket exists.
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 compact line with the resource name front-loaded and contents listed after the colon; nothing is wasted. It is slightly cryptic as a fragment ('v4' is unexplained) but well structured for its length.
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?
An output schema exists, so return values need not be explained, and with zero parameters the tool is mechanically simple. However, in a sibling set dense with checkout_* tools, the description leaves the agent guessing which one to call, which is the main completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate. The baseline of 4 applies since no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('Checkout context') and enumerates its contents: basket, slot, payment, totals. That is specific enough to know what comes back, but it never distinguishes itself from close siblings like checkout_summary, checkout_payment_options, checkout_timeslots, or checkout_delivery_addresses.
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 only guidance is the prerequisite 'Requires login'. There is no statement of when to prefer this aggregate context over the granular checkout_* siblings, and no exclusions or call-order advice for a checkout flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkout_cumulus_bonsA
Cumulus bons that can be redeemed in the current checkout. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden; it does disclose the auth requirement and that results are scoped to the current checkout. It does not state that the operation is read-only or what happens when no checkout is active, leaving some behavioral gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what is returned and followed by the precondition. No filler, though the phrasing is telegraphic and could have stated the verb explicitly at no extra length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema covering return values, the description only needs to convey scope and access rules, which it does. The remaining gap is the relationship to the nearby redemption and wallet tools, which it leaves unstated.
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 takes zero parameters, so there is nothing for the description to disambiguate and the baseline applies. The scope statement ('current checkout') usefully explains why no parameter is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Cumulus bons) and scopes it to those redeemable in the current checkout, which separates it from the broader cumulus_bons and cumulus_bon siblings. The verb ('returns'/'lists') is implicit rather than stated, but the noun phrase plus scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a prerequisite ('Requires login') and implies the context where it applies (an active checkout). It does not name an alternative such as cumulus_bons for the full wallet, or redeem_cumulus_bon for the actual redemption action, so the agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkout_delivery_addressesB
Delivery addresses available at checkout. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present the description carries the full burden, and it does disclose one genuinely behavioral fact: login is required. The read-only, non-destructive nature is strongly implied by 'available' and returns are covered by the output schema, but nothing is said about whose addresses are returned or whether an unauthenticated call errors or returns empty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no wasted words, and the resource statement is front-loaded ahead of the login caveat. It is efficient almost to a fault: the terseness is what leaves the gaps noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with an output schema and no annotations, the description covers the essentials (what it returns, that auth is needed) but omits the one thing that matters most in this sibling set: how these addresses relate to my_addresses and the other checkout_* tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and schema coverage is 100%, so there is no parameter meaning for the description to add; the baseline for a parameterless tool 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 names the resource ('delivery addresses') and scopes it to checkout, which hints it differs from the broader my_addresses sibling, but it is a noun phrase with no verb and never states plainly that it lists/returns addresses rather than, say, validating one. An agent can guess the purpose but must infer the 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?
'Requires login' is the only guidance and it is a prerequisite, not a usage rule. Nothing says when to call this instead of my_addresses, my_address, or delivery_info, even though those siblings plausibly overlap on address data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkout_payment_optionsC
Available payment options. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It discloses that login is required, which is useful, but it does not explicitly state that the operation is read-only, what side effects exist, or what safety profile the agent should expect.
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 short, front-loaded, and free of filler. Both sentences are directly relevant, though the first sentence is terser than an ideal purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple zero-parameter query and an output schema exists, so return values need not be described. However, the description omits the checkout flow context and any sibling differentiation, leaving the agent to infer when in the checkout sequence this tool is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter semantics for the description to explain. The baseline score of 4 applies because the empty schema leaves nothing ambiguous.
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 is a noun phrase that essentially restates the tool name, with no explicit verb such as 'list' or 'get'. It indicates the resource is checkout payment options, but it does not distinguish the tool from checkout-context siblings like checkout_context or checkout_summary.
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 only guidance is the login prerequisite; there is no indication of when to call this tool versus checkout_context, checkout_summary, or other checkout-stage tools. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkout_summaryC
Verified checkout summary. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, yet it only discloses that login is required. It does not say whether this is a read-only snapshot, whether it mutates or locks checkout state, or what "verified" implies about validity of the summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, but their brevity comes from under-specification rather than economy. The auth constraint is front-loaded, which is the one structural positive.
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?
An output schema exists, so return values need not be described, and there are no parameters to cover. Still, an agent cannot tell from "checkout summary" what state this represents or where it fits in the checkout sequence alongside its many siblings, leaving the core question unanswered.
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 takes zero parameters, so there is no parameter meaning to add; the baseline of 4 applies. The description does not need to explain arguments at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Checkout summary" essentially restates the tool name, and "Verified" adds an unexplained qualifier. The description never states what the summary contains (items, totals, fulfilment state?) or how it differs from siblings such as checkout_context or checkout_payment_options.
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 only guidance is the precondition "Requires login," which says nothing about when this tool should be chosen over checkout_context, checkout_cumulus_bons, or the other checkout-step tools. No alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkout_timeslotsB
Available checkout timeslots. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden; it does disclose the authentication requirement, which is genuinely useful behavioral context. However it doesn't state side-effect freedom, whether slots are user/order-specific, or any rate/scope constraints, leaving notable gaps for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the subject is stated before the login prerequisite. Nothing is redundant.
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?
Complexity is minimal: no parameters, and an output schema exists so return values need not be described. The main remaining gap is disambiguation from sibling slot/delivery tools, which the description doesn't address.
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 takes zero parameters, and 100% schema coverage means there is no parameter meaning for the description to add. Baseline 4 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 names the resource (checkout timeslots) but is a bare noun phrase with no verb and no scope, so it's unclear whether it lists slots, reserves them, or reports availability. It also doesn't differentiate from sibling tools such as my_delivery_slots, delivery_info, or fulfilment_selection, which an agent would need to choose between.
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 only guidance is a prerequisite ('Requires login'), with no statement of when to call this versus my_delivery_slots or the other checkout_* tools. Usage is implied by the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complete_shopping_list_itemC
Tick (or untick) a shopping-list item (Firestore write). Needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| item_id | Yes | ||
| list_id | Yes | ||
| completed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden. It does disclose two real behavioral traits beyond the schema: this is a persistent Firestore write, and it is gated behind a confirm=true safety flag. It still omits permissions, reversibility of the tick, and any side effects on list counters or members.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler, and the primary action is front-loaded ahead of the confirm requirement. Nothing needs cutting; the brevity is limited only by how little it says.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with output schema but no annotations and 0% parameter coverage, the description leaves too much unstated: the meaning of completed=false, what confirm guards against, and what authorization or list membership is required. The presence of an output schema excuses it from explaining returns, but not from the input and safety gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all four parameters. It covers only confirm, and while 'tick (or untick)' hints at the completed boolean with its default of true, it never states that mapping explicitly, nor does it say what list_id and item_id address.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb pair ('tick/untick') and a specific resource ('shopping-list item'), which clearly separates it from add_shopping_list_item and remove_shopping_list_item. It stops short of explicitly naming those siblings or stating its scope relative to them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance: nothing tells the agent to prefer this over add/remove_shopping_list_item or shopping_list_items when the goal is toggling state. The only usage-like statement, 'Needs confirm=true', is a hard requirement rather than contextual guidance, and no exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
content_pageC
A CMS content page by id.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and it discloses almost nothing: not whether the call is read-only (implied only by the prepositional phrase), not auth requirements, and not what happens when the id is unknown. With an output schema present, return shape is partly covered elsewhere, but the failure and permission behavior remains undocumented.
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?
It is short, but it is a noun fragment rather than a front-loaded sentence, and the brevity comes from under-specification rather than efficiency. There is nothing to front-load because no useful information is present.
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 low-complexity with one required parameter and an output schema, so the bar is modest, yet the definition still omits id format, read-only nature, and error behavior. An agent could construct the call but could not confidently predict what it does or how to handle failure.
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 0%, so the description must compensate for the lone page_id parameter and does not. It never states whether page_id is a numeric CMS id, a UUID, or a slug, nor any format constraint — "by id" adds no meaning beyond the parameter name itself.
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?
"A CMS content page by id" is essentially a restatement of the tool name plus the single required parameter; there is no verb and no statement of what retrieving the page yields. It is distantly distinguishable from the sibling list only because none of them mention CMS content, not because the description differentiates it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. An agent gets no signal about whether this is for fetching marketing copy, navigation structure, or embedded page data, nor any prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cooperativesB
The Migros cooperative serving a postcode or town, e.g. "8001" -> gmzh.
| Name | Required | Description | Default |
|---|---|---|---|
| zip_or_city | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden; it implicitly frames this as a read-only lookup and the example ('8001' -> gmzh) hints at the return shape. It does not state what happens for an unknown or ambiguous postcode/town, or whether the lookup is exhaustive across regions.
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 short sentence with an inline example, front-loaded and free of padding. It is arguably too terse rather than verbose, but every element present earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with an output schema, the core is covered, but edge-case behavior (unknown/ambiguous input, multiple cooperatives per region) and the relationship to sibling store/address tools are absent. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single parameter, so the description must compensate, and it does: it clarifies that the field accepts either a postcode or a town name and provides a concrete example value. This meaningfully extends beyond the bare 'Zip Or City' string property.
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 identifies the resource ('The Migros cooperative') and the input it maps from ('a postcode or town'), with a concrete example ('8001' -> gmzh). However, there is no explicit verb such as 'look up' or 'resolve', and nothing distinguishes it from sibling lookups like find_stores or address_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as find_stores, store_availability, or address_search, nor any prerequisites or exclusions. The agent must infer the use case entirely from the one-line purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
credits_balanceB
Your Migros account credit balance. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full disclosure burden. It does add one genuinely useful behavioral fact — that authentication is required — but says nothing about read-only safety, error behavior when logged out, or freshness of the balance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and followed by the auth requirement; nothing is padded. It is arguably too terse rather than verbose, but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool that has an output schema, the description covers what is returned and the auth requirement, which is close to sufficient. However, the account-vs-Cumulus scope ambiguity is left unresolved, which matters given how many overlapping wallet and points siblings exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema declares zero properties at 100% coverage, so there is nothing for the description to clarify. Baseline 4 applies for a parameterless tool; the description at least confirms it is account-scoped with no inputs.
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?
Names a specific resource — the Migros account credit balance — so the agent knows it returns a monetary/credit figure rather than points or bons. It does not explicitly distinguish itself from near-neighbours like cumulus_points, cumulus_wallet, or cumulus_bons, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Requires login' is a precondition, but there is no guidance on when to choose this tool over the many other balance/wallet-style siblings. No exclusions, no alternatives, no statement about what happens if the agent is unauthenticated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cumulus_bonC
A single Cumulus bon. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| bon_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the login requirement, which is useful, but says nothing about whether the operation is read-only, what data is exposed, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two short sentences and has no bloated wording. However, the first sentence mostly restates the tool name, and the structure offers little beyond the login note.
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 presence of an output schema reduces the need to explain return values, but the input schema has no parameter descriptions and there are no annotations. For a two-parameter tool, the description is too incomplete about parameters and sibling differentiation.
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 0%, and the description says nothing about either bon_id or full. It does not clarify what identifier format is expected or what setting full=true changes.
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 is essentially a restatement of the tool name with 'single' added. It does not state an action such as retrieve or fetch, so the agent must infer that this returns one Cumulus bon rather than doing something else with it.
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 only guidance is 'Requires login,' which is an authentication prerequisite, not usage guidance. It does not explain when to use this instead of the sibling cumulus_bons or other bon-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cumulus_bonsC
Your Cumulus bons (cash vouchers). Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does state the authentication requirement, which is useful, but says nothing about whether the call is read-only (implied but unstated), rate limits, or what 'full' changes in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding and the resource identified immediately. The brevity is efficient rather than rambling, though it edges toward under-specification.
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?
An output schema exists, so return values need not be explained, but for a voucher-retrieval tool sitting among many cumulus_* siblings the description omits the key discriminating detail: what makes this different from cumulus_bon and what 'full' does.
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 'full' has 0% schema description coverage and the description adds no meaning beyond it. An agent cannot tell whether 'full' expands nested voucher details, includes redeemed/expired bons, or alters response size.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('Cumulus bons (cash vouchers)') and clarifies the local term with a parenthetical, but uses no verb, so the agent must infer that this is a read/list operation. It also fails to differentiate from the near-identical sibling 'cumulus_bon' (singular), which is exactly the ambiguity an agent needs resolved.
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?
'Requires login' is a genuine prerequisite, but there is no guidance on when to call this versus cumulus_bon, cumulus_wallet, cumulus_coupons, or checkout_cumulus_bons. The agent is left to guess from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cumulus_couponB
A single Cumulus coupon by unique id. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| unique_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden; it does add the auth requirement ('Requires login'), which is genuinely useful context beyond the schema. It omits other traits an agent would want for a read: read-only nature, behavior when the id is unknown, and any error conditions. With zero annotation coverage this is thin, but the auth note earns partial credit.
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 clauses, front-loaded with the resource and scope, then the prerequisite; nothing is wasted. The terseness is close to under-specification, but as a structure/economy measure it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the auth requirement is covered. Given a 2-parameter tool with one undocumented flag and no differentiation from cumulus_coupons, the definition is barely adequate rather than 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 0% for two parameters, so the description must explain them. It only gives meaning to unique_id ('by unique id'); the `full` boolean is completely undocumented in both schema and description, leaving the agent unable to tell what it changes about the response.
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?
"A single Cumulus coupon by unique id" identifies the resource and the retrieval scope (singular, keyed by id), which distinguishes it from the sibling list tool cumulus_coupons and from activate_coupon/deactivate_coupon. The only weakness is the absence of an explicit verb such as 'Fetch' or 'Retrieve', so the operation type is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Requires login" is a concrete prerequisite, and 'by unique id' implies the tool is for looking up one known coupon. However, there is no explicit guidance on when to use this instead of cumulus_coupons (to enumerate coupons) or the activate/deactivate siblings, so the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cumulus_couponsB
Your Cumulus coupons (activated and available). Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| with_preview | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose two behavioral facts: authentication is required and the result is limited to activated/available coupons. It does not state that the call is read-only and non-mutating, nor anything about result volume or ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and followed by the auth prerequisite. No wasted wording, though the terse phrasing leaves no room for the parameter clarification that is needed.
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?
An output schema exists, so return values need not be explained, and the login prerequisite covers the main usage constraint. The unresolved gap is the two undocumented boolean flags, which for a simple read tool is the one thing an agent most needs help with.
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 0%: 'full' and 'with_preview' are bare booleans with defaults and the description says nothing about either. An agent has to guess that 'full' widens the payload and 'with_preview' controls preview data, which is exactly what the description should have settled.
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?
Names the specific resource (Cumulus coupons) and narrows scope with the parenthetical '(activated and available)', so an agent knows what set it returns. It does not distinguish itself from the singular sibling cumulus_coupon or from partner_coupons, leaving some ambiguity for selection.
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?
'Requires login' gives a concrete prerequisite for calling it, which is genuinely useful. However, there is no guidance on when to use this list versus cumulus_coupon (presumably a detail view) or partner_coupons, and no note on when-not-to-use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cumulus_pointsB
Cumulus points and spend for the current and previous periods. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden; it does disclose the authentication prerequisite, which is genuinely useful context. However, it says nothing about what login mechanism is expected, whether results are cached or live, or how much history is aggregated, leaving real gaps for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the subject front-loaded and no filler; the scope is stated before the prerequisite. It is efficient rather than padded, though the terseness is partly what leaves the 'full' flag unexplained.
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?
An output schema exists, so return values need not be described, and the login prerequisite is flagged. The definition is still incomplete for a points tool because the sole parameter is left undefined and the sibling relationship is unaddressed.
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 'full' has zero schema description coverage and the description never mentions it, so the agent must guess whether it expands the period range, adds transaction detail, or changes the response shape. With coverage below 50%, the description is expected to compensate and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Cumulus points and spend) and its temporal scope (current and previous periods), so an agent knows exactly what data comes back. It does not distinguish itself from nearby siblings such as cumulus_profile, cumulus_wallet, or cumulus_wrapped, which an agent could easily confuse with a points-balance 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 only guidance is the prerequisite 'Requires login', which tells the agent the call will fail unauthenticated but not how to satisfy it. There is no statement of when to prefer this over cumulus_wallet or cumulus_profile, and no exclusions or alternatives offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cumulus_profileB
Your Cumulus profile: card number, memberships, lifestage. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden, and it does disclose the login requirement — a genuinely useful behavioral trait. It leaves unstated that the operation is a safe read and what happens if the session is unauthenticated, so the disclosure is partial rather than complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse clauses, front-loaded with the resource and its payload, with the auth constraint appended. Nothing is wasted, though the extreme terseness is part of why the 'full' parameter goes unexplained.
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?
An output schema exists, so return-value detail is not required, and the auth note covers the main call precondition. For a tool with one undocumented parameter and no annotations, however, the description should have explained the 'full' flag and distinguished the tool from neighboring profile and loyalty endpoints.
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 'full' has a boolean type, a default and zero schema description coverage, and the description never mentions it. The agent is told which fields come back but not what toggling 'full' changes, which is the only ambiguity an agent faces when invoking this 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 names a specific resource and enumerates the returned attributes: card number, memberships, lifestage. That is enough to distinguish it from data-only siblings such as cumulus_points or cumulus_wallet, though it never explicitly contrasts itself with the adjacent my_profile 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?
'Requires login' implies an authentication precondition, which is a small piece of context. Beyond that there is no guidance on when to call this instead of my_profile, cumulus_wallet or cumulus_points, and no explanation of when the 'full' variant is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cumulus_walletC
Wallet overview: points, and coupon / voucher / stampcard counts. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load: it does disclose the authentication requirement and 'overview' implies a read-only summary. It does not say what the 'full' flag changes behaviorally, nor anything about scoping, caching, or failures beyond the login requirement.
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 front-loaded sentence listing the returned content, followed by the login prerequisite. No padding, though the space saved could have been spent on the undocumented 'full' flag.
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?
An output schema exists, so return values need not be described, but the tool's only parameter is left undefined and no routing against the many cumulus_*/stampcard siblings is given. For an aggregator with an undocumented toggle, this leaves an agent guessing.
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 0% and the single parameter 'full' (boolean, default false) is never mentioned in the description. The one thing the schema cannot convey — what 'full' expands or includes — is entirely absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource and its contents: a wallet overview returning points plus coupon/voucher/stampcard counts. That is more specific than a restated name. It does not, however, distinguish itself from siblings like cumulus_points, cumulus_coupons, or stampcards, which return overlapping data.
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?
'Requires login' is a prerequisite, not a when-to-use rule. Nothing says whether to call this aggregator first and then drill into cumulus_points / cumulus_coupons / stampcards, or when to prefer this over those single-resource siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cumulus_wrappedB
Your Cumulus 'year in review': top products, categories, shop, savings. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the login requirement and the content areas included, but it does not clarify read-only behavior, the time window covered, or what the 'full' option changes.
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 short and front-loads the purpose before the login requirement. It is efficient and readable, with only minor framing that is slightly marketing-oriented rather than purely operational.
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?
Because an output schema exists, the description need not explain return values. It still leaves gaps around the 'full' parameter and broader behavior, but it is adequate for a simple read-oriented summary 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 only parameter, 'full', is not mentioned in the description at all, and the schema provides no description for it (0% coverage). The description therefore does not compensate for the missing parameter semantics, though the single optional boolean is relatively low-risk.
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 that this is a Cumulus 'year in review' covering top products, categories, shop, and savings. It does not explicitly distinguish itself from related siblings such as purchase_analytics or cumulus_points, but the annual-summary framing is specific enough for an agent to understand 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?
The description implies usage for an annual recap and states 'Requires login' as a precondition. However, it provides no explicit when-to-use guidance versus alternatives like purchase_analytics, nor any when-not-to-use exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deactivate_couponA
Deactivate a Cumulus coupon by EAN. Changes account state; needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| ean | Yes | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description does useful work by flagging that this 'Changes account state' and that confirm=true is required, which tells the agent this is a mutation gated behind an explicit flag. It stops short of saying whether deactivation is reversible, what happens to the coupon afterwards, or what confirmation semantics mean beyond passing true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the action and target front-loaded and the safety precondition immediately after. Nothing is redundant and nothing could be trimmed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a state-mutating tool with no annotations, the essentials (target, mutation nature, confirm gate) are present, and an output schema exists so return values need no explanation. However, prerequisites such as authentication/Cumulus session requirements and the consequences or reversibility of deactivation are absent.
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 0%, so the description must compensate: it explains that 'ean' identifies the coupon to deactivate and, critically, that 'confirm' must be true even though the schema defaults it to false. That is meaningful added semantics for both parameters, though EAN format/validation is not described.
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 ('Deactivate') plus a specific resource ('Cumulus coupon') and an identifier ('by EAN'), so the agent knows exactly what operation is performed. It does not explicitly name the sibling activate_coupon as the inverse, but the verb itself is unambiguous against that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (deactivating an existing coupon) and adds one concrete precondition ('needs confirm=true'), but gives no explicit when-to-use/when-not guidance or routing to alternatives such as cumulus_coupon for inspection first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_messagesB
Delete inbox messages. Needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| message_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does disclose the important confirm=true safety gate, which is genuine behavioral context, but it says nothing about whether deletion is permanent or recoverable, what permissions are needed, or whether the whole batch is deleted atomically if one id is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded and no filler. The brevity is efficient, though it borders on under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, multi-id mutation with zero annotations, the description is thin: it omits irreversibility, permission requirements, and batch behavior. The existence of an output schema relieves it of explaining return values, but the safety-critical context an agent needs before calling this is largely absent.
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 0%, so the description must explain both parameters. It clarifies the semantics of confirm (must be true to act, overriding the schema's default of false), but message_ids — the required parameter — gets no explanation of format, source, or limits on how many ids may be passed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Delete inbox messages"), which an agent can distinguish from siblings like inbox and mark_messages_read. It stops short of stating scope details such as single vs bulk deletion, but the core action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "Needs confirm=true" implies this is a guarded destructive operation and tells the agent what is required to proceed. However, there is no explicit when-to-use guidance, no mention of alternatives (e.g., mark_messages_read when the intent is only to archive), and no statement of when the tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delivery_infoC
Delivery information and cut-off times. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only the auth requirement. It does not state that this is a read-only lookup, what the response contains, or whether cut-off times vary by address/fulfilment context — meaningful gaps for a logistics-information tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler — the resource is stated first and the auth prerequisite second. It is efficient, though it errs toward under-specification rather than verbosity.
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?
An output schema exists, so return values need not be described, and a zero-parameter tool is low complexity. Still, the description omits how this differs from the several delivery/fulfilment siblings, leaving an agent to guess which one to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter meaning for the description to add; the baseline of 4 applies. The schema is empty and fully self-explanatory.
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?
"Delivery information and cut-off times" names the resource and adds one concrete content hint (cut-off times), but the operative verb is left implicit and "information" is close to restating the tool name. It gives no signal distinguishing it from siblings like my_delivery_slots, fulfilment_selection, or checkout_timeslots, which plausibly overlap.
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?
"Requires login" is a prerequisite, not usage guidance. There is no statement of when to call this versus my_delivery_slots or checkout_timeslots, and no exclusions or conditions are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
display_panelsC
Retail-media display panels for a page id.
| Name | Required | Description | Default |
|---|---|---|---|
| page_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full disclosure burden and provides almost nothing: it does not state that this is a read-only retrieval, whether authentication or a session is required, whether panels are personalized or region-specific, or how many are returned. Only the presence of an output schema saves it from being completely opaque.
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?
It is a single short fragment with no wasted words and the resource is front-loaded, but the terseness crosses into under-specification: there is no verb to anchor the sentence and no second clause adding the information an agent actually needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the description need not explain return values, and a one-parameter read tool is inherently simple. Still, it omits the read-only nature and the origin of the page id, leaving an agent to infer behavior it should have been told.
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 0%, so the description must compensate for the single parameter, and all it offers is that the id refers to a 'page'. It does not say where a page id comes from (content_page, home_layout, a URL) or what format it takes, which is the key practical question for this call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource ('retail-media display panels') and its key ('page id'), but it is a bare noun phrase with no verb, so it never says whether it fetches, lists, or creates panels. Several siblings (content_page, teasers, home_layout) serve related page-content purposes, and nothing here distinguishes it from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no preconditions, and no mention of any alternative tool. An agent must guess whether this is the right call for page content versus content_page or teasers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
favouritesB
Your favourite products, priced. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the meaningful auth constraint ("Requires login") and the priced nature of the returned data, which is real value beyond structured fields. It stops short of confirming this is a side-effect-free read or describing scope/pagination, but the tool is a zero-parameter listing and an output schema exists, so the remaining gap is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the resource statement is front-loaded ahead of the login prerequisite. Nothing here is redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with an output schema and no annotations, the description supplies what is missing: the content returned (favourite products with prices) and the authentication requirement. Only the differentiation from sibling favourites tools (is_favourite, add_favourite, my_products) is left unaddressed.
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 takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description does not need to compensate for any schema coverage gap (coverage is 100%).
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?
"Your favourite products, priced" identifies the resource (favourite products) and implies a listing with price data, so the verb/resource pair is inferable. However, it never states the operation explicitly (list/retrieve) and gives no differentiation from close siblings like my_products, is_favourite, add_favourite, or remove_favourite, leaving an agent to guess which of these surfaces the favourites collection.
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?
"Requires login" is a prerequisite, not usage guidance. There is no statement of when to choose this over my_products or is_favourite, and no exclusions or context about what a logged-in caller should expect to get back versus the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_storesC
Find stores by town, postcode or name (or coordinates).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| latitude | No | ||
| longitude | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it says nothing about result limits (the default limit of 10 is undocumented), what happens when neither query nor coordinates are supplied, or whether query and coordinates can be combined. Only the basic retrieval semantics are conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the search keys are presented before the coordinate alternative. It is arguably too terse for a 4-parameter tool, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the core inputs are named. Still, a search tool with four parameters at 0% schema coverage and no annotations should clarify the limit behavior and how query versus coordinates interact.
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 0%, so the description must compensate; it does partly by mapping 'town, postcode or name' to the generic `query` parameter and 'coordinates' to latitude/longitude. However, it omits `limit` entirely and gives no format hints (e.g., postcode format, coordinate pair requirements, mutual exclusivity).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find stores') plus the search keys (town, postcode, name, or coordinates), so an agent knows exactly what the tool retrieves. It does not distinguish itself from near-siblings like store_map, store_availability, or address_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no mention of alternatives, even though store_map, store_availability, and address_search sit right beside it. Usage is only implied by the name and the list of search keys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fulfilment_selectionC
Delivery context for a postcode (or the guessed location): cooperative, warehouse, slot.
| Name | Required | Description | Default |
|---|---|---|---|
| zip_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does disclose one genuine behavioral trait the schema does not: when no postcode is supplied, the tool resolves against the guessed location rather than failing. However, it says nothing about whether this is a read-only lookup, what triggers the different fulfilment modes, whether results are cached or scoped to the session, or about 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?
The fragment is short and front-loaded, so it is efficient. But it is compressed to the point of ambiguity: the colon-separated "cooperative, warehouse, slot" reads as an unfinished enumeration with no framing verb, costing more clarity than the brevity saves.
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 zero annotation coverage, 0% schema description coverage, and heavy overlap with a large set of fulfilment/location/delivery siblings, the description does too little. An output schema exists, so return values need not be explained, but the routing information an agent needs to choose this tool over delivery_info or my_fulfilment_selection is absent.
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 0% for the single zip_code parameter, so the description must compensate. It labels the parameter as a postcode and explains that omitting it falls back to a guessed location, which is real meaning beyond the bare nullable string in the schema. It does not specify format expectations (postal code vs. country prefix) or how an incorrect postcode is handled.
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 identifies the resource as "delivery context for a postcode" and hints at the returned dimensions (cooperative, warehouse, slot), so the general area is graspable. But there is no verb and no statement of what the tool actually does with that context, and the trailing list is too terse to be certain whether those are returned mode types or input options. It is not distinguished from close siblings such as delivery_info, my_fulfilment_selection, or checkout_timeslots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no statement of which situations call for this tool versus delivery_info, store_availability, checkout_timeslots, or my_fulfilment_selection. The parenthetical "or the guessed location" hints at a fallback but not at when the caller should pick this tool over the alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_wallet_passB
Create a Google Wallet pass JWT for your Cumulus card. Needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It identifies a creation action and a confirm gate, but does not disclose permissions, side effects, reversibility, rate limits, or what happens when confirm is false.
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 front-loaded sentences with no filler. Both sentences carry actionable information: what is created and the required parameter 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?
An output schema exists, so return-value explanation is appropriately omitted. For a one-parameter create tool the call basics are covered, but with no annotations the missing behavioral and alternative guidance leaves it somewhat incomplete.
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 boolean parameter has 0% schema description coverage, and the description supplies the essential value constraint: confirm=true is required. It does not explain why confirm is needed or what false does, but it adds the critical meaning the schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Create') and resource ('Google Wallet pass JWT') tied to the Cumulus card. It distinguishes the create action from the sibling google_wallet_pass_status by verb, though it does not explicitly name any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a precondition ('Needs confirm=true') but does not explain when to choose this tool over apple_wallet_pass, google_wallet_pass_status, or other wallet tools. Usage is implied by the create verb, but no exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
google_wallet_pass_statusA
Whether your Cumulus card is saved to Google Wallet. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full disclosure burden; it does add real value by declaring the login/authentication requirement and by framing the operation as a non-mutating status query. It says nothing about what happens when the card is absent or the user is logged out, and does not describe error or empty-state behavior. Given an output schema exists, the missing return-value detail is excusable, but the auth and no-side-effect context is the only behavior surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both earning their place: the first defines the result, the second states the gating prerequisite. The purpose is front-loaded and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument, read-only status check with a declared output schema, the description covers what the agent needs: the subject (Cumulus card in Google Wallet) and the auth prerequisite. Only minor gaps remain around logged-out/not-saved handling, which the output schema likely covers anyway.
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 takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. The description correctly implies the call needs no arguments by scoping everything to 'your' Cumulus card.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific query and resource: returning whether the Cumulus card is saved to Google Wallet. The singular noun 'status' plus the 'Whether...' framing makes clear this is a read of state, not a creation flow, which implicitly separates it from google_wallet_pass. It stops short of explicitly naming that sibling or the Apple Wallet counterpart, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the prerequisite 'Requires login', which is genuinely useful for gating the call. There is no explicit statement of when to prefer this over google_wallet_pass (e.g. to check before adding) or apple_wallet_pass, so the agent must infer usage from the name. Adequate but thin.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
greeting_messagesA
The app's greeting texts for your cooperative (morning/afternoon/evening).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. It does add real signal — that the payload is time-of-day partitioned (morning/afternoon/evening) and cooperative-scoped — but it never states that the operation is read-only or whether results depend on which cooperative is currently active.
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 well-formed sentence with the scoping condition and the variant structure front-loaded. Nothing is wasted and nothing essential is buried.
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, return values need no explanation, and a zero-parameter getter needs little more than resource identification. The only meaningful omission is the implicit dependency on an active cooperative, which the description gestures at ('your cooperative') without explaining.
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 takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The parenthetical about morning/afternoon/evening is the closest thing to parameter meaning, hinting at how the returned data is segmented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource — the app's greeting texts — and scopes it to 'your cooperative' with a parenthetical explaining the morning/afternoon/evening variants. It is not a verb-first statement, but for a zero-parameter retrieval tool the resource identification is unambiguous and distinguishes it from siblings like inbox or content_page.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when an agent should call this versus alternatives (e.g., content_page, home_layout, inbox), nor any precondition such as needing an active cooperative selected first. Usage is only inferable from the noun phrase itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
home_layoutC
CMS home layout for guests.
| Name | Required | Description | Default |
|---|---|---|---|
| entry | No | home |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it only obliquely signals an unauthenticated/guest context. It says nothing about whether this is a read-only lookup, whether it depends on session or location, how it is cached, or what happens if the layout is unavailable.
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?
It is a single short sentence with no wasted words and the resource is front-loaded. However, the brevity comes from under-specification rather than economy, so it is concise but not informative.
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?
An output schema exists, so return values need not be explained. Still, for a tool with an undocumented 'entry' parameter, no annotations, and several plausible siblings, the definition omits the guest-session context, the meaning of 'entry', and why one would pick this over home_products or display_panels.
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 0% for the single 'entry' parameter, so the description must compensate, and it does not mention the parameter at all. An agent is left to infer that 'entry' selects a layout entry point and that its default 'home' is valid, with no idea what other values are accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource (CMS home layout) and a scope (for guests), which lets an agent guess it returns merchandising/content layout data rather than products. But it has no verb (fetch/retrieve) and does not distinguish it from near neighbors like home_products, display_panels, or content_page, leaving the specific purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance at all. The phrase 'for guests' hints at an unauthenticated context but is never tied to a decision such as 'use this instead of home_products when the session is not logged in', and no prerequisite or alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
home_productsC
The product slider on the app's home screen.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, yet it says nothing about whether the call is read-only, requires authentication, is user-specific, or how results are ordered. The only behavior conveyed is that the content corresponds to a home-screen slider, which is a restatement of the name rather than added 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 single sentence is tight and wastes no words, but the brevity comes from omission rather than precision. There is no front-loaded verb or scope statement to anchor the agent before it reads the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for a tool with no annotations and an undocumented parameter the description should still cover access/auth expectations and how it differs from the many product-listing siblings. It supplies none of that, leaving the definition materially incomplete.
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 is one parameter, limit, with a default of 12 and 0% schema description coverage, and the description never mentions it. The agent cannot tell from either source whether limit caps the number of slider items returned or has some other effect, so the description fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource — the product slider on the app's home screen — which implies it returns the products featured in that slider. However, it is a noun phrase rather than a verb+resource statement, and it does not distinguish this from nearby siblings like home_layout, product_cards, my_products, or new_products, which plausibly return overlapping content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus home_layout, product_cards, new_products, or my_products — all of which could surface home-screen or featured products. No prerequisites, no exclusions, no mention of whether this is personalized or guest-accessible, so an agent must guess from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inboxB
Your message-center inbox (campaign messages). Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the authentication requirement, which is a real behavioral constraint. However, it says nothing about whether reading the inbox mutates state (e.g. auto-marking messages read), ordering, or volume limits, all of which matter for a message-list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the resource stated first and the auth caveat second; nothing is padded. The parenthetical '(campaign messages)' is efficient disambiguation rather than 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?
Complexity is low (one optional boolean, no nesting) and an output schema exists, so return values need not be explained. Still, the undefined 'full' flag and the absence of any read-vs-mark-read clarification leave an agent short of what it needs to invoke this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter 'full' is a bare boolean with no description. The tool description never mentions 'full' at all, so an agent has no way to know whether it means full message bodies versus a summary, or full history versus unread. This is the clearest gap in the definition.
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 identifies the resource precisely as 'your message-center inbox' and narrows it to 'campaign messages', which usefully disambiguates it from a generic messaging endpoint. It does not name or contrast with the related siblings mark_messages_read or delete_messages, so an agent must infer the relationship.
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?
'Requires login' is the only contextual signal, and it is a prerequisite rather than a when-to-use rule. There is no guidance on when to call this versus mark_messages_read or delete_messages, and no hint about what the 'full' flag changes about the listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_favouriteA
Whether a product is a favourite. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden; it does disclose the authentication requirement, which is the single most important operational fact. It does not state that the call is a non-mutating status check, nor does it describe error behavior for guests or missing products. Given the output schema exists, return-shape details are not expected here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the core purpose is front-loaded ahead of the login constraint. The first sentence is a fragment rather than a complete statement, which slightly weakens clarity for no length savings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity single-parameter status check with an output schema, so the description need not explain return values. Purpose plus the login prerequisite covers most of what an agent needs; only the identifier format and behavior for invalid inputs remain unstated, which are minor 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?
There is one required parameter with 0% schema description coverage, so the description should compensate but largely does not. The phrase 'a product' loosely ties to product_id, and the parameter name is self-explanatory, but the description adds no detail on whether the identifier is a numeric ID, slug, or SKU, nor whether the product must exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (a product) and the specific predicate being evaluated (favourite status), so an agent can distinguish it from siblings like favourites, add_favourite, and remove_favourite. It is phrased as a fragment ('Whether a product is a favourite') rather than an explicit verb, but the meaning is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The prerequisite 'Requires login' gives the agent a gating condition, which is genuinely useful. However, there is no guidance on when to call this versus favourites (the list) or add_favourite/remove_favourite, and no mention of behavior for unknown or invalid product IDs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
label_detailC
Label (certification) page by slug, e.g. "bio-knospe".
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full behavioral burden and mostly fails it: it does not state that this is a read-only lookup, does not say what happens for an unknown slug (error vs. empty), and does not indicate whether the label payload includes linked products or metadata. The only behavioral hint is that lookup is keyed by slug.
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 short sentence with no filler, and the resource identification is front-loaded ahead of the example value. It is terse to the point of under-specification, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the tool is a simple one-parameter lookup. Still, the absence of any annotations plus no usage or slug-provenance guidance leaves meaningful gaps for an agent deciding whether and how to call 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 description coverage is 0% for the single 'slug' parameter, so the description must compensate. It does partially, by giving a concrete example value ('bio-knospe') that reveals the slug format, but it never says where to obtain valid slugs (presumably from label_products) or how slug matching behaves.
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 identifies the resource ('Label (certification) page') and clarifies that 'label' means a certification such as 'bio-knospe', which helps disambiguate from retailer-name meanings. However, the action is only implied by 'by slug' — there is no explicit verb like 'fetch' or 'retrieve' — and it never distinguishes itself from the sibling label_products, which operates on the same label concept.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no mention of the obvious alternative (label_products for listing products under a label). The agent must infer both the purpose and the routing decision from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
label_productsC
Products carrying a label, priced and paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| sort | No | ||
| limit | No | ||
| offset | No | ||
| direction | No | asc |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and only discloses that results are paginated and include pricing. It says nothing about auth requirements, behaviour for an unknown slug, default page size, or total-count semantics — all relevant for a listing endpoint.
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 single fragment has zero wasted words, but it is under-specified rather than concise — it reads like a subtitle, not an instruction. There is no front-loaded verb or structural separation of purpose versus behaviour.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter listing tool with no annotations and no schema descriptions, an output schema only relieves the need to document return values. An agent still lacks the slug semantics, sorting behaviour, and usage context needed to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description should compensate and does not. "Paginated" vaguely gestures at limit/offset, but slug, sort, and direction (including the asc/desc convention) remain completely undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Products carrying a label" essentially restates the tool name label_products; there is no verb (list/retrieve) and no differentiation from the sibling label_detail. The phrase "priced and paginated" adds a hint about the result set but not a distinct 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?
No when-to-use guidance is given and no alternative is named, even though siblings like category_products, new_products, brand_products, and label_detail clearly overlap. The agent must guess whether this is the right tool for browsing by label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
last_orderB
Your most recently placed order. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does disclose a genuine trait beyond the schema — the authentication requirement — but says nothing about behavior when no prior order exists, whether cancelled orders count as 'last,' or any rate/permission 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?
Two short sentences, resource first and prerequisite second, with zero filler. Nothing wasteful for the amount of content present.
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?
An output schema exists, so return shape need not be described, and login is covered. However, the unexplained 'full' flag leaves a real gap for a tool whose only knob is that flag.
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 0% and the single parameter 'full' (boolean, default false) is never explained. The agent cannot tell whether 'full' expands line items, address, payment info, or something else, which materially affects the response and possibly cost.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource with a narrowing qualifier: 'Your most recently placed order,' which implies a single-record fetch as opposed to the list returned by the sibling my_orders. It does not name order_detail or my_orders explicitly, so the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The prerequisite 'Requires login' is a useful usage condition, but there is no guidance on when to pick this over my_orders, order_detail, or order_invoice, which all deal with orders. The agent must infer the choice from the word 'last.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mark_messages_readB
Mark inbox messages as read. Needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| message_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it usefully discloses that confirm=true is required despite the schema defaulting it to false. However, it says nothing about permissions/auth, whether the change is reversible, batching limits on message_ids, or what happens with unknown IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the operation front-loaded and the prerequisite immediately following; no filler. It is perhaps over-terse given the total absence of annotations, but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and the mutation is simple with only two parameters. Still, for an unannotated write operation the description is thin — missing side-effect, idempotency, and permission context an agent would want before calling.
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 0%, so the description must compensate for both parameters. It clarifies confirm's semantics (must be true even though the schema defaults to false), which is real added value, but message_ids is entirely unexplained — no format, limits, or behavior for invalid IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combination ('Mark inbox messages as read') that clearly identifies the operation and the object it acts on. It does not explicitly contrast with the closest sibling, delete_messages, but the distinction is inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one hard prerequisite ('Needs confirm=true'), which is actionable, but offers no when-to-use vs when-not guidance and no mention of the sibling delete_messages. Usage is implied by the verb rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
migros_endpointsA
List the verified endpoint catalogue (method, path, auth requirement).
Args: service: optional prefix filter, e.g. "product-discovery", "retentionapi", "checkout", "shopping-list", "onelist", "recipe".
| Name | Required | Description | Default |
|---|---|---|---|
| service | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'List' plus the returned fields convey that this is a read-only lookup whose payload includes each endpoint's auth requirement, and 'verified' hints the catalogue is curated/static, but nothing is said about result volume, pagination, or whether the catalogue changes at runtime.
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 core purpose is front-loaded in one sentence and the parameter note follows in a short args block. Every element, including the example prefixes, earns its place; nothing is redundant.
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?
An output schema exists, so return-value detail is unnecessary, and a one-optional-parameter lookup tool is simple enough that the description covers what an agent needs. The only shortfall is the absent guidance on how this catalogue relates to migros_request for actual invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the single parameter – and it does: 'service' is described as an optional prefix filter with five concrete example prefixes (product-discovery, retentionapi, checkout, shopping-list, onelist, recipe). That is genuinely more informative than the bare string schema, though it doesn't state matching case-sensitivity or behavior for non-matching prefixes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List the verified endpoint catalogue', and parenthetically names the record fields it returns (method, path, auth requirement). This makes the tool's nature as a static discovery/catalogue lookup clear and separable from action-oriented siblings like migros_request, though it never explicitly names that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implicit: a 'catalogue' tool is understood to be for discovering available endpoints, likely before calling migros_request. There is no explicit when-to-use, when-not-to-use, or statement of the relationship to the sibling request tool, so an agent must infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
migros_login_urlA
Show the OAuth authorize URL and client parameters this device would use.
Complete the flow locally with migros-login (PKCE needs a browser).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, and it delivers the one non-obvious trait: the tool alone cannot finish the OAuth flow because PKCE requires a browser, so this is a partial-step tool. It does not state whether the call is read-only, whether it requires prior authentication, or whether the URL exposes secrets, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the primary action front-loaded and the follow-up constraint second. Nothing is wasted, and the key caveat is not buried.
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?
An output schema exists, so return values need not be narrated here. For a zero-parameter, read-style helper, the description covers what the tool produces and how the flow finishes. The phrase 'client parameters' remains loosely specified, but the output schema likely resolves 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 tool takes zero parameters, so the schema-coverage baseline of 4 applies. The description cannot add parameter meaning beyond the empty schema, and it correctly does not pretend to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Show the OAuth authorize URL and client parameters this device would use.' An agent understands it retrieves an OAuth URL rather than performing the login. It does not differentiate itself from auth-adjacent siblings such as migros_status or migros_request, but no sibling is close enough to create real 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 second sentence implicitly sets the usage boundary by directing the agent to complete the flow with the local `migros-login` CLI because PKCE needs a browser. That is useful routing information, but there is no explicit 'use this when...' statement and no mention of prerequisites such as an existing session or device identity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
migros_requestA
Call any gateway route directly (advanced escape hatch).
Args:
path: path relative to the gateway base, e.g.
"product-discovery/v1/promotions/weekend". Absolute URLs and
".." segments are refused.
method: HTTP verb. Defaults to the catalogue verb for key, else GET.
key: a catalogue key from migros_endpoints(); used instead of path.
params: values for {placeholders} in a catalogue key's path.
query: query-string parameters.
body: JSON body.
confirm: required for every non-GET call, catalogue keys included.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| body | No | ||
| path | No | ||
| query | No | ||
| method | No | ||
| params | No | ||
| confirm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses input guardrails (absolute URLs and '..' segments are refused), the confirmation gate ('confirm: required for every non-GET call, catalogue keys included'), and the method defaulting rule. It omits auth requirements, rate limits, and error behaviour, so it is not exhaustive.
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?
Front-loaded one-line purpose followed by a tight per-argument list with no filler. The example path is the only slightly verbose element, but it usefully illustrates the expected relative-path form.
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 seven-parameter, unannotated, mutation-capable escape hatch, the description covers purpose, guardrails, confirmation requirement, and every parameter's meaning; return values need not be described because an output schema exists. An agent has enough to invoke it safely without guessing.
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 0%, so the description must compensate entirely, and it does: all seven parameters are explained, including the mutual-exclusivity of `path` and `key` ('used instead of `path`'), the placeholder semantics of `params`, and the conditional default for `method`. This is meaning well beyond the bare JSON types in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Call any gateway route directly', with the parenthetical '(advanced escape hatch)' signalling it is the generic fallback rather than a targeted endpoint wrapper. An agent can distinguish it from catalogue-driven siblings like weekend_promotions or search_products, though it never names a specific sibling it supersedes.
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 'advanced escape hatch' framing and the instruction that `key` comes 'from migros_endpoints()' give clear context for when this tool is appropriate. It also implies two operating modes (catalogue key vs raw path) but does not explicitly say to prefer dedicated tools first or warn against using it for routine reads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
migros_statusC
Report environment, gateway, device identity and login state.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full disclosure burden. "Report" implies a read-only probe, but the description does not state whether it requires an authenticated session, whether it makes live network calls that could fail or be slow, or what the resulting state values mean. The presence of an output schema covers return shape but not 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 short sentence with no filler, front-loaded with the verb and the enumerated subjects. It is efficient, though the enumeration is a bare list that leaves key nouns unexplained.
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?
Complexity is low (no parameters) and an output schema exists, which lowers the bar considerably. Still, for a diagnostic tool in a ~90-tool sibling set, the description never says what question this tool answers or when to reach for it, leaving the agent without enough to select it reliably.
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 takes zero parameters, so there is no parameter semantics to document and the baseline of 4 applies. Nothing in the description conflicts with 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?
"Report environment, gateway, device identity and login state" names concrete subjects and a reporting verb, so the general idea (a diagnostic/status probe) comes through. However, the terms "environment" and "gateway" are undefined, and nothing distinguishes this from siblings like my_profile, migros_endpoints, or migros_request, which also expose session/identity-adjacent data. An agent can guess it is a health check but cannot be confident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus my_profile (login state) or migros_endpoints (gateway/environment). No prerequisites, no exclusions, no mention of whether login is required first. Only implied usage can be inferred from the word "status".
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
migros_unroutedA
Paths recovered from the binary that the live gateway does not route.
Kept for transparency: the literals exist in the app, but no candidate service prefix resolved (plain 404), so they are not exposed as tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It usefully explains that these paths are unrouted and resolve to plain 404, which sets expectations, but it does not clarify whether invoking the tool performs a live request or simply returns a static list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core fact and followed by a compact rationale. Every sentence earns its place with no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter informational tool with an output schema, the description is largely complete: it explains the origin and non-routed status of the paths. Minor gaps remain around invocation behavior and intended use, but the low complexity keeps these from being severe.
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 takes zero parameters, so the baseline is 4. The description does not need to add parameter meaning 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 identifies the resource as paths recovered from the binary that the live gateway does not route, and explicitly notes they are not exposed as tools. This distinguishes it from all sibling endpoint tools, though it could more explicitly frame the operation as 'list' or 'report.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. It explains why the data exists ('kept for transparency') but does not state when an agent should call it, whether it is diagnostic-only, or how it relates to the other migros tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_addressB
A single saved address. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| address_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does disclose the authentication requirement, which is genuinely useful. However, it says nothing about whether this is a read-only lookup, what happens with an unknown or other user's address_id, or any permission scoping beyond login.
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, front-loaded sentences with no filler. The brevity is appropriate in form but leaves the definition under-specified rather than over-written.
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?
An output schema exists, so return values need not be explained, and the tool is structurally simple with one required parameter. Still, the missing parameter meaning and lack of annotation coverage for a login-gated resource lookup leave a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter address_id has no title beyond its name, yet the description never mentions it or its expected format. The one parameter that determines the call's success is left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ("a single saved address"), which implicitly distinguishes it from the sibling my_addresses list tool. There is no explicit verb, but an agent can infer retrieval of one address by id 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 only guidance is the precondition "Requires login"; there is no statement of when to use this versus my_addresses or address_search, nor any exclusion. An agent must infer the single-vs-list distinction from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_addressesC
Your saved addresses. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It does disclose one important trait beyond the schema — that authentication is required — which is worth credit. But it says nothing about whether the operation is read-only, whether an empty result is possible (e.g., a user with no saved addresses), or how many addresses are returned; for a tool with zero annotation coverage this is thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the resource identification is front-loaded ahead of the login caveat. It is efficient, though the telegraphic fragment style ('Your saved addresses.') reads more like a label than a description and could have carried a verb at no extra cost.
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?
An output schema exists and there are no parameters, so the description does not need to explain return values or inputs — that lowers the bar considerably. What is still missing is the sibling differentiation an agent needs in a list containing 'my_address', 'address_search', and 'checkout_delivery_addresses'. Minimum viable, but no more.
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 takes no parameters, so there is no parameter meaning to convey and the baseline of 4 applies. The description contains no misleading hints about inputs either, so nothing drags the score down.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('Your saved addresses') but uses a noun-phrase fragment with no verb, so it is not explicit whether this lists, retrieves, or manages them. It also does nothing to distinguish this from the near-identically named sibling 'my_address' or from 'address_search' and 'checkout_delivery_addresses'. An agent can guess the intent, but the boundary between this and its siblings is left to inference.
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?
'Requires login' is a useful precondition, but there is no when-to-use guidance at all. Nothing says whether to pick this over 'my_address' (singular, apparently a single-address lookup) or 'address_search' (evidently a search over addresses). With three address-related siblings in the list, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_delivery_slotsB
Available delivery slots for the user. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden, and it does disclose one genuinely useful behavioral fact: authentication is required. Beyond that it says nothing about whether the call is read-only, what happens when the user is unauthenticated, or whether slots are location-dependent. One real disclosure in an otherwise bare profile lands at the minimum-viable level.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the resource statement is front-loaded ahead of the login requirement. It is efficient, though the brevity is partly a symptom of under-specification rather than disciplined trimming.
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?
An output schema exists, so return values need not be explained, and with zero parameters the schema side is trivially covered. The remaining gap is contextual: in a catalog with checkout_timeslots, delivery_info, and fulfilment_selection, the description never positions this tool relative to them, which is the chief thing an agent needs here.
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 takes zero parameters, so there is no parameter meaning for the description to add; the baseline for a parameterless tool applies. No schema ambiguity exists to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (delivery slots) scoped to the user, so the general intent is comprehensible. However, it uses no specific verb (list/retrieve) and gives no hint of how it differs from near-duplicate siblings such as checkout_timeslots, delivery_info, or my_fulfilment_selection, leaving the agent to guess.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no alternative tool is named, even though the sibling list contains at least three closely related slot/delivery tools. The only guidance offered is a login prerequisite, which is a condition for calling, not a selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_fulfilment_selectionB
The signed-in user's fulfilment selection. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden; it does disclose the auth requirement, which is the most important trait for a user-scoped endpoint. It says nothing further about read-only nature, whether a missing selection yields null/empty, or caching, so it leaves meaningful behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and followed by the precondition. Slightly redundant, since 'signed-in user's' already conveys the login requirement that the second sentence restates, but nothing is wasteful enough to obscure the point.
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?
An output schema exists, so return-value details need not be described, and a zero-parameter call is inherently simple. Still, the definition never clarifies what a 'fulfilment selection' actually is in this domain (delivery vs. pickup mode, store binding) or how it differs from the similarly named sibling, which is the main unresolved ambiguity.
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 takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly implies no inputs are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('fulfilment selection') and scopes it to the signed-in user, which distinguishes it from the sibling 'fulfilment_selection'. However, it is a bare noun phrase with no verb, so an agent must infer that this is a read operation returning the current selection rather than, say, a setter or a status check.
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?
'Requires login' is a genuine usage precondition and implies the tool should only be called in an authenticated context. Beyond that, there is no guidance on when to prefer this over the sibling 'fulfilment_selection', nor what happens if the user has not yet made a selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_locationC
The shopping context used for catalogue calls: cooperative, warehouse, postcode.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden and largely drops it. It does not state that the call is read-only, whether the context is scoped to the authenticated user (despite the 'my_' prefix), or what happens when no location has been set yet.
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?
It is short with no filler, but it is a bare noun phrase rather than a front-loaded action statement. The colon-separated field list is compact and readable, yet the fragment structure makes it read like a schema annotation rather than a tool description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema present, the description need not explain return values, so the bar is low and it partly clears it. It still fails to resolve the read-vs-set ambiguity against set_location, which is the main thing an agent needs in order to choose correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description also enumerates the values that make up the context (cooperative, warehouse, postcode), giving useful shape to an otherwise parameterless call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('shopping context used for catalogue calls') and its components (cooperative, warehouse, postcode), but contains no verb at all. An agent cannot tell from the text alone whether calling it reads the current context or mutates it; that inference depends on contrasting with the sibling set_location.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no exclusion. The obvious alternative, set_location, appears in the sibling list but is never referenced, so an agent is left to infer that my_location is the read counterpart rather than the tool that establishes the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_ordersB
Your online orders, newest first. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| page | No | ||
| page_size | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full behavioral burden; it does disclose the authentication requirement and the result ordering, which are genuinely useful beyond structured fields. It says nothing about what an unauthenticated call does, how pagination behaves by default, or what 'full' changes, leaving the mutation-free read profile only implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the core fact (order history, newest first) is front-loaded. The phrasing is efficient, though the first fragment lacks a verb, which costs a bit of clarity for essentially no length savings.
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?
An output schema exists, so return values need not be described, but for an authenticated listing tool with three undocumented parameters and no annotations, the definition is too thin. It should at least explain 'full' and the paging defaults to let an agent call it correctly on the first attempt.
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 0% for all three parameters (full, page, page_size), and the description says nothing about any of them. 'Newest first' gestures at ordering but does not explain paging or what the boolean 'full' flag expands, so the agent is left guessing at parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Your online orders') and its ordering ('newest first'), which is enough to know it returns a list of the caller's order history. It never distinguishes itself from close siblings like my_products, last_order, or order_detail, and the action verb (list) is only implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Requires login' gives a concrete prerequisite, and 'newest first' hints at the typical use case of browsing recent order history. However there is no explicit guidance on when to pick this tool over last_order (single most recent order) or order_detail (one order's contents), so the agent must infer the boundary from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_phone_numbersA
Phone numbers on your profile. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden; it does disclose the authentication requirement, which is the most important trait here. It never states that the operation is read-only/non-mutating, nor what happens when the user has no phone numbers stored, leaving those traits to inference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the resource stated first and the prerequisite second. Nothing is redundant or buried.
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?
Low-complexity, zero-parameter tool with an output schema that documents the return shape, so the description need not explain return values. The auth caveat is the only real risk factor and it is covered; the read-only nature is the only minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to explain beyond what the empty schema already conveys. Baseline 4 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 phrase 'Phone numbers on your profile' names the specific resource and implicitly the retrieval operation, and it is distinguishable from siblings like my_addresses, my_profile and my_orders by resource scope. It stops short of an explicit verb such as 'list' or 'get', so the agent must infer that this is a read.
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?
'Requires login' states the prerequisite for calling it, which is genuine usage guidance. There is no explicit when-to-use versus alternatives (e.g. my_profile, which may also surface contact data) and no statement of when it returns nothing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_productsB
Your frequently bought products, by how often you buy them. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden; it does disclose the authentication requirement, which is real behavioral context an agent must know before calling. It does not describe pagination, whether results are truncated, or how 'frequently bought' is computed or windowed, leaving notable gaps for an annotation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero padding, and the core purpose is front-loaded ahead of the login prerequisite. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the login requirement is covered. The omission of the sole parameter's meaning and default is the main remaining gap for an otherwise simple single-parameter read 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 single parameter 'limit' has 0% schema description coverage and defaults to 30, yet the description never mentions it — no meaning, no default restatement, no upper bound, no note on how it interacts with frequency ranking. With essentially no schema documentation, the description should have compensated and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource ('your frequently bought products') and the ordering principle ('by how often you buy them'), which distinguishes it from sibling product tools like new_products, home_products, and favourites. The retrieval verb is only implied, but the resource plus ordering makes the function 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 prerequisite 'Requires login' is a useful gating condition, and the frequency ordering hints at why an agent would pick this over a generic product listing. However, no alternative is named and there is no explicit when-not guidance against siblings such as favourites or my_orders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_profileB
Your customer profile. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden; it does disclose the auth requirement, which is real behavioral context. However it says nothing about whether the call errors or returns empty when unauthenticated, or about caching/sensitivity of the returned data, so disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the identity of the resource and then the precondition. Nothing is redundant and nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema covering return values, the description only needs to explain the resource and the auth gate, and it does both minimally. It stops short of describing what profile data is included or the failure mode when unauthenticated.
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 takes zero parameters and the schema is trivially complete, so there is nothing for the description to disambiguate. Baseline of 4 applies for a no-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?
"Your customer profile" names the resource but supplies no verb and no scope, so an agent cannot tell what it returns compared with siblings such as cumulus_profile, my_addresses or my_orders. It is decipherable from the name but adds little beyond it.
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 only guidance is the prerequisite "Requires login", which is useful but is an auth condition rather than a when-to-use rule. There is no statement of when to pick this over cumulus_profile or any other profile-adjacent sibling, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_recipesC
Your favourite recipes. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden; it does disclose the login requirement, which is genuinely useful preconditions information. It says nothing about whether the call is read-only, how results are ordered or paginated, or what happens when the user has no favourites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the resource statement is front-loaded. It is terse rather than padded, though brevity here shades into under-specification.
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?
An output schema exists, so return values needn't be explained, but the description still omits what a "favourite recipe" record is, how it relates to the favourites and recipe siblings, and what limit does. For a tool with no annotations and zero schema coverage, this leaves the agent guessing.
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 0%, and the description never mentions the single limit parameter or its default of 20. An agent must open the schema to learn the parameter exists and gets no semantic guidance on what limit bounds.
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?
"Your favourite recipes" names the resource but gives no verb, so it's ambiguous whether the tool lists, fetches, or filters recipes. It also doesn't distinguish itself from the sibling favourites or search_recipes/recipes_by_category 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 only guidance is "Requires login" — an auth prerequisite rather than a usage condition. Nothing says when to call this instead of favourites, my_products, search_recipes, or recipes_by_category.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
new_productsC
Products newly added to the assortment, priced.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden and falls short. It does not say this is a read-only listing, how results are ordered, or that the result set is paginated — the only hint about behavior is the word 'priced'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four words is not padded, but the brevity comes from under-specification rather than economy of expression. Nothing is front-loaded because there is essentially nothing to front-load.
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?
An output schema exists, so return values need not be explained, but the pagination parameters and read-only nature remain undocumented with no annotations to fall back on. For a product-listing tool in a crowded sibling set, the definition leaves too much implicit.
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?
Both parameters have 0% schema description coverage, yet the description says nothing about limit or offset, so their meaning and defaults are left entirely undocumented. The description would need to compensate for the schema gap and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The fragment identifies the resource and scope — products newly added to the assortment, with prices — which does differentiate it from siblings like my_products or home_products. But there is no verb (list? fetch?) and no indication of the source or ordering, so the agent must infer it is a discovery feed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given, and no alternative is named even though search_products, home_products, my_products, and product_cards all return product data. Nothing tells the agent when to prefer this over those siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
order_authorization_stateC
Payment authorization state of an order. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It usefully discloses the login requirement, but does not state that the operation is read-only, what happens when the order is unauthorized, whether it exposes sensitive payment data, or what errors can occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the core resource is front-loaded. It is terse to the point of omitting useful context, but there is no wasted wording.
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 (one parameter) and has an output schema, so return-value explanation is not required. However, with no annotations and no parameter documentation, the description should do more to explain authentication behavior and how the state result should be interpreted.
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 0% and the single order_id parameter is undocumented in the schema. The description says only 'of an order,' which weakly implies order_id identifies the target but adds no format, source, or constraint details beyond the parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and state: 'Payment authorization state of an order.' It implicitly contrasts with sibling authorize_order, which performs authorization rather than reporting it, though it lacks an explicit verb such as 'get' or 'retrieve'.
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 only guidance is 'Requires login.' There is no explanation of when to call this instead of authorize_order, order_detail, checkout_payment_options, or other payment-related siblings, and no exclusion conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
order_detailC
A single order with its line items. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| order_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden. It usefully flags the login requirement, but says nothing about read-only nature, what happens if the order_id is missing or belongs to another account, or how the 'full' flag alters the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource return and followed by the access constraint. No wasted words, though the terseness comes at the cost of substance rather than being paired with it.
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?
An output schema exists, so return-value documentation is not required, and the login requirement is disclosed. However, with zero schema coverage and no annotations, the undefined 'full' parameter and unqualified order_id format are meaningful gaps for a tool whose behavior hinges on them.
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 0%, so the description must compensate for both parameters and does not. The meaning of the optional 'full' boolean is completely unexplained, and the expected format of 'order_id' is left to guesswork; only the vague implication that line items are included hints at what 'full' might control.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: 'A single order with its line items.' The word 'single' implicitly contrasts with the list-returning my_orders sibling, but the description never names that sibling, so differentiation is left to inference.
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?
'Requires login' is a prerequisite, not usage guidance. There is no statement about when to reach for this over my_orders, last_order, or order_invoice, and no exclusions or error conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
order_invoiceC
Invoice document for an order. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It adds the useful login requirement, but does not state whether the operation is read-only, whether it returns a downloadable document or metadata, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with no wasted wording. Its brevity is appropriate, though it sacrifices useful 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?
The output schema exists, so return values need not be explained in detail. However, for a no-annotation tool with an undocumented parameter, the description is too thin to fully clarify what the invoice retrieval does and what constraints apply.
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 0% for the single required order_id parameter. The phrase 'for an order' loosely connects order_id to an order, but gives no format, constraints, or additional 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 identifies the resource as an invoice document tied to an order, but it does not use a clear action verb such as retrieve or download. It also does not distinguish this tool from nearby siblings like order_detail or order_payment_slip.
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 only guidance is the prerequisite 'Requires login.' There is no explicit guidance on when to use this tool versus order_detail, order_payment_slip, or other order-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
order_payment_slipB
Payment slip (QR-bill) for an order. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries full behavioral burden: it does disclose the authentication requirement ('Requires login'), which is genuine context an agent needs. It does not say whether the slip is returned as binary/PDF, a URL, or structured data, nor whether the order must already be placed or authorized.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource, then the auth prerequisite. No filler, though it is arguably under-specified rather than optimally terse.
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?
An output schema exists, so return values need not be described, and the tool is a simple one-parameter read, keeping complexity low. However, the undefined order_id and the unknown slip delivery format leave gaps that the description should have closed.
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 order_id has 0% schema description coverage, and the description adds no meaning — it never states the identifier format, where it comes from (e.g., my_orders or last_order), or whether it must be an authorized order.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: retrieves a payment slip (QR-bill) for an order. The parenthetical 'QR-bill' disambiguates it from sibling order_invoice and order_detail, though it never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. 'Requires login' signals a prerequisite but does not say when to call this versus order_invoice, order_authorization_state, or checkout_payment_options, and gives no exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
partner_couponsC
Cumulus partner coupons. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden of behavioral disclosure. It does disclose the authentication requirement, which is genuinely useful, but says nothing about whether this is a read-only listing, what it returns, or any rate/side-effect 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?
Two very short sentences, front-loaded and free of padding, so nothing needs trimming. However, the brevity reflects under-specification rather than efficient communication.
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 presence of an output schema means return values need not be described, but the definition still fails to distinguish this tool from its near-identical siblings or explain its sole parameter. For a tool in a dense coupon cluster, that leaves an agent without enough to select 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 optional boolean parameter 'full' has 0% schema description coverage and is never mentioned in the description, so an agent cannot know what toggling it does. With low coverage the description was expected to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Cumulus partner coupons' essentially restates the tool name, adding only the domain label 'Cumulus'. There is no verb indicating what operation is performed (list? fetch? activate?) and no differentiation from the closely named siblings cumulus_coupons and cumulus_coupon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this over cumulus_coupons or cumulus_coupon is given. The only contextual hint is 'Requires login', which is a prerequisite rather than a usage rule, and even that omits what to do when unauthenticated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_orderC
Place an order. Spends money; requires confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| payload | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the single most important trait: the call spends money. It omits reversibility (cancel_order exists), authorization requirements, and any failure modes, so a financially consequential write operation is only half-characterised.
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 clauses, front-loaded with purpose then the cost warning; nothing is padded or redundant. It is telegraphic to the point of under-specification, but not through 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 money-spending tool with a required open nested payload, zero schema description coverage, and no annotations, this is not enough to call correctly. The existence of an output schema covers return values, but the input contract and preconditions remain undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It usefully clarifies that confirm must be true rather than merely defaulting to false, but the required nested payload object is left entirely unexplained — the agent has no idea what keys that open object expects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Place an order") that an agent can distinguish from read-only siblings like my_orders or order_detail. It does not, however, distinguish itself from near-neighbours such as authorize_order or add_order_to_shopping_list, which an agent could plausibly confuse it with.
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 only guidance is the inline precondition "requires confirm=true", which reads as a parameter constraint rather than when-to-use guidance. Nothing tells the agent what must precede a call (e.g. checkout_context / checkout_summary / authorize_order) or when a sibling is the better choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
product_cardsB
Priced summaries for a list of product uids (one call per 50).
| Name | Required | Description | Default |
|---|---|---|---|
| store_type | No | ONLINE | |
| product_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full disclosure burden. It implies a read-only lookup and discloses the 50-item batch ceiling, which is genuinely useful operational context. It says nothing about authentication, per-item failure behavior, or whether missing uids are omitted or error out.
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 short sentence with the batching constraint front-loaded and no filler. It is efficient, though this brevity is part of why key semantics like store_type go uncovered.
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?
An output schema exists, so return-value explanation is fairly excused. For a tool with an undocumented store_type dimension affecting pricing and 0% schema coverage, the description is too thin: it omits what store_type changes, whether card prices differ by store, and how partial results are handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that product_ids are uids and that at most 50 should be passed per call, which is helpful. The second parameter, store_type (defaulting to ONLINE), is never mentioned anywhere, leaving its effect on pricing entirely undocumented.
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?
"Priced summaries for a list of product uids" names the resource (product cards) and the payload type (priced summaries) with enough specificity to distinguish it from a single-item tool like product_detail. However, it never explicitly contrasts itself with product_detail or search_products, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical "one call per 50" gives concrete batching guidance, which is real usage value. But there is no statement of when to prefer this over product_detail or search_products, and no mention of prerequisites such as needing product uids from a prior search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
product_detailA
Product detail by uid (the uid in search results).
Args: product_id: product uid, e.g. "100006357". full: return the raw response (ingredients, nutrients, origin, ...). store_type: ONLINE or OFFLINE.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| product_id | Yes | ||
| store_type | No | ONLINE |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add one real behavioral signal: `full` switches to the 'raw response (ingredients, nutrients, origin, ...)', implying the default is a trimmed view. It says nothing about authentication, invalid-uid behavior, or whether store_type affects pricing/availability, which matters for a tool with a channel parameter.
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?
Front-loaded purpose sentence followed by a compact per-parameter list; no filler. The Args-block formatting is a docstring artifact but costs little space and stays scannable.
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?
An output schema exists, so return values need no explanation, and all three parameters are covered. What is missing for a product-lookup tool in this dense sibling set is disambiguation guidance and any note on failure modes for an unknown uid, leaving it adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does document all three parameters: product_id with a concrete example value, full with what it returns, and store_type with its two allowed values. The `full` explanation is slightly hand-wavy ('raw response') and store_type's effect on results is left unexplained, keeping it below a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first line states a specific resource and retrieval mode: 'Product detail by uid', and ties the identifier to the sibling workflow ('the `uid` in search results'), which separates it from search_products, product_cards, and category_products. It stops short of naming any sibling explicitly, so the distinction is inferable rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the parenthetical tells the agent to obtain the uid from search results first, which sketches a workflow but never says when to pick this over product_cards, category_products, or scan_barcode. There are no exclusions or preconditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
product_filtersB
Facets available for a search (ids and counts), optionally with filters applied.
The facet ids are what search_products accepts in filters.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| applied | No | ||
| store_type | No | ONLINE |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It discloses that results are facet ids plus counts and that filters can be applied, but it never says whether counts are computed against the bare query, the query plus `applied` filters, or whether facets are scoped by store/locale, and no auth or rate-limit context is given. With an output schema present, the return shape does not need explaining, which keeps this at a middle score rather than lower.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the return content and followed by the integration hint; nothing is padded. It is efficient, though efficient at the cost of detail rather than dense with useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A three-parameter, zero-coverage schema with no annotations needs more than this. The critical ambiguity — how `query` and `applied` interact and what `store_type` selects — is exactly what the description should resolve, and it does not; only the output schema saves it from being fully underspecified.
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 0% for all three parameters. The description only vaguely gestures at `applied` ('optionally with filters applied') and never explains how `query` relates to `applied`, nor what `store_type` means or that it defaults to ONLINE — a domain-relevant distinction between online and physical store facets is left entirely undocumented.
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 concretely what is returned (facets: ids and counts) for a search, optionally narrowed by applied filters. That is enough to distinguish it from product-search siblings, and it explicitly identifies search_products as the consumer of the facet ids.
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 line 'The facet ids are what search_products accepts in `filters`' implicitly tells the agent to call this before search_products when building filters, which is genuine routing value. However there is no explicit when/when-not guidance (e.g. versus autocomplete or category_products) and no statement of whether calling it without `applied` is a preview or a full facet set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promotion_detailC
Detail of a single promotion id (from promotions).
| Name | Required | Description | Default |
|---|---|---|---|
| promotion_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. It never states that this is a read-only lookup, whether authentication is required, what happens with an invalid or expired promotion id, or any rate/caching 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?
One short sentence with no filler, and the resource being fetched is front-loaded. Slightly awkward phrasing and an under-informative parenthetical keep it from a 5, but there is no wasted wording.
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?
An output schema exists, so return values need not be explained, and there is only one parameter. Still, with zero schema coverage on that parameter and a confusingly similar sibling tool, the description falls short of what an agent needs to invoke this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the single required 'promotion_id' parameter is undocumented in the schema. The description partially compensates by naming the parameter and indicating its provenance ('from promotions'), but adds nothing about format, validity, or failure behavior for an unknown 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 says it returns the detail of a single promotion identified by id, which is a recognizable verb+resource. However, the sibling list contains both 'promotions' and 'promotion_details', and the description never explains how this tool differs from 'promotion_details' (plural), leaving real ambiguity about which one to call.
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 parenthetical '(from promotions)' hints that ids come from the promotions listing, which is a light implied workflow. It gives no explicit when-to-use or when-not guidance and, critically, no disambiguation from the near-identical 'promotion_details' sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promotion_detailsC
Details for a comma-separated list of promotion ids.
| Name | Required | Description | Default |
|---|---|---|---|
| promotion_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It never confirms the call is read-only, says nothing about behavior for unknown or malformed ids, auth needs, or limits on how many ids can be supplied. The only genuinely useful disclosure is the comma-separated input convention.
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 short sentence with the key input convention front-loaded and no filler. It is efficient, though its brevity borders on under-specification rather than tight editing.
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?
An output schema exists, so return values need not be explained, but with zero annotations and near-zero schema coverage the description should have covered read-only nature, id format, and routing versus promotion_detail. It does none of these, leaving an agent to guess on a one-parameter batch lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — the schema only gives a string type and the title 'Promotion Ids'. The description adds real meaning by stating the parameter is a comma-separated list, which the schema does not. It still omits id format, example values, and any batch-size guidance, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a resource ('promotion ids') and implies a batch lookup, which loosely separates it from the singular sibling promotion_detail and the list sibling promotions. However, 'Details for...' is a weak verb phrase and never explicitly says it returns promotion records for the given ids, so the agent must infer the 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?
There is no guidance on when to use this tool versus promotion_detail, promotions, or weekend_promotions, all of which appear in the sibling list. The only implicit cue is 'comma-separated list', which suggests batch use, but no exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
promotionsC
Current Migros promotions (Aktionen): discount, dates, product ids.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only listing of current promotions and names some returned fields, but says nothing about authentication, pagination behavior, rate limits, or how results are ordered.
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 redundant wording. It is efficiently structured, though its terseness comes at the cost of missing guidance rather than being overlong.
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 paginated list tool with an output schema, the description still needs to explain pagination and its relationship to sibling promotion tools. It leaves both unaddressed, which is a meaningful gap despite the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the limit or offset parameters at all. Their names and defaults in the schema give basic hints, but the description adds no meaning about pagination semantics, maximum limits, or what happens when they are omitted.
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 identifies the resource (current Migros promotions) and the data it contains (discount, dates, product ids), so the basic purpose is inferable. However, it lacks a clear verb and does not distinguish this general promotions list from siblings like weekend_promotions or promotion_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus promotion_detail, promotion_details, or weekend_promotions, nor are any prerequisites or exclusions stated. Usage must be inferred entirely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_analyticsC
Online-shopping status: first order, ongoing delivery pass. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden, and it discloses only the auth prerequisite ('Requires login'), which is genuinely useful. It says nothing about whether the call is read-only, what the 'first order' and 'delivery pass' states mean, or what happens when the user has neither.
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?
It is short and front-loads the login requirement, so there is no wasted padding. However, the colon-and-fragment style ('first order, ongoing delivery pass') is compressed to the point of being unparseable, trading clarity for brevity rather than earning 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?
An output schema exists, so return values need not be explained, and with zero parameters the structural burden is low. Even so, the core semantic question – what 'purchase analytics' actually reports and when an agent should reach for it – is left unanswered, which is too thin for a tool competing with a dozen order- and delivery-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics for the description to add; the baseline of 4 applies. The empty schema imposes no documentation debt that the description neglects.
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 reads as a note fragment ('Online-shopping status: first order, ongoing delivery pass') rather than a verb+resource statement, and it never reconciles the name 'purchase_analytics' with those two cryptic labels. An agent cannot tell whether this returns an order-history summary, a subscription/delivery-pass flag, or eligibility state, and no sibling is referenced for contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all – nothing distinguishes it from neighbours like my_orders, last_order, delivery_info, or order_authorization_state. The only conditional content is 'Requires login', which is a prerequisite rather than a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt_detailB
One digital receipt (HTML/JSON as the gateway returns it). Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does add two useful facts beyond the schema: authentication is required, and the payload is returned as raw HTML/JSON from the gateway. It says nothing about error behavior for unknown ids or whether the format varies, which leaves notable gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short clauses with the resource stated first and the auth constraint second; nothing is padded. It is slightly too terse to be maximally useful, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the auth requirement plus the raw-HTML/JSON caveat cover the essentials for a one-parameter read. The missing provenance of receipt_id and the lack of sibling routing keep it only 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 0%, so the description must explain receipt_id. It never says where the id comes from, whether it is the same id used by receipts/receipt_products, or its format, so it adds essentially no meaning beyond the bare property 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?
"One digital receipt" names the resource and scopes it to a single item, which implicitly contrasts with the sibling receipts (list) tool. However, it lacks an explicit verb like "fetch" or "retrieve" and never names receipt_products or order_detail as related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is "Requires login." There is no statement of when to call this versus receipts (to get an id first) or receipt_products (for line items), and no mention that receipt_id must come from the receipts listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receipt_productsC
The line items of a digital receipt. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses only that login is required. It says nothing about whether the receipt must belong to the authenticated user, what happens with an unknown receipt_id, or whether results are paginated or filtered.
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, front-loaded sentences with no filler; the resource is stated first and the auth constraint second. The brevity is a virtue structurally, though it leaves content gaps addressed in other dimensions.
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?
An output schema exists, so return values need not be described, and the login requirement is flagged. For a one-parameter read tool that may be nearly sufficient, but the missing receipt_id semantics and absent sibling routing leave real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter receipt_id is undocumented in the schema. The description does not compensate at all, never mentioning receipt_id or where its value comes from (presumably the receipts or receipt_detail tools).
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 fragment 'The line items of a digital receipt' tells an agent what resource is returned, but supplies no verb and no differentiation from close siblings such as receipt_detail and receipts. An agent must infer that this returns line items for a single receipt rather than a receipt summary.
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?
'Requires login' is an authentication prerequisite, not usage guidance. Nothing states when to pick this over receipt_detail, or what condition on receipt_id selects this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receiptsA
Your digital till receipts (in-store and online), newest first. Requires login.
Args: start_date: ISO date (YYYY-MM-DD) to list receipts from; defaults to two years ago (the endpoint requires it). full: return raw receipts instead of the summary.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does deliver real context: authentication is required, results are ordered newest first, and the start date defaults to two years ago because the endpoint demands it. It omits pagination, result caps, and whether the summary form is truncated — meaningful gaps for a list tool with a two-year default range.
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?
Front-loaded with the purpose and the login prerequisite in two short sentences, then a compact per-argument block. The parenthetical '(the endpoint requires it)' is slightly redundant but justifies the unusual default, so it 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?
An output schema exists, so return values need no explanation, and both parameters are documented despite zero schema coverage. For a two-parameter read tool, the definition covers purpose, prerequisites, defaults, and output-shape selection; only pagination behavior is unaddressed, which is minor here.
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 0%, so the description must compensate, and it does: 'start_date' is given a format (ISO YYYY-MM-DD), a purpose, and the effective default of two years ago; 'full' is explained as returning raw receipts rather than the summary. The one gap is that the schema permits null for start_date, which the description only indirectly explains via the default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource ('Your digital till receipts') with scope ('in-store and online') and ordering ('newest first'), which an agent can distinguish from receipt_detail or receipt_products as the list-versus-detail distinction is implicit. It never names those siblings explicitly, so differentiation depends on inference.
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?
'Requires login' gives one concrete prerequisite, and the newest-first list framing implies this is the entry point before receipt_detail. However, there is no explicit when-to-use versus when to call receipt_detail or receipt_products, and no guidance on what to do when the default two-year window is too broad.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_detailB
A single recipe with ingredients and steps. No login required.
| Name | Required | Description | Default |
|---|---|---|---|
| recipe_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose one useful trait: no authentication is needed. However, it says nothing about whether the call is read-only, what happens with an invalid or unknown recipe_id (error vs empty), or any rate limits, which leaves the behavioral picture thin for a tool with zero annotation coverage.
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 brief sentences, front-loaded with the resource and its contents; no filler or redundancy. The sizing is defensible for a single-parameter lookup tool with an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, return values need not be explained, and the description correctly avoids that. But for a tool whose sole input must come from another endpoint, it omits the essential context of how to obtain a recipe_id, leaving a gap a caller must infer.
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 exists, and its meaning (recipe identifier) is directly conveyed by the tool's framing as a fetch of a single recipe. The schema has 0% description coverage, so the description does carry the semantic load here, and it does so adequately even without stating an ID format or where IDs originate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — a single recipe — and states what it contains (ingredients and steps), which distinguishes it reasonably from search_recipes or recipes_by_category. It lacks an action verb and never names the sibling tools it is meant to follow, so the differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing says where a recipe_id comes from (search_recipes, recipes_by_category, my_recipes) or when to prefer this over those tools. The only extra information given, 'No login required', is an auth trait rather than usage selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipes_by_categoryB
Recipes grouped by category (Migusto). No login required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose one genuinely useful trait — "No login required" — which tells the agent guest access works, but it says nothing about what the grouping looks like, how large the payload is, or whether results are cached/static.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the auth-relevant fact is stated up front. Slightly terse to the point of under-specification, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and zero parameters means little schema burden. However, for a browsing tool sitting among many recipe siblings, the description leaves the agent guessing about result shape and its relationship to the other recipe endpoints.
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 takes zero parameters, so there is nothing for the description to disambiguate; the baseline applies. The only mild tension is that "by category" might imply a category selector, but the empty schema resolves that.
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?
"Recipes grouped by category (Migusto)" identifies the resource and the grouping, but there is no real verb and no differentiation from the many sibling recipe tools (recipe_taxonomies, search_recipes, recipe_detail, my_recipes). An agent cannot tell from this line whether it returns the category tree, all recipes bucketed by category, or something else.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all. With four sibling recipe tools available, the description never says when to pick this one over search_recipes or recipe_taxonomies, and offers no exclusions or prerequisites beyond the login note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recipe_taxonomiesB
Recipe taxonomies (cuisines, diets, ...). No login required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the full burden, and it does disclose one real behavioral fact: no authentication is needed. It says nothing about whether results are static, cached, paginated, or how large the taxonomy set is, which are the traits an agent would want for a catalogue-style endpoint.
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 fragments with the resource named first and the auth note second, so it is front-loaded and wastes no words. The trailing ellipsis in '(cuisines, diets, ...)' is slightly muddy but acceptable given the brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with an output schema, the description covers the essentials: what it returns conceptually and that no login is needed. The notable gap is its relationship to sibling tools like recipes_by_category, which is exactly the ambiguity an agent needs resolved here.
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 takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-parameter schema applies. The '(cuisines, diets, ...)' note usefully hints at the shape of the returned taxonomy keys even without 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 names the resource (recipe taxonomies) and gives two example values (cuisines, diets), which is enough to know it enumerates classification vocabularies. However, there is no verb and no differentiation from the sibling recipes_by_category, which an agent could easily confuse with this 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 only guidance offered is 'No login required', which is an auth property rather than a when-to-use rule. Nothing states when to call this versus recipes_by_category, search_recipes, or recipe_detail, so the agent must infer the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redeem_cumulus_bonA
Redeem a Cumulus bon into the current basket. Changes checkout; needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| bon_number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It usefully discloses that the operation mutates checkout state and that confirm=true is required, which is real behavioral context, but it omits reversibility, auth/permission requirements, and what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the action and the constraint front-loaded, no filler. Slightly telegraphic wording ('Changes checkout') but nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with an output schema available, the description covers the core action, the checkout side effect, and the confirm gate. Remaining gaps (bon_number semantics, irreversibility) are modest given the output schema handles returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with two parameters. The description clarifies that confirm=true is a required gate for actually performing the redemption (beyond the schema's default false), but bon_number is never explained, so it only partially compensates for the documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Redeem) and resource (Cumulus bon) plus the target (current basket), which distinguishes it from read-oriented siblings like cumulus_bons or cumulus_bon. It lacks an explicit contrast with activate_bon, so it stops just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when to use it ('into the current basket') and signals a prerequisite ('needs confirm=true'), but gives no explicit when-not guidance or named alternative such as activate_bon. Usage is inferable rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_favouriteB
Remove a product from favourites. Changes account state; needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does disclose that this mutates account state and requires confirmation. It omits reversibility, idempotency, what happens if the product is not already a favourite, and whether confirm=false causes a rejection rather than a silent no-op.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action first and the precondition second; nothing is wasted. Slightly terse given the mutation involved.
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?
An output schema exists, so return values need not be explained. For a two-parameter mutation, though, the description should say what happens on confirm=false or on a product that is not currently favourited.
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 0%, so the description must compensate. It explains the meaning of confirm (a guard for the mutation), which the bare schema does not convey, but leaves product_id undefined and does not say what value identifies a product.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Remove a product from favourites'), which clearly distinguishes it from add_favourite, is_favourite, and favourites siblings. Missing only an explicit pointer to those alternatives, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly tells the agent this is the de-favourite operation and adds a hard prerequisite ('needs confirm=true'). It does not state when not to use it, or route to add_favourite/is_favourite as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_shopping_list_itemA
Delete a shopping-list item (Firestore write). Needs confirm=true.
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| item_id | Yes | ||
| list_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden; it does disclose that this is a mutating Firestore write and that a confirm flag must be set true, which is a meaningful safety gate beyond nothing. It omits reversibility, required permissions/ownership, and error behavior for missing items, leaving substantial gaps for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the core action front-loaded and the required precondition immediately after. No filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-item deletion with an output schema present, the description covers the essential action and the confirm requirement. It is only slightly thin on failure modes and ownership preconditions, which are low-risk given the tool's narrow scope.
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 0% across three parameters, so the description must compensate. It adds real meaning for 'confirm' (must be true, overriding the schema default of false) but says nothing about list_id or item_id beyond their self-evident names, leaving a partial gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a shopping-list item'), which cleanly separates it from siblings like add_shopping_list_item, complete_shopping_list_item, and shopping_list_items. It stops short of naming those siblings explicitly, so an agent must infer the boundary from the verb alone.
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 'Needs confirm=true' clause gives a precondition for invocation, which implies usage. However, there is no guidance on when to prefer removal over complete_shopping_list_item, nor any note about what happens if the item or list does not exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_barcodeC
Look up products by barcode (EAN/GTIN), e.g. ["7614500010013"].
| Name | Required | Description | Default |
|---|---|---|---|
| gtins | Yes | ||
| store_type | No | ONLINE |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioural burden, and it discloses almost nothing: no auth requirements, no rate limits, no statement of what happens if a GTIN is not found, and no indication of whether a single or batched response comes back. Only the existence of an output schema relieves it of describing return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with a concrete example and no filler. It is efficient, though arguably too terse given the undocumented second parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter lookup tool with zero annotation and zero schema-description coverage, the definition leaves key gaps: the store_type parameter's meaning and valid values, and any behavioural contract for missing or invalid barcodes. The output schema covers return values, but the input side remains under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does clarify the format of 'gtins' via the EAN example array, but 'store_type' — a parameter with a default of ONLINE and no enum — is never mentioned, leaving the agent to guess what values are valid and what the default means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Look up products by barcode') and names the identifier standard (EAN/GTIN), which separates it from keyword-based siblings like search_products or autocomplete. It stops short of explicitly naming those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the barcode framing tells an agent this is the tool for scanning a known code rather than browsing or searching. There is no statement of when to prefer it over search_products, nor any note on batch size, unknown-GTIN behaviour, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsA
Search the Migros catalogue: name, price, unit price, promotion, stock.
Uses your account's region when logged in, else the guest location (see set_location).
Args:
query: free text, e.g. "hafermilch" or "ovomaltine".
limit: products per page (1-50, default 10).
offset: pagination offset (use next_offset from the previous page).
sort: relevance | price | price_per_unit | discount_percentage | brand.
direction: asc | desc.
filters: facet ids -> values, e.g. {"product_bio": true},
{"promotion": true}, {"product_of_switzerland": true}, {"new": true},
{"product_special_nutrition": ["vegan"]}. product_filters lists them.
store_type: ONLINE (Migros Online assortment) or OFFLINE (in store).
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| limit | No | ||
| query | Yes | ||
| offset | No | ||
| filters | No | ||
| direction | No | asc | |
| store_type | No | ONLINE |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose non-obvious behavior: results are region-scoped by account when logged in and fall back to the guest location otherwise, and store_type switches the assortment between ONLINE and OFFLINE. It omits anything about auth requirements for logged-in region resolution, error behavior, or result caching, keeping it below a 5.
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?
Front-loaded with the one-line purpose, then location semantics, then a clean per-parameter Args list, so scannability is high. Slightly wasteful: the opening field enumeration ("name, price, unit price...") overlaps with what the output schema already conveys.
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?
An output schema exists, so return values need not be explained, and the description covers everything else an agent needs to call correctly: query format, pagination contract, sort/direction values, filter shape, assortment switch, and location resolution. Nothing material is left missing for a 7-parameter search.
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 0%, so the description has to do all the work and does: it gives query examples, the 1-50 limit range with default 10, the offset/next_offset pagination idiom, the full sort enum (relevance | price | price_per_unit | discount_percentage | brand), asc/desc direction, concrete filter examples, and the ONLINE/OFFLINE store_type values. This turns seven undocumented schema fields into an actionable contract.
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?
Opens with a specific verb and resource ("Search the Migros catalogue") and enumerates returned fields (name, price, unit price, promotion, stock), which is more than the bare name gives. It stops short of distinguishing itself from the sibling search_products_guest, which is the one adjacent tool an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: region resolution is described and set_location is cross-referenced, and product_filters is pointed to for facet ids. But there is no explicit when-to-use/when-not versus search_products_guest, autocomplete, category_products, or brand_products, which is the main routing decision an agent faces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_products_guestB
Anonymous product search (never sends a token). Same arguments as search_products.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| limit | No | ||
| query | Yes | ||
| offset | No | ||
| filters | No | ||
| direction | No | asc | |
| store_type | No | ONLINE |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden; it does disclose one genuinely important behavior (no auth token is ever sent), which is exactly the kind of fact the schema cannot express. Beyond that it is silent on pagination semantics, default store_type behavior, sort/direction interaction, and any rate limiting or result set differences versus the authenticated search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the differentiating fact front-loaded; nothing is padded. The 'same arguments as search_products' clause is efficient in word count but substitutes a cross-reference for information, which is the one structural weakness.
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?
An output schema exists, so return values need not be explained, but for a 7-parameter tool with zero annotation and zero schema-description coverage the description is too thin. Key defaults and the meaning of filters, sort, and store_type are left entirely to inference or to reading another tool's definition.
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 0% across 7 parameters and the description compensates only by saying 'same arguments as search_products', forcing the agent to open a different tool's schema. Ambiguous fields such as store_type (defaulted to 'ONLINE'), direction, and the free-form filters object get no meaning at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('product search') and, crucially, the qualifier 'Anonymous (never sends a token)', which is what separates it from the sibling search_products. An agent can tell the two apart on auth behavior, though the definition of the resource itself is delegated to the sibling rather than described.
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?
'Anonymous' and 'never sends a token' imply the condition that selects this tool (unauthenticated / no-session context), and pointing at search_products gives a reference point. But it never says explicitly when to prefer this over search_products or what the tradeoff is (e.g., reduced personalization, missing member pricing).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recipesC
Search Migusto recipes by text and/or taxonomy ids (see recipe_taxonomies).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| offset | No | ||
| taxonomy_ids | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it says nothing about pagination limits, result ordering, maximum allowed limit, or whether an empty query returns everything. The existence of an output schema relieves it of describing return shape, but the call-behavior gaps remain substantial.
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 tight sentence with no filler, and the resource and filters are front-loaded. It is efficient, though the compactness is part of why parameter and pagination details are missing.
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 four-parameter, zero-annotation search tool, the definition omits pagination semantics and filter-combination behavior. The output schema covers return values, but an agent still lacks enough to call this correctly with limit/offset or to know what an empty search does.
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 0%, so all four parameters depend on the description. It adds meaning for 'query' and 'taxonomy_ids' (including where ids come from), but 'limit' and 'offset' are entirely unaddressed, leaving half the parameters undocumented anywhere. This falls short of compensating for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search Migusto recipes') plus the two filtering dimensions (text and taxonomy ids), which is enough to separate it from recipe_detail and recipe_taxonomies. It stops short of distinguishing itself from recipes_by_category and my_recipes, which also surface recipe lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(see recipe_taxonomies)' gives a useful workflow hint by pointing the agent at the source of taxonomy ids, and 'and/or' signals the filters are combinable. There is no explicit guidance on when to prefer this over recipes_by_category, or on what happens with no filters at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_locationA
Shop as if located at a Swiss postcode (sets cooperative, warehouse, prices).
Without it, a guest gets a location the backend guesses. Signed-in users default to their own fulfilment selection; setting a postcode overrides it.
| Name | Required | Description | Default |
|---|---|---|---|
| zip_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral load, and it does disclose meaningful side effects: cooperative, warehouse and price context all change, and a signed-in user's fulfilment selection is overridden. It is silent on scope and persistence (does the override last for the session, the account, or one request?), on whether the postcode is validated, and on what happens for a non-Swiss or malformed input. Useful but incomplete for a state-mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the effect and then the default-behavior rationale; there is no filler. The only weakness is that the second paragraph's purpose (contrasting guests vs. signed-in users) could be tightened into one clause.
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?
An output schema exists, so return values need no explanation, and the description covers the main effects and the defaults it overrides. For a mutation with no annotations, however, the missing persistence scope and input validation leave a real gap an agent would want filled before calling 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 description coverage is 0% for the single required zip_code property, so the description must supply the meaning, and it does add the key constraint that the postcode is Swiss. It says nothing about format (four digits, leading zeros), validation, or error behavior for invalid codes. Some value added, but not enough to fully compensate for the empty schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete action on a concrete resource: it makes shopping behave as if the user were located at a given Swiss postcode, and enumerates the three things that change (cooperative, warehouse, prices). That is far more informative than the bare name 'set_location'. It does not explicitly differentiate itself from siblings like fulfilment_selection, my_fulfilment_selection, or my_location, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives real decision context: guests otherwise get a backend-guessed location, and signed-in users otherwise fall back to their own fulfilment selection, which this call overrides. That tells an agent when the tool is needed and what it replaces. It never names an alternative tool to use instead, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopping_list_categoriesA
The shopping-list category tree (aisles). No login required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden; it does contribute one real behavioral fact (no authentication needed), which is valuable for an agent deciding whether it can call this early. It says nothing about whether the tree is static or user-scoped, caching, or how large the response is, and there is no indication of failure modes.
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, resource identification first, precondition second — front-loaded and free of filler. It is arguably over-terse: a single additional clause on what the tree is used for would cost little and add clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument read tool with an output schema that documents the returned structure, the description only needs to say what the resource is and any access constraints — both are present. The absence of any note on scoping (global taxonomy vs. per-user list) is the only remaining 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?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description correctly does not waste words inventing parameter guidance.
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?
Names a specific resource ('shopping-list category tree') and clarifies it as the aisle taxonomy, which separates it from siblings like shopping_list_items, shopping_list_user, and shopping_list_members. The action verb (list/read) is only implied, so it falls short of a fully explicit verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use or when-not-to-use guidance and names no alternatives, so an agent must infer from the name that this supplies the category/aisle taxonomy used to organize shopping-list items. The 'No login required' note does give a useful precondition (callable without authentication), which lifts it above no guidance at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopping_list_itemsB
The items on a shopping list (from Firestore): name, quantity, note, done.
Needs the Firebase Web API key — set MIGROS_FIREBASE_PLIST to the app's
GoogleService-Info.plist (see README). list_id comes from shopping_lists.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ||
| include_completed | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does add real operational context: it requires the Firebase Web API key via MIGROS_FIREBASE_PLIST and points to the README for setup. However, it never states that this is a read-only operation, nor does it describe ordering, pagination, or behavior when a list has no items, leaving significant behavioral gaps for a data-access tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short lines, front-loaded with what the tool returns, followed by the setup requirement and the id source. No filler sentences; the only slightly loose part is the parenthetical '(from Firestore)' plus README pointer, which are still informative.
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?
An output schema exists, so return fields need not be spelled out and the description correctly doesn't duplicate them. But with zero annotations and zero schema coverage, the description should also cover the include_completed semantics and confirm read-only behavior; those omissions leave the definition only minimally complete for a two-parameter 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?
Schema description coverage is 0%, so the description must compensate for both parameters. It explains the origin of list_id (from shopping_lists), which is genuinely useful, but says nothing about include_completed, despite that flag's default of true determining whether completed items appear in the result.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource precisely (items on a shopping list, sourced from Firestore) and enumerates the fields returned (name, quantity, note, done), which lets an agent distinguish it from mutating siblings like add_shopping_list_item and complete_shopping_list_item. The verb is only implied ('The items on a shopping list'), so it reads slightly as a resource label rather than an explicit 'list items' action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is a useful prerequisite chain ('list_id comes from shopping_lists'), but no statement of when to use this versus the sibling list/read tools such as shopping_lists_firestore or shopping_list_user, and no guidance on when an agent should set include_completed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopping_list_membersC
Members of a shared shopping list. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it adds only that login is required. It does not state whether the call is read-only or mutating, what permission level is needed (owner vs. member), or whether membership data is sensitive; an output schema exists but the description says nothing about the response.
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 fragments with no filler, and the resource is front-loaded. The terseness comes at the cost of the missing verb, but nothing is padded or redundant.
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 member-listing tool with no annotations, an undocumented parameter, and no usage routing against several closely named siblings, the description is too thin. The output schema relieves it of explaining return values, but the purpose and access semantics remain undefined.
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 is a single required parameter (list_id) with 0% schema description coverage, and the description adds no meaning about its format, source, or what happens if an invalid or non-shared list id is passed. With only one self-explanatory parameter, the gap is modest but real.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a resource (members of a shared shopping list) but supplies no verb, so it is unclear whether it lists, adds, or removes members. Siblings like shopping_list_user and shopping_list_items show the naming pattern that implies a listing operation, but the description never confirms it.
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 only guidance is a precondition ("Requires login"), not when-to-use guidance. It does not distinguish this tool from shopping_list_user, shopping_list_items, or shopping_lists_firestore, so an agent has no basis for choosing among them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopping_lists_firestoreB
Your shopping lists from Firestore (names, sharing). Requires login + Firebase key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden; it does disclose the authentication prerequisite (login plus Firebase key), which is genuinely useful behavioral context an agent needs before calling. It does not state that the operation is read-only, whether it fails or returns empty without auth, or anything about result scope, leaving gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence with the resource front-loaded and the prerequisite trailing; nothing is wasted. It is arguably over-compressed, but there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and an output schema present, the return shape is already covered, and the auth prerequisite is stated. What is missing is disambiguation from the dense cluster of shopping-list siblings and any note on what "Firestore" implies for freshness or availability, so the definition is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify beyond the baseline. The parenthetical "names, sharing" lightly signals which fields are included in the result, which is a small bonus.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ("Your shopping lists") and hints at the payload ("names, sharing"), but "from Firestore" describes storage rather than purpose. It does not distinguish this from siblings such as shopping_list_items, shopping_list_members, or shopping_list_user, so an agent cannot confidently choose it from name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no named alternative. The only actionable cue is the prerequisite "Requires login + Firebase key," which tells the agent about a precondition but not when this tool beats its many shopping-list siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopping_list_userB
Shopping-list user state (shared lists, invitations). Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does disclose one meaningful behavioral fact: an authenticated session is required. Beyond that it says nothing about whether the call is read-only or what 'user state' encompasses, though the presence of an output schema reduces the need to describe return shape.
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 short sentence with the login prerequisite front-loaded and no filler. It is efficient, though the brevity borders on under-specification rather than crispness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read with an output schema, the description is minimally adequate, but in a crowded shopping-list sibling group it leaves the agent unable to confidently choose this tool over shopping_lists_firestore or shopping_list_members.
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 takes zero parameters, so there is no parameter semantics to explain and the baseline of 4 applies. The description does not introduce misleading parameter expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('Shopping-list user state') and hints at contents ('shared lists, invitations'), but supplies no verb, so it is never clear whether this retrieves state, initializes it, or aggregates it. It partially overlaps with siblings like shopping_lists_firestore and shopping_list_members without stating how it differs.
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?
Only 'Requires login' is given as a precondition; there is no guidance on when to call this versus shopping_lists_firestore, shopping_list_members, or shopping_list_items. The agent must infer selection from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stampcard_catalogueB
All stampcards that exist (not just yours). Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden; it usefully discloses that authentication is required, which is real added value. It says nothing about read-only vs. mutating nature, result size, pagination, or how the 'full' flag changes the response, leaving significant behavioral gaps for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the scope statement and followed by the auth requirement. Nothing is wasted, though the extreme brevity means an important flag is left unexplained rather than trimmed.
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?
An output schema exists, so return-value documentation is not required, and the login prerequisite is covered. The unresolved meaning of the 'full' parameter is a real omission for a tool whose only knob controls response shape.
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 0% and the single parameter 'full' (boolean, default false) is never mentioned in the description. The agent must guess whether it means full details, full catalogue including expired cards, or something else entirely.
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?
Names a specific resource (stampcards) and states its scope as the whole catalogue rather than the caller's own set. The parenthetical '(not just yours)' implicitly distinguishes it from the sibling 'stampcards' tool without naming it outright, which keeps it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'not just yours' contrast implies when to prefer this over the personal stampcards tool, and 'Requires login' flags a prerequisite. However, no alternative is named explicitly and there are no exclusion conditions or guidance on when the broader catalogue is actually needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stampcardsC
Your Cumulus stampcards: progress and rewards. Requires login.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses only that authentication is required. It does not state that the call is read-only, does not explain what the 'full' flag changes in behavior or payload size, and gives no indication of result ordering or scope beyond 'your' cards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler and the resource named immediately. It is efficient, though terse to the point of under-specification rather than padded.
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?
An output schema exists, so return values need not be described. However, the undocumented 'full' parameter and the absent differentiation from stampcard_catalogue leave real gaps for an agent deciding how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'full' has 0% schema description coverage and is never mentioned in the description, so an agent has no basis for deciding whether to set it. With low coverage the description must compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource ('Cumulus stampcards') and its domain ('progress and rewards') but uses no verb, so it is unclear whether it lists all of the user's stampcards, returns a single card's status, or something else. The possessive 'Your' distinguishes it weakly from the sibling stampcard_catalogue, but the exact retrieval shape is left to inference.
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 only guidance is the prerequisite 'Requires login', which is genuinely useful. There is no statement of when to call this versus stampcard_catalogue, cumulus_points, or cumulus_bons, and no exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
store_availabilityA
In-store stock of a product.
Args:
product_id: product uid.
store_ids: store cost-centre ids (costCenterId from find_stores).
near: town/postcode; checks the closest stores there when store_ids is
not given (defaults to your location).
| Name | Required | Description | Default |
|---|---|---|---|
| near | No | ||
| store_ids | No | ||
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It makes clear this is a stock lookup and explains the default location behavior for the near parameter, but it does not explicitly state read-only semantics, authentication needs, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose sentence followed by a structured Args section. Every sentence adds necessary meaning, especially since the input schema lacks field descriptions.
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 moderately simple lookup tool with an output schema and no annotations, the description covers purpose and all parameter semantics well. It leaves out explicit when-to-use guidance versus sibling tools and read-only confirmation, but these are minor gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates by documenting all three parameters: product_id as a product uid, store_ids as cost-centre ids from find_stores, and near as a town/postcode that checks nearby stores by default. It also clarifies the precedence between store_ids and near.
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 in-store stock for a product, with a specific resource and scope. It does not explicitly distinguish itself from related siblings like product_detail or find_stores, but 'in-store stock' is distinct enough for an agent to understand the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by explaining when to use store_ids versus near, but it does not explicitly state when to choose this tool over alternatives such as product_detail or find_stores. Usage guidance is present for parameter selection, not for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
store_mapB
The in-store category layout (aisles) for your cooperative.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description implies a read-only retrieval of layout data, which is useful behavioral context. However, it does not state whether a cooperative must already be selected, whether authentication is required, or explicitly confirm that the operation does not mutate data.
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. It communicates the resource directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the tool takes no parameters, reducing the burden on the description. Still, the phrase 'your cooperative' leaves unclear how the relevant cooperative is determined, and the description does not orient the agent among closely related store and cooperative tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There are no parameter semantics to explain, and the schema coverage is reported as 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource: an in-store category layout (aisles) for the cooperative. It does not explicitly contrast with siblings such as store_availability or find_stores, but the content is specific enough for an agent to understand what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this tool versus alternatives like store_availability, cooperatives, or find_stores. The description gives no prerequisites or contextual triggers for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
weekend_promotionsC
This weekend's promotions, optionally with their products priced.
| Name | Required | Description | Default |
|---|---|---|---|
| with_products | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden, and it does not. It implies a read operation but never confirms read-only semantics, auth requirements, whether the weekend window is computed server-side, or pagination behavior; only the phrase 'optionally with their products priced' hints at response shape, and the output schema covers returns anyway.
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 tight sentence with the resource front-loaded and no filler. The trailing clause 'with their products priced' is slightly awkward but does the work of flagging optionality.
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?
An output schema exists and there is only one optional boolean, so the bar is low and the description is roughly proportionate. Still, for a tool whose whole value proposition is the weekend scope, it says nothing about timezone, weekend boundaries, or whether an empty result is possible.
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?
One parameter at 0% schema description coverage, so the schema alone does not explain 'with_products'. The description does map to it via 'optionally with their products priced', adding real meaning beyond the boolean's name, but 'priced' is ambiguous — it is unclear whether the flag also controls price inclusion or merely product data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource with a temporal scope: 'This weekend's promotions.' An agent can tell it fetches a time-bounded promotion set, though it never contrasts itself with the sibling tools 'promotions' or 'promotion_details', leaving the boundary between them implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of the closely related 'promotions' and 'promotion_details' siblings, and no stated prerequisites. The only steer is the optional products flag, which conveys default behavior rather than selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
105 tool updates
v0.1.0- First observed
activate_bon - First observed
activate_coupon - First observed
add_favourite - First observed
add_order_to_shopping_list - First observed
add_shopping_list_item - First observed
address_search - First observed
apple_wallet_pass - First observed
apply_voucher - First observed
authorize_order - First observed
autocomplete - First observed
brand_detail - First observed
brand_products - First observed
cancel_order - First observed
category_breadcrumb - First observed
category_products - First observed
checkout_context - First observed
checkout_cumulus_bons - First observed
checkout_delivery_addresses - First observed
checkout_payment_options - First observed
checkout_summary - First observed
checkout_timeslots - First observed
complete_shopping_list_item - First observed
content_page - First observed
cooperatives - First observed
credits_balance - First observed
cumulus_bon - First observed
cumulus_bons - First observed
cumulus_coupon - First observed
cumulus_coupons - First observed
cumulus_points - First observed
cumulus_profile - First observed
cumulus_wallet - First observed
cumulus_wrapped - First observed
deactivate_coupon - First observed
delete_messages - First observed
delivery_info - First observed
display_panels - First observed
favourites - First observed
find_stores - First observed
fulfilment_selection - First observed
google_wallet_pass - First observed
google_wallet_pass_status - First observed
greeting_messages - First observed
home_layout - First observed
home_products - First observed
inbox - First observed
is_favourite - First observed
label_detail - First observed
label_products - First observed
last_order - First observed
mark_messages_read - First observed
migros_endpoints - First observed
migros_login_url - First observed
migros_request - First observed
migros_status - First observed
migros_unrouted - First observed
my_address - First observed
my_addresses - First observed
my_delivery_slots - First observed
my_fulfilment_selection - First observed
my_location - First observed
my_orders - First observed
my_phone_numbers - First observed
my_products - First observed
my_profile - First observed
my_recipes - First observed
new_products - First observed
order_authorization_state - First observed
order_detail - First observed
order_invoice - First observed
order_payment_slip - First observed
partner_coupons - First observed
place_order - First observed
product_cards - First observed
product_detail - First observed
product_filters - First observed
promotion_detail - First observed
promotion_details - First observed
promotions - First observed
purchase_analytics - First observed
receipt_detail - First observed
receipt_products - First observed
receipts - First observed
recipe_detail - First observed
recipe_taxonomies - First observed
recipes_by_category - First observed
redeem_cumulus_bon - First observed
remove_favourite - First observed
remove_shopping_list_item - First observed
scan_barcode - First observed
search_products - First observed
search_products_guest - First observed
search_recipes - First observed
set_location - First observed
shopping_list_categories - First observed
shopping_list_items - First observed
shopping_list_members - First observed
shopping_list_user - First observed
shopping_lists_firestore - First observed
stampcard_catalogue - First observed
stampcards - First observed
store_availability - First observed
store_map - First observed
teasers - First observed
weekend_promotions
TDQS
Scored across 105 tools
Despite the large surface, the tool set is organized by domain prefixes (cumulus_, checkout_, order_, shopping_list_, product_) and list-vs-single pairs (promotions/promotion_detail, cumulus_coupons/cumulus_coupon) are consistently delineated. A few boundaries remain fuzzy: search_products vs search_products_guest, checkout_context vs checkout_summary, and the promotions/weekend_promotions/promotion_detail/promotion_details cluster can still lead to misselection.
Names consistently use snake_case with a predictable prefix scheme (my_, cumulus_, shopping_list_, checkout_, order_, product_/category_/brand_/label_) and verb-first actions for mutations (add_, remove_, activate_, cancel_, place_, redeem_). Minor deviations exist: bare-noun read tools (receipts, inbox, favourites, promotions, teasers) and the tech-flavoured suffix in shopping_lists_firestore break the otherwise uniform pattern.
105 tools is far beyond the 3-15 sweet spot and even beyond the 25+ 'heavy' band; an agent must reason over a very large catalogue to pick correctly. The domain is genuinely broad (catalogue, loyalty, checkout, orders, content, recipes), but many adjacent read tools could have been consolidated (e.g. checkout_* group, promotion_* group) to keep the surface navigable.
Coverage is unusually deep: product discovery, categories, promotions, stores, fulfilment, full checkout and order lifecycle (place, authorize, cancel, invoice, payment slip), receipts, Cumulus loyalty, shopping lists, recipes and CMS content are all represented. Remaining gaps are minor: shopping-list lifecycle is partial (no create/rename/delete list or edit item quantity), and login is exposed only as a URL hint plus an external CLI rather than an in-server tool.
Maintenance
Related MCP Connectors
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
Manage SRG+ hubs, channels, content, assets, users, and workspaces from any MCP-aware AI agent.
Automate 1,000+ services from any MCP-compatible AI agent: build Applets, run actions and queries.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Related MCP Servers
- FlicenseAqualityAmaintenanceA Model Context Protocol server for real-time Swiss grocery shopping that searches and compares products across 8 major Swiss retailers (Migros, Coop, Aldi, Denner, Lidl, Farmy, Volgshop, Otto’s), normalizes per-unit prices, surfaces promotions, computes optimal multi-store shopping plans, and works with any MCP-compatible client without API keys or accounts.7153 npm39-
- AlicenseAqualityDmaintenanceEnables shopping at Mercadona online grocery store via Claude, allowing catalog search, cart management, and order history retrieval while keeping payment control with the user.14MIT
- AlicenseAqualityCmaintenanceConnects Claude and other MCP clients to myGEKKO building controllers via the official Query API, enabling natural-language queries and control of smart-home devices. It is read-only by default, with write actions available only through explicit opt-in and safety policies.3MIT
- AlicenseNot gradedqualityBmaintenanceEnables Claude to connect to a household's ICA account through BankID and access shopping lists, offers, bonus, stores, product lookup, catalogue search, purchase history, and Handla online prices. It also provides OAuth-based MCP connection, admin controls, audit logging, and optional list-writing tools.MIT