Bring Fast

Bring Fast

A multi-user grocery MCP server and dashboard for UAE stores such as Carrefour, Grandiose, Waitrose, and Spinneys, enabling secure OAuth-based sign-in via Grok while keeping each user's supermarket logins and data private.

Category
Visit Server

README

Bring Fast

Multi-user grocery MCP + dashboard for the UAE.

Each person has a Bring Fast account and only their own supermarket logins. Grok connects with OAuth (Dynamic Client Registration) — users sign in with the same Bring Fast email/password. No Client ID / secret to paste.

Login

One form, one step. Email plus password signs you in, and on first use that same form creates the account — there is no separate registration page to find.

  • The session cookie lasts 30 days (BRINGFAST_SESSION_DAYS), and is Secure when BRINGFAST_PUBLIC_URL is https.
  • A wrong password keeps the email you typed, and ?next= brings you back to the page you were heading for.
  • When Grok asks for access and you are already signed in, Bring Fast hands the code straight back with no extra screen. When you are not, the authorize page signs you in — or creates the account — and continues the same flow.
  • Connectors get a refresh_token, so a running connector is never dropped back to a login screen.
  • Authorization codes only go to a redirect_uri the client registered.

Store logins live on the dashboard. Bring Fast reuses a live supermarket session when it belongs to you, and signs in again when it does not, so a shared browser profile never mixes two people's carts. Use Check login on a store card to test the saved credentials.

Stores

Run

python3 -m venv .venv
.venv/bin/pip install -e .
BRINGFAST_HOST=0.0.0.0 BRINGFAST_PORT=8877 \
  BRINGFAST_PUBLIC_URL=https://your-public-host \
  .venv/bin/python -m bring_fast.app

Official store checkout (Playwright) is optional:

.venv/bin/pip install -e ".[checkout]"
.venv/bin/playwright install chromium
  • Dashboard: /
  • MCP: /mcp
  • Health: /health
  • OAuth: /.well-known/oauth-authorization-server, /oauth/register, /oauth/authorize, /oauth/token

BRINGFAST_PUBLIC_URL is what the server tells clients to call back on. Leave it unset behind a reverse proxy or tunnel that sends X-Forwarded-Proto / X-Forwarded-Host and the public URL is taken from the request. Set it explicitly only to a public https origin. A server that advertises 127.0.0.1 gives the connector nothing reachable to authenticate against.

If Grok hangs on “Checking authentication…” or reports “Connection failed”, diagnose the live URL:

.venv/bin/python -m bring_fast.doctor https://your-public-host/mcp

The first FAIL line is the reason the connector never finishes.

Grok

Custom connector URL: https://<your-host>/mcp

Grok discovers OAuth and opens the Bring Fast login. Friends register their own Bring Fast account; they never see another user’s stores.

Official checkout stays on each supermarket site.

Tests

.venv/bin/pip install -e ".[dev]"
.venv/bin/python -m pytest

tests/test_mcp_handshake.py replays the OAuth and MCP handshake a client performs. Login, refresh tokens, and per-user store sessions are covered in tests/test_login.py, tests/test_oauth.py, and tests/test_store_login.py.

Docker

docker build -t bring-fast .
docker run --rm -p 8877:8877 \
  -e BRINGFAST_PUBLIC_URL=https://your-public-host \
  -v bringfast-data:/data \
  bring-fast

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured