npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@firfi/voila-mcp

v0.1.7

Published

Voila MCP server for safe personal grocery search, cart, slots, and order-history workflows

Readme

@firfi/voila-mcp

npm License: MIT MCP

Voila MCP server for safe personal grocery search, cart, slots, and order-history workflows. The server exposes small auditable tools and does not expose checkout or order placement.

Configuration

The server reads configuration from environment variables:

  • VOILA_AUTH_SESSION_PATH: path to an SDK session snapshot JSON file.
  • VOILA_SESSION_WRITE_PATH: optional path for updated session snapshots. Defaults to VOILA_AUTH_SESSION_PATH.
  • VOILA_GUEST=1: force guest-session behavior.
  • MCP_TRANSPORT: stdio by default, or http.
  • MCP_HTTP_HOST: HTTP bind host. Defaults to 127.0.0.1.
  • MCP_HTTP_PORT / PORT: HTTP port. Defaults to 3000.
  • MCP_HTTP_PATH: HTTP MCP path. Defaults to /mcp.

If a tool runs with a guest, expired, missing, or unreadable account session, the tool result includes authGuidance with the CLI command to run. The MCP server does not launch a browser; run the command, log in in Chromium, close the browser window to save, then retry the MCP request.

Client Example

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

HTTP / Glama

HTTP transport is intended 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

VOILA_GUEST=1 lets Glama start the server and inspect tool definitions without a user browser session or account credentials. Do not expose HTTP with a real session file directly to the public internet; put authentication and access control in front of /mcp.

Tools

  • voila_check_session_health
  • voila_get_active_shopping_context
  • voila_get_slot_listings
  • voila_reserve_slot
  • voila_search_products
  • voila_get_category_products
  • voila_get_discounted_products
  • voila_get_completed_orders
  • voila_get_order_details
  • voila_get_completed_order_items
  • voila_get_cart
  • voila_add_cart_items
  • voila_remove_cart_items

voila_get_active_shopping_context and voila_get_slot_listings are the preferred first steps for planning an order because product pricing and availability depend on delivery context. Product-first search remains available.

voila_reserve_slot mutates the active session and requires explicit confirmation flags from the caller.

voila_get_completed_orders reads completed orders with cursor pagination. It does not expose reorder, checkout, or order placement.

voila_get_order_details reads item-level details for one completed order, including received, substituted, missing, returned, and at-risk item groups when Voila returns them.

voila_get_completed_order_items aggregates received items across completed orders, optionally filtered by fromDate and toDate, so a client can answer questions such as what the user ordered last month.

The server does not expose checkout or order-placement tools.