delhaize-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DELHAIZE_DATA_DIR | No | By default everything is written to ./data. Set DELHAIZE_DATA_DIR to use another folder. Your record of receipts is receipts_all.json in that folder. | ./data |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| delhaize_auth_statusA | Check whether the saved Delhaize browser profile is still logged in. Returns {logged_in: bool, message: str}. If logged_in is false, the user must
run |
| delhaize_list_receiptsA | List Delhaize receipts for the current month and the previous Read only: opens nothing and writes nothing. Use this to preview before fetching. months_back=1 (the default) covers this month and last, which is enough to catch a month boundary. Returns {count, new_count, receipts:[{date, store, total, points, savings, is_new}]}. |
| delhaize_fetch_new_receiptsA | Save the images of any NEW Delhaize receipts (this month and the previous
Not read only: it writes image files into receipts_inbox. It is non destructive: it never overwrites, never deletes, and never edits receipts_all.json. A receipt already present in receipts_all.json is skipped. After it runs, the images can be read (by the assistant or any OCR) and recorded in receipts_all.json by your own process; checking that the lines sum to the printed total before recording is strongly recommended. Returns {new_count, saved:[{date, store, total, path}], missed:[...], next_step}. |
| delhaize_backfill_imagesA | Save the missing PHOTOS of Delhaize receipts that are already in the record
but have no image. A receipt lacks a photo when its record has no existing
Not read only: it writes image files into receipts_backfill/. It never edits receipts_all.json and never uses receipts_inbox, so nothing is ingested twice. Each file is named ' ' so it pairs with its receipt. Returns {missing, found, saved:[...], missed:[...], not_in_window:[...], next_step}. |
| delhaize_fetch_promotionsA | Read this week's public Delhaize promotions listing (store context from the saved profile) and save each page's raw data into promos_inbox//. Not read only: it writes JSON files into promos_inbox. It never edits anything else and never judges products; parsing the capture is left to your own code. Returns {pages, tiles, api_bodies, out_dir, stopped, next_step}. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool targets a distinct action in the receipts lifecycle, but delhaize_fetch_new_receipts and delhaize_backfill_images both 'fetch receipt images' and could be confused at first glance; the descriptions do clarify (new receipts vs. missing photos for existing records).
All tools share the delhaize_ prefix in consistent snake_case, mostly following a verb_noun pattern (list_receipts, fetch_new_receipts, backfill_images, fetch_promotions). delhaize_auth_status is a minor deviation using a noun-style status name rather than an action verb.
Five tools is well-scoped for a focused receipts/promotions workflow, with each tool earning its place (auth check, preview, two distinct fetch operations, promotions fetch). No redundant or filler tools.
The surface covers the key read/write lifecycle: connectivity check, listing, fetching new receipts, backfilling missing images, and capturing promotions. There is no tool to view/search the existing receipts_all.json corpus or to record entries, though the design intentionally offloads recording to the assistant.