
Mein ALDI MCP: check ALDI Süd grocery prices and stock from your AI assistant
grocery-delivery-mcp is an unofficial, open-source MCP server + CLI for mein-aldi.de (ALDI Süd's grocery delivery). It lets an AI assistant — or your terminal — search products, check live prices and availability, browse categories, and list current offers over ALDI Süd's public, read-only API. No login, no account. A newer, opt-in feature can also prefill your own cart — you still review, pay, and check out yourself. Add it in one line: claude mcp add grocery-delivery -- npx -y grocery-delivery-mcp. Not affiliated with or endorsed by ALDI.
This is an independent, unofficial developer tool. It is not built, endorsed, sponsored, or in any way affiliated with ALDI, ALDI SÜD, or Mein ALDI. "ALDI", "ALDI SÜD" and "Mein ALDI" are trademarks of their respective owners, used here only descriptively — to say what the tool talks to. The package is deliberately named grocery-delivery-mcp; the ALDI name appears in no identifier. The catalog is public, read-only, and never logs in. The separate, opt-in cart prefill runs on your own account — you sign in once through ALDI's real login (nothing is automated), it stays on your machine, and it stops before checkout: no payment, no order placement. Prices and availability are indicative, not a guarantee. Use it at your own risk, review the provider's terms yourself, and treat this post as engineering notes — not legal advice.
MCP — the Model Context Protocol — is how an AI assistant gets hands. Instead of guessing, the model calls a typed tool that returns real data. We wanted a small, honest demonstration of that, built on something everyone understands: groceries.
So we built a Model Context Protocol server for Mein ALDI — ALDI Süd's delivery catalog at mein-aldi.de. Ask your assistant "is oat milk in stock for delivery, and what does it cost?" and it answers with today's real price, not a hallucination. In the latest version it can go one step further and prefill your own cart so it's ready for you to check out.
What is the Mein ALDI MCP?
grocery-delivery-mcp is three things in one package:
- an MCP server you plug into Claude Code, Claude Desktop, Cursor, or any MCP client,
- a CLI (
grocery-delivery) for the same catalog queries in a terminal, and - a small library you can import into your own Node code.
It has two clearly separated halves. The catalog — the default — talks to api.mein-aldi.de, the same public JSON API the website loads: no login, no account, no browser automation, no scraping tricks, just the public read-only endpoints for search, price, and availability. The cart prefill is a separate, opt-in feature that operates your own signed-in account, and it's off until you explicitly connect.
What the catalog can do
The catalog side exposes nine read-only tools. It looks things up; it never buys anything.
| Tool | What it does |
|---|---|
search_products | Free-text catalog search, with facets (brand, diet, labels) |
get_products | Exact price & stock lookup by SKU |
get_product_details | Full detail: ingredients, allergens, nutrition, origin, deposit |
check_availability | "Is X available right now?" — searches, then re-checks the top match live |
list_offers | Current promotions ("Aktion") |
list_categories | Browse the category tree |
browse_category | List products in a category, with the same filters and sorting as search |
get_delivery_slots | Experimental — no confirmed public endpoint yet, so it reports supported: false |
get_service_status | Diagnostics: cache stats, rate-limit knobs, circuit-breaker state |
Every product it returns carries the fields you'd actually want: name, brand, available, priceDisplay, the crossed-out wasPriceDisplay for offers, the unit price, the deposit (Pfand), pack size, badges like Bio or Aktion, and a deepLink straight to the product page.
Fill your own cart (opt-in)
The newest addition (v0.2.0) lets your assistant prefill your own mein-aldi.de cart — so "add oat milk, bananas, and coffee" ends with a cart that's ready for you to finish. It's two tools, and it is off by default:
| Tool | What it does |
|---|---|
connect_aldi_account | Opens ALDI's real login in a browser so you sign in once, then remembers the session. Nothing is automated — no scripted login, no CAPTCHA defeat; it only reuses the session you created. |
prefill_cart | Adds items (by product name or 18-digit SKU, with quantities) to your own cart via the site's own JSON:API. dry_run previews the name→SKU match without touching the cart, and it can report how many delivery slots are open. It stops there — no payment, no order. |
The flow is deliberately human-in-the-loop. You chat "add 2× oat milk, bananas, and coffee to my ALDI cart"; the first time, the assistant offers to connect, ALDI's login opens in a browser, you sign in once, and the session is remembered (and refreshed automatically). Your cart fills — then you open mein-aldi.de to review it, pick a delivery slot, pay, and place the order yourself. The tool never checks out.
Try it in 30 seconds
Claude Code — one command:
claude mcp add grocery-delivery -- npx -y grocery-delivery-mcp
Claude Desktop / Cursor / any MCP client — add it to your MCP config:
{
"mcpServers": {
"grocery-delivery": {
"command": "npx",
"args": ["-y", "grocery-delivery-mcp"]
}
}
}
Restart, then ask: "Is oat milk in stock for delivery on ALDI, and what does it cost?"
Prefer a terminal? The catalog CLI needs no MCP client at all:
npm install -g grocery-delivery-mcp
grocery-delivery doctor # health check — is the API live?
grocery-delivery search "milch" --limit 5
grocery-delivery check "bio bananen" # is the top match available?
grocery-delivery offers --sort price_asc # cheapest current deals
The catalog needs no API key, no login, no config — just Node 22+. It's published on npm under GPL-3.0 and listed in the official MCP Registry, so registry-aware clients can find it by name. The opt-in cart prefill (v0.2.0) is the one exception: it's authenticated and needs a browser engine for the one-time login (npx playwright install chromium), and it stays dormant until you connect your own account.
How we kept it a good citizen
This is the part that matters if you're going to build something similar. Talking to someone else's service is easy to do carelessly; we tried hard not to.
For the catalog (the default, and the only thing in the published build):
- Public, read-only data only. It calls the same unauthenticated
GETendpoints the website loads. No login, no account, no writes. - Politer than it needs to be. ~4 requests per second with jitter, at most ~2 in flight, exponential backoff that honors
Retry-After, single-flight de-duplication, and a circuit breaker that degrades to empty results instead of hammering a service that's struggling. - Honest about who it is. It sends a truthful, identifiable
User-Agent. No pretending to be a browser. - Local caching, not redistribution. Responses are cached on your machine to cut traffic — nothing is republished or resold.
For the opt-in cart prefill, the guardrails are the whole point:
-
A human signs in — once.
connect_aldi_accountopens ALDI's own login page in a real browser; you authenticate. The tool never scripts the login and never touches the CAPTCHA or bot-wall — it only reuses the session you created, so it stays well clear of "circumventing an access control." -
Your account, your machine. Single-tenant and self-hosted — not a shared service. The session (cookies + CSRF token) is written owner-only (
chmod 0600) to a per-user config dir, refreshed automatically, and never redistributed. -
It stops at a full cart. Prefill adds items via the same JSON:API the web app uses, then hands back to you. It never checks out, never handles a card, never places an order — in ALDI's terms, it operates the account area but never enters the purchase contract.
-
Off by default. Both cart tools are dormant until you explicitly connect; the read-only catalog needs no account at all.
-
Trademark-clean by construction. The package, both binaries, and the registry id are all
grocery-delivery— neveraldi-anything. The ALDI name only ever appears descriptively.
When we reviewed it (July 2026), mein-aldi.de's robots.txt allowed automated access, ALDI Süd's catalog is public, and the account-area terms set no anti-automation clause — but that can change at any time, and it's an undocumented API that may break without notice. Keep your footprint small, respect robots.txt and the terms, use only your own account, keep a human in the login loop, never place an order automatically, and check the current rules yourself before you rely on it. None of this is legal advice.
What it doesn't do
- No autonomous checkout. Cart prefill stops at a filled cart — you always review, pay, and place the order yourself, in the browser. No payment handling, ever.
- The cart tools are opt-in and off by default. They ship in v0.2.0 and stay dormant until you connect; the always-on catalog is read-only and needs no login. There's no order history or account management.
- Delivery-slot lookup is still experimental as a standalone tool. mein-aldi.de is a single-store delivery pilot with one hardcoded service point (postal code is ignored today), so
get_delivery_slotscurrently returnssupported: false— thoughprefill_cartcan report how many slots are open. - Prices and availability are indicative. Treat them as guidance and confirm on the site before you count on anything.
Why we built it
Two reasons. First, MCP is the most important integration pattern in AI right now: it's how you give an assistant real, typed tools instead of hoping it invents the right answer. A grocery catalog is a friendly way to show the whole shape of a good MCP server — typed inputs, caching, rate limiting, a circuit breaker, honest freshness signals, and, where it touches an account, a human kept firmly in the loop — without a wall of enterprise context.
Second, it's the same discipline we bring to client work. Giving an AI assistant safe, well-behaved access to a real system — your CRM, your inventory, your internal APIs — is exactly what AI agents and the tools they use are about. If you're weighing that up, see our honest take on what AI agents actually do for a business, or our guide to AI integration.
Grab it on npm: grocery-delivery-mcp. And to be completely clear one more time — it's an independent, unofficial tool, not affiliated with or endorsed by ALDI.
Want to give your own AI assistant real, safe capabilities — wired into the systems you already run, with the right guardrails? That's our day job. See our AI & LLM integration work.

