Skip to main content
Glama

Albert Heijn: Personal Offers

ah_get_personal_offers
Read-only

Retrieve your personal Albert Heijn Bonus Box offers and their activation status so you can see which member-only deals are available or activated this week or next.

Instructions

Get the user's personal Albert Heijn offers (the Bonus Box, 'persoonlijke bonus'): deals picked for this member that only apply after they are activated. Returns max_activations (how many offers the member may activate this week), activated_count, and per offer: id, title, status ('activated' or 'available'), original_price, bonus_price, discount_percentage, unit, and product_id when the offer covers one product. For an offer on several products, pass its id as segment_id to ah_get_bonus_group_products to list them. Activate offers with ah_activate_personal_offer. Set period='next' for next week's offers once AH publishes them. When you mention a product or recipe from the result, link its name to its url.

Input Schema

NameRequiredDescriptionDefault
periodNoWhich bonus week: 'current' (default) or 'next'

Output Schema

NameRequiredDescriptionDefault
offersYes
activated_countYes
max_activationsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.8.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description adds real domain behavior — offers are inert until activated, there is a weekly activation cap (max_activations), and status can be 'activated' or 'available'. The per-field return enumeration is somewhat redundant given that an output schema exists, which keeps this from 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.

Conciseness3/5

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

Front-loaded and purposeful, but the long mid-sentence enumeration of output fields (id, title, status, original_price, bonus_price, discount_percentage, unit, product_id) duplicates the output schema and bloats the definition. The closing instruction about linking product/recipe names to their url is useful but is a presentation rule rather than tool-selection information.

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

Completeness5/5

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

Given a single optional enum parameter, read-only annotations, and an output schema, the description covers everything an agent needs: what the data means, the activation prerequisite, the sibling handoffs, and the next-week caveat. No material gaps remain.

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

Parameters4/5

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

Schema coverage is 100%, so the enum values are already documented; the description adds the operational nuance that 'next' only works after AH publishes next week's offers and that 'current' is the default. That is genuine meaning beyond the schema, though only for a single parameter.

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

Purpose5/5

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

States a specific verb and resource ('Get the user's personal Albert Heijn offers') and pins down the domain concept precisely (Bonus Box / 'persoonlijke bonus', deals that only apply after activation). This clearly distinguishes it from the sibling ah_get_bonus_offers (general offers) without the agent needing to open either schema.

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

Usage Guidelines5/5

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

Gives explicit routing: multi-product offers should be passed as segment_id to ah_get_bonus_group_products, and offers are activated via ah_activate_personal_offer. It also states the condition for period='next' ('once AH publishes them'), so the agent knows both when to call this tool and what to do next.

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