Voila Groceries MCP

io.github.dearlordylord由 GitHub 账号 dearlordylord 发布v0.3.0更新于 Oct 24, 2026

Safe personal Voila grocery automation for search, slots, cart updates, and order history

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

本地 stdio MCP 服务器,用于个人 Voila 杂货购物:商品搜索、配送时段、购物车修改与订单历史,不含结账。

可以做什么
  • 检查会话健康状态并读取当前购物上下文(区域、收货地址、配送方式、购物车)
  • 搜索商品、按分类浏览商品并扫描折扣促销
  • 按指定地址和区域列出配送时段,并在显式确认标志下预留所选时段
  • 读取当前购物车,按商品 UUID 增减数量,并返回限量、缺货或价格变动提示
  • 读取已完成订单、单个订单明细,并汇总历史购买过的商品
适用场景
适合在 Voila 购物、希望助手帮忙找商品和折扣、比较配送时段、调整购物车或回顾历史订单的人,同时让结账和下单不暴露给助手。
运行要求
通过 npx(Node.js)以 stdio 在本地运行。已登录使用需要一个用 Voila CLI 捕获的会话 JSON 文件,并以绝对路径填入 VOILA_AUTH_SESSION_PATH;配置中不放密码。VOILA_GUEST=1 可强制访客模式。除非设置 VOILA_KEEPALIVE=0,否则会运行只读的会话保活。
安装前请注意
VOILA_AUTH_SESSION_PATH 指向的会话文件是真实的账户凭据,需妥善保管且不要外泄。购物车工具会改动真实购物车内容,预留时段也会作用于账户,但未提供结账和下单工具。它依赖网页应用的内部接口而非公开 API,可能随时失效。不要把带真实会话的 HTTP 传输直接暴露到公网。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Voila Groceries MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Voila MCP

[npm] [npm downloads] [License: MIT] [MCP] [TypeScript] [Glama score]

Voila MCP is a Model Context Protocol server for safe personal Voila grocery automation. It exposes small, auditable tools for product search, category browsing, discounts, delivery slots, cart deltas, and completed order history without exposing checkout or order placement.

Published on npm as @firfi/voila-mcp. The repository also includes @firfi/voila-sdk and @firfi/voila-cli.

Packages

  • packages/voila-sdk: @firfi/voila-sdk, the TypeScript SDK for Voila sessions, search, categories, cart, order history, slots, and checkout-readiness helpers.
  • packages/voila-mcp: @firfi/voila-mcp, a stdio MCP server exposing small auditable tools.
  • packages/voila-cli: @firfi/voila-cli, a user CLI that reuses the MCP operation registry.

The root package is private. Publishable packages live under packages/.

MCP Setup

Voila does not publish a documented third-party customer API. This server uses the same same-origin JSON endpoints as the web app, so authenticated use is session-based. Capture a session interactively with the CLI; do not store a Voila password in MCP config.

json
{  "mcpServers": {    "voila": {      "command": "npx",      "args": ["-y", "@firfi/voila-mcp"],      "env": {        "VOILA_AUTH_SESSION_PATH": "/absolute/path/to/session.json"      }    }  }}

If the session is missing, expired, or guest-only, tool results include authGuidance with the exact CLI login command to run. The MCP server itself does not launch a browser. A login performed while the server is running takes effect on its next tool call, without a restart.

With an explicit VOILA_AUTH_SESSION_PATH and guest mode off, the MCP server also runs a read-only authenticated-session keepalive. Set VOILA_KEEPALIVE=0 to disable it; VOILA_KEEPALIVE_INTERVAL_SECONDS defaults to 86400 seconds and must be at least 3600. The keepalive never bootstraps a guest and stops as misconfigured if its configured session snapshot disappears.

Tools

  • voila_check_session_health: report active, guest, expired, or retryable session state.
  • voila_get_active_shopping_context: read current region, destination, delivery method, and cart context.
  • voila_get_slot_listings: list delivery slots for an explicit destination and region.
  • voila_reserve_slot: reserve a caller-selected slot only with explicit confirmation flags.
  • voila_search_products: search products for the current session context.
  • voila_get_category_products: fetch products for a Voila category id.
  • voila_get_discounted_products: scan promotions and return meaningful discounted products.
  • voila_get_completed_orders: read completed orders with cursor pagination.
  • voila_get_order_details: read item-level details for one completed order.
  • voila_get_completed_order_items: aggregate previously ordered items across completed orders.
  • voila_get_cart: read active cart totals, limited items, unavailable data, and pricing notices.
  • voila_add_cart_items: add quantity deltas using Voila product UUIDs.
  • voila_remove_cart_items: remove quantity deltas using Voila product UUIDs.

The server does not expose checkout or order-placement tools. Cart mutations use quantity deltas and return server notices for limited, unavailable, and pricing-change cases.

Transports

Stdio is the default for local MCP clients:

bash
npx -y @firfi/voila-mcp

HTTP is available for registry inspection and deployments behind a trusted gateway:

bash
MCP_TRANSPORT=http MCP_HTTP_HOST=0.0.0.0 PORT=8080 VOILA_GUEST=1 npx -y @firfi/voila-mcp

The HTTP endpoint is /mcp unless MCP_HTTP_PATH is set. VOILA_GUEST=1 forces guest-session behavior for safe introspection environments such as Glama. Do not expose HTTP with a real session file directly to the public internet; put authentication and access control in front of /mcp.

CLI

bash
voila auth login --session ~/.config/voila/session.jsonvoila auth status --jsonvoila auth keepalive --interval 86400voila search "milk"voila orders listvoila orders details <order-id>voila orders items --from-date 2026-06-01 --to-date 2026-06-30voila cart get

The CLI default session path is ~/.config/voila/session.json. Browser login uses a persistent Playwright profile at ~/.cache/voila/browser-profile unless --profile is provided; log in manually and close the browser window to save.

Verification

bash
pnpm check-allpnpm package:audit

Live endpoint smoke tests remain opt-in. Do not run live cart mutation tests against a real account unless the test cleans up and the caller explicitly asks for it.

来源:README.md,提交 21c979d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分