Fetch your own Delhaize (Belgium) till receipts and weekly promotions with a headless browser.
MCPpedia last refreshed this data
io.github.SHIMABEIGI/delhaize-mcp is an MCP server that fetch your own Delhaize (Belgium) till receipts and weekly promotions with a headless browser. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 85/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"io-github-shimabeigi-delhaize-mcp": {
"args": [
"delhaize-mcp"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Fetch your own Delhaize (Belgium) till receipts and weekly promotions with a headless browser.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
uvx 'delhaize-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked delhaize-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in browser
Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡
Firecrawl, the context API for AI agents: search, scrape, interact with the web, plus paper search.
Web search, agentic search, news, page retrieval, sitemaps, and trending topics through Search1API.
Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
MCP Security Weekly
Get CVE alerts and security updates for io.github.SHIMABEIGI/delhaize-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An unofficial Model Context Protocol server that lets an AI assistant fetch your own Delhaize (Belgium) till receipts and this week's promotions, using its own headless browser, without driving your everyday browser and without ever seeing your password.
Unofficial and not affiliated with or endorsed by Delhaize. It reads only your own account, at your request, the way you would read it yourself. Check that your use fits Delhaize's terms of use, keep the request rate low, and do not use it to collect other people's data.
| Tool | What it does | Writes |
|---|---|---|
delhaize_auth_status | Is the saved login still valid? | nothing |
delhaize_list_receipts | Lists recent receipts and flags which are not in your record yet | nothing |
delhaize_fetch_new_receipts | Saves the image of each new receipt | data/receipts_inbox/ |
delhaize_backfill_images | Saves the missing photos of receipts already in your record | data/receipts_backfill/ |
delhaize_fetch_promotions | Saves the raw pages of the weekly promotions listing | data/promos_inbox/<date>/ |
It never transcribes items, never edits your record, and never handles your password. It only puts files on disk. Reading the images and recording them is left to you or your assistant, ideally with a check that each receipt's lines sum to its printed total.
Receipts are identified by (date, store, total), so nothing is fetched twice.
pip install delhaize-mcp
python3 -m playwright install chromium
This gives you two commands: delhaize-mcp (the MCP server) and delhaize-receipts (the same actions from the command line).
Log in once. A browser window opens, and you sign in yourself:
delhaize-receipts login
The session is saved in ~/.delhaize-mcp/profile (or set DELHAIZE_PROFILE). Later runs reuse it headlessly. If it lapses, run login again. That folder holds your session cookies: never commit or share it.
Choose a data folder (optional). By default everything is written to ~/.delhaize-mcp/data. Set DELHAIZE_DATA_DIR to use another folder. Your record of receipts is receipts_all.json in that folder, a JSON list such as:
[{"date": "2026-08-11", "store": "Delhaize Centre", "total": 11.11, "image": "photos/2026-08-11.jpeg"}]
image is optional. A receipt without an existing image is what backfill looks for.
Connect it to your assistant.
Claude Code:
claude mcp add delhaize-receipts -- delhaize-mcp
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"delhaize-receipts": {
"command": "delhaize-mcp",
"env": {"DELHAIZE_DATA_DIR": "/path/to/your/data"}
}
}
}
If the app cannot find delhaize-mcp, use its full path (which delhaize-mcp shows it).
The same actions work without an assistant:
delhaize-receipts status
delhaize-receipts list --months 1 # this month and last
delhaize-receipts fetch --months 1
delhaize-receipts backfill --months 3
delhaize-receipts promos
Delhaize renders each receipt as an image inside a client-side app, so the server lets the real page render in a headless Chromium (Playwright) and reads the finished page, exactly as a person would. All parsing rules (French dates, euro amounts, de-duplication, file naming) live in src/delhaize_mcp/core.py, which has no browser dependency and is fully unit-tested.
No browser or network needed:
python3 tests/test_core.py
python3 tests/test_server.py