Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Albert Heijn

NPM · ALBERT-HEIJN-MCP

Unofficial Albert Heijn server: products, bonus deals, recipes, shopping list, orders and receipts.

Available components

+2 this week 90 Trust /100

Last scanned (1 hour ago)

Scores higher than 93% of npm servers

Category E-commerce

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 30 of 92 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to olekpuchka/albert-heijn-mcp). View diagnostics → Pass
  • Clear OSI-approved license (Apache-2.0).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability75
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4842 tokens (~130/item across 37 items; 37 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management70
  • Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (68% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 38 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +16
    • Tool safety: pass → unverified ▼ security
    • Stability: 0.63 → unverified ▼ security
    • Malware scan: unverified → pass ▲ security
    • Schema quality: 4375 → 4842 ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Package version: 1.8.0 → 1.9.0 functional
  • 3 Nov 26 −15
    • Malware scan: pass → unverified ▼ security
    • Schema quality: 3768 → 4375 ▼ functional
    • Package version: 1.7.2 → 1.8.0 functional
  • 2 Nov 26 +10
    • Known CVEs: unverified → pass ▲ security
    • Dependency health: unverified → 0.85 ▲ functional
  • 1 Nov 26 −9
    • Stability: 0.53 → unverified ▼ security
    • Known CVEs: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Dependency health: 0.85 → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Package version: 1.7.1 → 1.7.2 functional
  • 29 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 23 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/albert-heijn-mcp@1.9.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo olekpuchka/albert-heijn-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/olekpuchka/albert-heijn-mcp/.github/workflows/release.yml@refs/tags/v1.9.0
Rekor log index 3690510438
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:ae217ee56a51710d1f687148e250458528474a7f1adbe50ba34f5bac0ded97b87f21fd1090e2efb039796bba03408675dbb63897c2b4d4dab3d98385c

Background: How many MCP packages publish verified provenance →

Dependencies 92 packages
Packages resolved 92
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 37 exposed · ~4,752 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
ah_activate_personal_offer ~135

Activate one or more of the user's personal Albert Heijn offers (Bonus Box) so the discount applies in the store and online. Get offer ids from ah_get_personal_offers. AH allows only a limited number of activations per week (max_activations) and an activation cannot be undone, so only activate the offers the user chose. Offers that are already active are skipped.

NameTypeReqDescription
offer_idsarrayyesOffer ids from ah_get_personal_offers, e.g. ["575604"]
periodstring–Bonus week of the offers: 'current' (default) or 'next'
NameTypeReqDescription
activatedarrayyes–
activated_countnumberyes–
already_activearrayyes–
failedarrayyes–
max_activationsnumber––

No examples provided.

ah_add_free_text_to_shopping_list ~98

Add a free-text item to the Albert Heijn shopping list (no product ID needed). Use for reminders like 'verse bloemen', 'any good wine', or items not found in search. Free-text items have no quantity: put amounts in the text, e.g. '2 bossen bloemen'.

NameTypeReqDescription
namestringyesFree-text item description, e.g. 'verse bloemen', 'goede rode wijn'

No output schema declared.

No examples provided.

ah_add_recipe_to_shopping_list ~227

Put the ingredients of an Allerhande recipe on the shopping list in one step. Each ingredient is matched to the AH product whose name fits it best (among equally good matches, one on bonus unless prefer_bonus=false); one unit of each product is added. Water is always skipped; pass skip for anything the user already has (e.g. olive oil, salt). Set dry_run=true to show the matches without adding them. Returns the added, skipped and unmatched ingredients, and any whose search failed (worth retrying). When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
dry_runboolean–Only show the matches; don't add anything
prefer_bonusboolean–Prefer a matching product on bonus (default true)
recipe_idintegeryesRecipe id from ah_search_recipes
servingsinteger–Number of servings, as in ah_get_recipe
skiparray–Ingredients to leave out, matched by name, e.g. ["olijfolie", "zout"]
NameTypeReqDescription
addedarrayyes–
dry_runbooleanyes–
failedarrayyes–
not_foundarrayyes–
recipestringyes–
skippedarrayyes–

No examples provided.

ah_add_to_favorite_list ~87

Add products to a named Albert Heijn favorite list. Get list_id from ah_get_favorite_lists.

NameTypeReqDescription
itemsarrayyesItems to add, e.g. [{"product_id": 123456, "quantity": 1}]. Quantity 0 is treated as 1.
list_idstringyesFavorite list ID from ah_get_favorite_lists

No output schema declared.

No examples provided.

ah_add_to_shopping_list ~80

Add one or more products to your Albert Heijn shopping list. Pass an array of items, each with product_id (int) and quantity (int). Returns confirmation listing the names of successfully added products.

NameTypeReqDescription
itemsarrayyesItems to add, e.g. [{"product_id": 123456, "quantity": 2}]

No output schema declared.

No examples provided.

ah_clear_cart ~54

Remove ALL items from the active Albert Heijn delivery order (not the shopping list). Irreversible — requires confirm="yes" to prevent accidental use.

NameTypeReqDescription
confirmstringyesMust be "yes" to confirm

No output schema declared.

No examples provided.

ah_clear_shopping_list ~45

Remove ALL items from the Albert Heijn shopping list. Irreversible — requires confirm="yes".

NameTypeReqDescription
confirmstringyesMust be "yes" to confirm

No output schema declared.

No examples provided.

ah_create_favorite_list ~72

Create a new, empty Albert Heijn favorite list with the given name; AH drops some punctuation, such as '-'. Returns its id; add products with ah_add_to_favorite_list.

NameTypeReqDescription
namestringyesName of the list, e.g. 'Weekend' or 'Pasta night'
NameTypeReqDescription
idstringyes–
item_countnumberyes–
namestringyes–
updated_atstring––

No examples provided.

ah_delete_favorite_list ~73

Delete an Albert Heijn favorite list and everything on it. Irreversible — requires confirm="yes". Get list_id from ah_get_favorite_lists.

NameTypeReqDescription
confirmstringyesMust be "yes" to confirm
list_idstringyesFavorite list ID from ah_get_favorite_lists

No output schema declared.

No examples provided.

ah_get_bonus_group_products ~152

Get all individual products belonging to a specific Albert Heijn bonus promotion group. Use this to drill into a deal like '2+1 gratis kaas' or 'Alle yoghurt 25% korting'. Get segment_id from the bonus_segment_id field in ah_get_bonus_offers results. For an offer from next week's bonus, set period='next'. Returns the same fields as ah_search_products. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
periodstring–Bonus week of the offer: 'current' (default) or 'next'
segment_idstringyesBonus segment ID from the bonus_segment_id field in ah_get_bonus_offers
NameTypeReqDescription
productsarrayyes–

No examples provided.

ah_get_bonus_offers ~286

Get Albert Heijn bonus/promotional offers. Use this (not ah_search_products) when the user asks what is on bonus/sale/discount. Returns this week's bonus by default; set period='next' for next week's bonus, which AH publishes a few days before the new bonus week starts. Supports optional keyword filter to find e.g. cheese on bonus: set query='kaas'. Set previously_bought=true for offers on products the user bought before (AH's 'Eerder gekocht'). Group deals (e.g. '2+1 gratis', 'Alle yoghurt 25% korting') have no id but a bonus_segment_id — pass that to ah_get_bonus_group_products to see the individual products in the group. Returns id, bonus_segment_id, title, original_price, bonus_price, discount_percentage, bonus_mechanism. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
limitinteger–Maximum number of results to return (default 20)
periodstring–Which bonus week to return: 'current' (default) or 'next'
previously_boughtboolean–Only offers on products the user bought before
querystring–Optional keyword filter (Dutch or English) applied client-side, e.g. 'kaas', 'vlees', 'bier'
NameTypeReqDescription
offersarrayyes–

No examples provided.

ah_get_cart ~98

View the items in the active Albert Heijn delivery order (the order cart). An order only exists after the user has chosen a delivery or pick-up slot; the products the user is collecting before that are on the shopping list (use ah_get_shopping_list). Returns the order state, items with names and quantities, total price, and total discount. When you mention a product or recipe from the result, link its name to its url.

Input schema present but exposes no named parameters.

NameTypeReqDescription
orderobject––

No examples provided.

ah_get_categories ~92

List Albert Heijn's product categories (the aisles of ah.nl), e.g. 'Groente, aardappelen' or 'Kaas'. Without parent_id returns the top-level categories; with a parent_id, its subcategories. Pass a category id as category_id to ah_search_products to search or list products in it.

NameTypeReqDescription
parent_idinteger–Category id whose subcategories to list
NameTypeReqDescription
categoriesarrayyes–

No examples provided.

ah_get_delivery_slots ~85

List the delivery time windows Albert Heijn offers at the member's address, per day (Dutch time). Booking a slot is only possible in the AH app or on ah.nl; this shows when delivery is possible. Returns date and windows like '15:00-17:00'.

NameTypeReqDescription
daysinteger–Number of days with slots to return (default 7)
NameTypeReqDescription
daysarrayyes–
postal_codestringyes–

No examples provided.

ah_get_favorite_lists ~54

List all Albert Heijn favorite/saved shopping lists with their names and item counts. Use the returned list ID with ah_add_to_favorite_list, ah_remove_from_favorite_list or ah_delete_favorite_list.

Input schema present but exposes no named parameters.

NameTypeReqDescription
listsarrayyes–

No examples provided.

ah_get_frequent_items ~215

Get the products the user buys most often, counted over their Albert Heijn delivery orders and in-store receipts (kassabonnen) of the last few months. purchase_count is the number of orders and store visits that included the product, split into online_count and in_store_count. Use it to suggest a shopping list or spot staples that are on bonus. Returns product_name, product_id, the counts and last_purchased_date, most bought first. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
limitinteger–Maximum number of products (default 50, max 200)
min_order_countinteger–Old name of min_purchase_count
min_purchase_countinteger–Only products bought at least this many times (default 3)
monthsinteger–How many months back to count (default 3, max 12)
sourcestring–Count delivery orders, store receipts, or both (default all)
NameTypeReqDescription
from_datestringyes–
online_ordersnumberyes–
productsarrayyes–
store_receiptsnumberyes–
warningsarray––

No examples provided.

ah_get_last_chance_items ~151

Get last-chance / vandaag-af / clearance items from an Albert Heijn store. Requires a store_id (use ah_search_stores to find stores, or provide postal_code to find the nearest store). Uses the dedicated bargainItems GraphQL endpoint which returns today-only markdown deals. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
limitinteger–Maximum number of results to return (default 20)
postal_codestring–Dutch postal code (e.g. '1234AB') to find the nearest store when store_id is not known.
store_idinteger–AH store ID. Required to retrieve bargain items.
NameTypeReqDescription
itemsarrayyes–

No examples provided.

ah_get_meal_plan ~166

Get the user's meal plan from the Albert Heijn app's weekplanner, per day from today (about two weeks): planned Allerhande recipes, their own recipes, products and notes. Use the recipe_id of a planned Allerhande recipe with ah_get_recipe or ah_add_recipe_to_shopping_list, e.g. to shop for the week's dinners; the user's own recipes (own_recipe_id) can't be opened with those tools. incomplete=true means AH failed on some days or entries, so some may be missing or shown as type other. Planning recipes is done in the AH app. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
include_empty_daysboolean–Also list days with nothing planned (default false)
NameTypeReqDescription
daysarrayyes–
incompleteboolean––

No examples provided.

ah_get_member_profile ~73

Get your Albert Heijn member profile and savings. Returns name, email (masked), bonus_card_number (last 4 digits only), koopzegels (savings stamps: stamps saved, full booklets, euros invested, interest earned, and payout_value they are worth now), and the air_miles balance.

Input schema present but exposes no named parameters.

NameTypeReqDescription
air_milesnumber––
air_miles_errorstring––
bonus_card_numberstring––
emailstring––
koopzegelsobject––
namestringyes–
savings_errorstring––

No examples provided.

ah_get_order_details ~79

Get the full item list for a specific Albert Heijn delivery order by its ID. Returns all products with names, quantities, and prices. Get order_id from ah_get_orders. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
order_idintegeryesNumeric order ID from ah_get_orders
NameTypeReqDescription
idnumberyes–
itemsarrayyes–
statestring––
total_discountnumber––
total_pricenumber––

No examples provided.

ah_get_orders ~94

List Albert Heijn online delivery orders. By default returns upcoming orders (with a modifiable flag); set past=true for delivered orders. Returns id, date, time_window, total_price, status. Use the returned id with ah_get_order_details to see the items.

NameTypeReqDescription
limitinteger–Maximum number of orders to return (default 10)
pastboolean–Return delivered orders instead of upcoming ones
NameTypeReqDescription
ordersarrayyes–

No examples provided.

ah_get_personal_offers ~183

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.

NameTypeReqDescription
periodstring–Which bonus week: 'current' (default) or 'next'
NameTypeReqDescription
activated_countnumberyes–
max_activationsnumber––
offersarrayyes–

No examples provided.

ah_get_product_alternatives ~116

Get products Albert Heijn suggests instead of a given product: similar products and substitutes, e.g. when it is sold out or to find a cheaper or organic option. Returns the same fields as ah_search_products. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
limitinteger–Maximum number of alternatives (default 10, max 30)
product_idintegeryesProduct ID, e.g. from ah_search_products or ah_get_shopping_list
NameTypeReqDescription
productsarrayyes–

No examples provided.

ah_get_products ~244

Get detailed information about one or more Albert Heijn products by ID (max 20). Returns title, brand, category, description, price, unit size, bonus info, NutriScore, property icons. Set include_nutritional_info=true to also return calories, fat, protein, etc. Get product IDs from ah_search_products, or pass barcodes: the EAN number under a product's barcode (8, 12, 13 or 14 digits, e.g. read from a photo of the pack). A barcode AH doesn't sell returns an error for it. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
barcodesarray–Barcode (EAN) numbers, e.g. ["8710400058519"]; counted in the max of 20 products (max 50 barcodes)
include_nutritional_infoboolean–Include nutritional values (default false)
product_idsarray–Product IDs from ah_search_products, e.g. [123456] or [123456, 789012]; at most 20 products are fetched per call (max 50 ids)
NameTypeReqDescription
productsarrayyes–

No examples provided.

ah_get_receipt_details ~98

Get full details of a single Albert Heijn in-store receipt (kassabon) by its id. Returns all purchased items with name, quantity, unit price, line total and deposit (statiegeld), plus any discounts, koopzegels (savings stamps) bought, payment method and total_amount. Get the id from ah_get_receipts first.

NameTypeReqDescription
idstringyesReceipt transaction ID from ah_get_receipts
NameTypeReqDescription
discountsarray––
idstringyes–
itemsarrayyes–
koopzegelsobject––
paymentsarray––
total_amountnumber––

No examples provided.

ah_get_receipts ~65

List recent Albert Heijn in-store receipts (kassabonnen). Returns receipt id, date, and total amount. Use ah_get_receipt_details with the id to see individual items.

NameTypeReqDescription
limitinteger–Maximum number of results to return (default 10)
NameTypeReqDescription
receiptsarrayyes–

No examples provided.

ah_get_recipe ~107

Get an Allerhande recipe by id: ingredients, preparation steps, and nutrition per serving. Set servings to scale the ingredient quantities. To shop for it, search the ingredients with ah_search_products and add them with ah_add_to_shopping_list. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
recipe_idintegeryesRecipe id from ah_search_recipes
servingsinteger–Number of servings to scale the ingredients to
NameTypeReqDescription
cook_minutesnumber––
coursesarray––
cuisinesarray––
descriptionstring––
idnumberyes–
ingredientsarrayyes–
nutri_scorestring––
nutrition_per_servingobject––
ratingstring––
servingsstringyes–
stepsarrayyes–
titlestringyes–
urlstringyes–

No examples provided.

ah_get_shopping_list ~99

Get the contents of the Albert Heijn shopping list (boodschappenlijst). In the AH app this is the basket the user fills while shopping; choosing a delivery slot moves its products into an order, after which the list is unavailable until the order is done (use ah_get_cart then). Returns item names, quantities, and product IDs. When you mention a product or recipe from the result, link its name to its url.

Input schema present but exposes no named parameters.

NameTypeReqDescription
itemsarrayyes–

No examples provided.

ah_login ~175

Log in to Albert Heijn. Call without arguments to start. On the user's own computer this usually opens a login window that finishes the login by itself. Otherwise it returns the AH login link and step-by-step instructions: show them to the user as given, in order (the developer console must be open before they log in). The user then copies a link like appie://login-exit?code=...; call ah_login again with code set to that link (or just the code) to finish. Codes are single-use and expire quickly. If already logged in, returns the account name; to switch accounts, call ah_logout first.

NameTypeReqDescription
codestring–The appie://login-exit?code=... link the user copied after logging in, or just the code. Omit to start a login.

No output schema declared.

No examples provided.

ah_logout ~41

Log out of Albert Heijn by deleting the stored tokens. Use this to switch accounts or reset a broken session. After logout, call ah_login to authenticate again.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

ah_remove_from_cart ~60

Remove a single product from the active Albert Heijn delivery order. Use product_id from ah_get_cart. To remove products from the shopping list, use ah_remove_from_shopping_list.

NameTypeReqDescription
product_idintegeryesNumeric product ID to remove

No output schema declared.

No examples provided.

ah_remove_from_favorite_list ~73

Remove products from a named Albert Heijn favorite list. Get list_id from ah_get_favorite_lists.

NameTypeReqDescription
list_idstringyesFavorite list ID from ah_get_favorite_lists
product_idsarrayyesProduct IDs to remove, e.g. [123456, 789012]

No output schema declared.

No examples provided.

ah_remove_from_shopping_list ~108

Remove one or more items from the Albert Heijn Boodschappenlijst. For product items pass product_ids; for free-text items pass names. Get product_ids from ah_get_shopping_list.

NameTypeReqDescription
namesarray–Free-text item names to remove, e.g. ["verse bloemen"]. Use for items without a product ID.
product_idsarray–Product IDs to remove, e.g. [123456, 789012]. Use for product items.

No output schema declared.

No examples provided.

ah_search_products ~451

Search Albert Heijn (Dutch supermarket) products by keyword. Pass one or more queries (max 10) to search for several products in one call. Prefer Dutch search terms for best results: e.g. 'melk' (milk), 'kaas' (cheese), 'brood' (bread), 'kip' (chicken), 'appel' (apple). Set bonus=true to return only products currently on promotion. filters narrows results to products matching all of them, e.g. ['organic', 'gluten_free']: organic, prijsfavoriet (AH's budget label), new, frozen, a diet (vegan, vegetarian, low_sugar, low_fat, low_salt), or free from an allergen (gluten_free, lactose_free, milk_free, egg_free, nut_free, peanut_free, soy_free, fish_free, shellfish_free, sesame_free, celery_free, mustard_free, lupin_free, sulphite_free). sort orders results: relevance (default), price_low_high, price_high_low, most_bought (by this user), nutriscore. category_id (from ah_get_categories) limits results to one category; with category_id, queries may be left out to list the category itself, e.g. the cheapest products in it. Returns, per query: id, title, price, bonus_price, unit, is_bonus, bonus_mechanism, image_url. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
bonusboolean–Return only products currently on bonus/promotion
category_idinteger–Only products in this category, from ah_get_categories
filtersarray–Only products matching all of these, e.g. ["organic", "vegan"]
limitinteger–Maximum results per query (default 10 for one query, 5 for several; max 30)
queriesarray–Search queries in Dutch or English, e.g. ["melk"] or ["melk", "kaas", "brood"] (max 10)
sortstring–Result order (default relevance)
NameTypeReqDescription
searchesarrayyes–

No examples provided.

ah_search_recipes ~312

Search Allerhande, Albert Heijn's recipe collection. Dutch search terms work best, e.g. 'pasta', 'stamppot', 'kip curry'; a recipe matches when it has all the words. filters narrows results to recipes matching all of them, e.g. ['vegetarian', 'quick', 'italian']: a label (easy, quick, budget, healthy, light), course (main_course, lunch, dessert, ...), dish (pasta, soup, salad, ...), main ingredient (meat, fish, ...), diet (vegan, gluten_free, ...), occasion, season, cooking method (oven, airfryer, ...) or cuisine (italian, asian, ...). query may be left out to browse by filters alone. sort orders results: relevance (default), newest, popular. Returns id, title, url, cook_minutes, servings, courses, nutri_score, rating, and corrected_query when AH fixed a typo. Use the id with ah_get_recipe for ingredients and steps. When you mention a product or recipe from the result, link its name to its url.

NameTypeReqDescription
filtersarray–Only recipes matching all of these, e.g. ["vegetarian", "quick"]
limitinteger–Maximum number of results (default 10, max 30)
querystring–Search text, e.g. 'pasta zalm'
sortstring–Result order (default relevance)
NameTypeReqDescription
corrected_querystring––
recipesarrayyes–
totalnumberyes–

No examples provided.

ah_search_stores ~85

Find Albert Heijn stores near a Dutch postal code. If no postal_code is given, automatically uses the address from the member profile. Returns store id (use this for ah_get_last_chance_items), name, type, and address.

NameTypeReqDescription
postal_codestring–Dutch postal code, e.g. '1234AB'. Optional — falls back to member address.
NameTypeReqDescription
storesarrayyes–

No examples provided.

ah_update_cart_item ~119

Set the quantity of a product in the active Albert Heijn delivery order. Requires an order (started by choosing a delivery slot in the AH app or on ah.nl, which moves the shopping list into it); to collect products before that, use ah_add_to_shopping_list. Use product_id from ah_search_products or ah_get_cart. Set quantity=0 to remove the item (or use ah_remove_from_cart).

NameTypeReqDescription
product_idintegeryesNumeric product ID
quantityintegeryesNew quantity (0 removes the item)

No output schema declared.

No examples provided.

Install

How do I install the Albert Heijn MCP server?

Albert Heijn runs locally as an npm package, launched with npx -y albert-heijn-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · albert-heijn-mcp

# add to Claude Code
claude mcp add olekpuchka-albert-heijn-mcp -- npx -y albert-heijn-mcp
Common questions

What is the Albert Heijn MCP server?

Albert Heijn is an MCP server listed in the public MCP registry as io.github.olekpuchka/albert-heijn-mcp. Unofficial Albert Heijn server: products, bonus deals, recipes, shopping list, orders and receipts. This page covers its npm package (albert-heijn-mcp).

Is the Albert Heijn MCP server safe to use?

Albert Heijn scores 90 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Albert Heijn MCP server expose?

Albert Heijn exposes 37 tools: ah_login, ah_logout, ah_get_member_profile, ah_search_products, ah_get_products, and 32 more. Their descriptions and schemas cost roughly 4,752 tokens of context every time the server is loaded.

Is the Albert Heijn MCP server still maintained?

Albert Heijn is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Albert Heijn MCP server under?

Albert Heijn declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.