Voila Groceries MCP

Official registry Search and web

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

What can you do with Voila Groceries MCP?

  • 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.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @firfi/voila-mcp
Claude Code
claude mcp add voila-groceries-mcp -e 'VOILA_GUEST=<VOILA_GUEST>' -e 'VOILA_AUTH_SESSION_PATH=<your voila_auth_session_path>' -- npx -y @firfi/voila-mcp@0.3.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "voila-groceries-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@firfi/voila-mcp@0.3.0"
            ],
            "env": {
                "VOILA_GUEST": "<VOILA_GUEST>",
                "VOILA_AUTH_SESSION_PATH": "<your voila_auth_session_path>"
            }
        }
    }
}

Environment variables

  • VOILA_GUEST Set to 1 for guest-session behavior in registry inspection or unauthenticated discovery.
  • VOILA_AUTH_SESSION_PATH secret Absolute path to a session JSON file captured with the Voila CLI for authenticated account workflows. Read and written as one path; guest sessions are never written to it.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Voila MCP
  2. Packages
  3. MCP Setup
  4. Tools
  5. Transports
  6. CLI
  7. Verification

Voila MCP

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.

{
  "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:

npx -y @firfi/voila-mcp

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

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

voila auth login --session ~/.config/voila/session.json
voila auth status --json
voila auth keepalive --interval 86400
voila search "milk"
voila orders list
voila orders details <order-id>
voila orders items --from-date 2026-06-01 --to-date 2026-06-30
voila 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

pnpm check-all
pnpm 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.

Frequently asked questions

What is Voila Groceries MCP?

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

How do I install Voila Groceries MCP?

It runs on your machine. In Claude Code: claude mcp add voila-groceries-mcp -e 'VOILA_GUEST=<VOILA_GUEST>' -e 'VOILA_AUTH_SESSION_PATH=<your voila_auth_session_path>' -- npx -y @firfi/voila-mcp@0.3.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Voila Groceries MCP need an API key?

Yes. It expects VOILA_AUTH_SESSION_PATH, which you set in its configuration.

Is Voila Groceries MCP open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Voila Groceries MCP?

It is published by dearlordylord. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.