mcpField
D
Delhaize receipts

Delhaize receipts

本地服务
github.com/SHIMABEIGI金融数据04 周前更新

关于 Delhaize receipts

Delhaize receipts 是非官方 MCP 服务和命令行工具,可获取用户自己的比利时 Delhaize 小票及每周促销信息。它通过无头浏览器复用用户自行创建的登录会话,将文件保存到本地,不处理密码,也不转录小票。

主要功能

  1. 01检查已保存的登录状态
  2. 02列出近期小票
  3. 03获取新小票图片
  4. 04补存缺失的小票照片
  5. 05保存每周促销页面

适用场景

  1. 01收集新小票以便个人记录
  2. 02找回缺失的小票图片
  3. 03保存每周促销信息供日后查看

MCP 相关

MCP 服务提供检查登录状态、列出和获取小票、补存图片及保存促销页面的工具。相同操作也可通过 `delhaize-receipts` 命令行工具执行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"shimabeigi-delhaize": {
"command": "uvx",
"args": [
"delhaize-mcp"
],
"env": {
"DELHAIZE_DATA_DIR": "<DELHAIZE_DATA_DIR>"
}
}
}
}
启动命令uvx delhaize-mcp
需要配置的环境变量
DELHAIZE_DATA_DIRFolder for receipts_all.json and the saved images (default ~/.delhaize-mcp/data)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypidelhaize-mcp0.1.0

工具

5

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

delhaize-mcp

一款非官方的 Model Context Protocol 服务,可让 AI 助手通过自己的无头浏览器获取你个人的 Delhaize(比利时)收银小票和本周的促销信息,不会操控你日常使用的浏览器,也不会接触你的密码。

本工具为非官方项目,与 Delhaize 无关联,也未获其认可。它只会根据你的请求读取你自己的账户,方式与你自行读取相同。请确认你的使用符合 Delhaize 的使用条款,保持较低的请求频率,也不要用它收集他人的数据。

功能

工具功能写入内容
delhaize_auth_status已保存的登录是否仍然有效?无
delhaize_list_receipts列出近期小票,并标记哪些小票尚未录入你的记录无
delhaize_fetch_new_receipts保存每张新小票的图片data/receipts_inbox/
delhaize_backfill_images保存记录中已有小票的缺失照片data/receipts_backfill/
delhaize_fetch_promotions保存每周促销列表页面的原始内容data/promos_inbox/<date>/

它不会转录商品、编辑你的记录,也不会处理你的密码。它只会将文件写入磁盘。读取图片并记录内容由你或你的助手完成,最好核对每张小票上的明细合计是否与打印的总金额一致。

小票以**(日期、门店、总金额)**为标识,因此不会重复获取。

要求

  • Python 3.10+
  • 已将小票关联到会员卡的 Delhaize 账户

安装

pip install delhaize-mcp
python3 -m playwright install chromium

这会提供两个命令:delhaize-mcp(MCP 服务)和 delhaize-receipts(通过命令行执行相同操作)。

设置

  1. 登录一次。 浏览器窗口会打开,由你自行登录:

    delhaize-receipts login
    

    会话会保存在 ~/.delhaize-mcp/profile 中(也可以设置 DELHAIZE_PROFILE)。之后运行时会无头复用该会话。如果会话过期,请再次运行 login。该文件夹包含你的会话 Cookie:切勿提交或分享。

  2. 选择数据文件夹(可选)。默认情况下,所有内容都会写入 ~/.delhaize-mcp/data。设置 DELHAIZE_DATA_DIR 即可使用其他文件夹。该文件夹中的 receipts_all.json 保存你的小票记录,内容是类似下面这样的 JSON 列表:

    [{"date": "2026-08-11", "store": "Delhaize Centre", "total": 11.11, "image": "photos/2026-08-11.jpeg"}]
    

    image 是可选字段。没有现有图片的小票就是 backfill 要查找的对象。

  3. 将其连接到你的助手。

    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"}
        }
      }
    }
    

    如果应用找不到 delhaize-mcp,请使用它的完整路径(which delhaize-mcp 可以查看路径)。

命令行

无需助手也可以执行相同的操作:

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 会在客户端应用中将每张小票呈现为图片,因此该服务会使用无头 Chromium(Playwright)渲染真实页面,并读取渲染完成的页面,与用户亲自操作的方式完全相同。所有解析规则(法语日期、欧元金额、去重、文件命名)都位于 src/delhaize_mcp/core.py 中,该文件不依赖浏览器,并且已通过完整的单元测试。

测试

无需浏览器或网络:

python3 tests/test_core.py
python3 tests/test_server.py

隐私

  • 除了向 delhaize.be 发送正常的页面请求外,不会有任何数据离开你的设备。
  • 不会读取或存储密码。登录使用的是由你自行创建的浏览器配置文件。
  • 你的登录信息和数据保存在代码之外的 ~/.delhaize-mcp 中,因此不会进入代码仓库。

限制

  • 本工具基于比利时法语网站(delhaize.be/fr)开发。Delhaize 方面的页面变更可能导致工具失效;解析器经过专门设计,具有较强的容错能力,工具会报告遗漏的内容,而不会静默失败。
  • 促销信息捕获功能只保存原始页面数据;如何解读由你自行决定。

许可证

MIT。详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。