Magasins U MCP server
Gives an AI agent access to the user's own Courses U / Magasins U (Super U, Hyper U, U Express) grocery drive account: checks whether the session is signed in, which store is selected, and returns the noVNC link when the human must sign in, and searches the selected store's products with prices, price per kilo or litre, promotions, pack sizes. Later versions are planned for cart, shopping lists, pickup slots, drive orders, receipts and promotions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Magasins U MCP serversearch my store for organic eggs and compare the prices per unit"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Magasins U MCP server
An unofficial MCP server that gives an AI agent access to your own Courses U account (Super U, Hyper U, U Express grocery drive in France): search and compare products today; cart, shopping lists, pickup slots, drive orders, receipts and promotions in later versions (see the design).
It drives a real browser, with a session that you open by hand, and runs in Docker on your own internet connection.
Unofficial project, not affiliated with Système U or Coopérative U in any way. Automating an account may breach the site's terms of use and lead to the account being restricted or suspended. Use it at your own risk; the authors accept no liability (see the license).
Read the site's legal notice and its terms of sale (CGV, shown once a store is selected) before use. The legal notice states that extracting its database, even partially, may incur civil and criminal liability: this server is meant for the personal use of your own account at a human pace, never for collecting catalogue data.
Tools
Tool | What it does |
| Signed in or not, selected store, requests made today; the link to open when a human action is needed. |
| Searches the selected store: price, price per kilo or litre, promotion, pack size, price per wash for laundry detergent. |
Product data is returned in French, as shown on the site.
Related MCP server: Frisco MCP
How it works
A real browser (Google Chrome or Chromium, through Patchright), shown on a virtual screen inside the container. The site sits behind Cloudflare: a plain HTTP client is refused.
You sign in yourself, through noVNC in your own browser. The server never knows your password and never solves a Cloudflare check for you.
Human pace: one site call at a time, 3 to 8 seconds between two requests, 300 requests a day at most.
Session upkeep: the site drops the session after less than an hour of inactivity, so the server reloads a page every 20 to 30 minutes (40 to 55 at night), at irregular intervals. Each visit is logged in
/data/visits.jsonl.Stop rather than insist: expired session or Cloudflare check → the server stops, opens noVNC and the tool returns the link to open. The site refuses access (HTTP 403/429) → 24-hour pause.
Your own IP address, not a VPN
Cloudflare scores the reputation of the IP address: behind a VPN or a proxy, checks pile up. Run the server from home and make sure the Docker host does not go out through a VPN. The server deliberately has no proxy option.
Installation (Docker)
Requirements: Docker with Compose, about 1 GB of free RAM. The published image is x86_64
(Google Chrome only ships for that platform); on ARM, build it yourself with
BROWSER_CHANNEL=chromium.
git clone https://github.com/Cohozen/magasins-u-mcp-server.git && cd magasins-u-mcp-server
cp .env.example .env
# Set at least MCP_TOKEN (openssl rand -base64 32) and VNC_HOST (the host's local IP)
docker compose pull # published image (x86_64)
docker compose up -d # or: docker compose up -d --build, to build it locally
docker compose logs -fReleases follow semantic versioning; each one publishes
ghcr.io/cohozen/magasins-u-mcp-server:<version> and :latest. To pin a version, set the image
tag in docker-compose.yml.
First login
On first start there is no session: the log shows a noVNC access opened line with a link like
http://<VNC_HOST>:6080/vnc.html?autoconnect=1&.... The session_status tool returns the same
link.
Open that link from a device on the local network.
In the browser shown, click Se connecter and sign in as usual, passing the Cloudflare check yourself.
That's it: the server notices the login within seconds, closes noVNC and saves the session.
The same steps apply when the session expires or Cloudflare asks for a check. An unused noVNC link closes after 30 minutes; the next call opens a new one.
Connecting the agent
URL:
http(s)://<host>:8000/mcp(Streamable HTTP transport)Header:
Authorization: Bearer <MCP_TOKEN>
When exposed to the internet (through a tunnel or a reverse proxy), expose port 8000 only. Port 6080 (noVNC) stays on the local network.
Configuration
Every variable is described in .env.example. The main ones:
Variable | Default | Purpose |
| — | Token required in |
|
| Local address used in the noVNC link |
| — | Expected store; |
|
|
|
|
| Random pause between two site requests |
|
| Daily cap on site requests |
|
| Keep-alive interval, in minutes |
Data and security
The /data volume holds the browser profile, session.json (session cookies, mode 0600) and
visits.jsonl. These files grant access to your account: do not copy them anywhere else. The
server stores no password, no payment data and no receipts.
Development
npm install
npx patchright install chromium
MCP_TOKEN=a-long-enough-development-token npm run devOn macOS there is no noVNC: the browser window opens directly and you sign in there.
scripts/call.ts calls a tool by hand.
Command | Effect |
| Biome, then TypeScript |
| Unit tests (Vitest), no access to the site |
| Compiles to |
Acknowledgements
The approach (real browser, session opened by hand, Docker) comes from linkedin-mcp-server.
License
MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
Let your AI agent operate any website through a real, logged-in browser session.
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Your own browser in the cloud, logged in to your sites, shared by you and your AI.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to search for products, manage shopping carts, and place grocery orders on Instacart using browser automation. It includes comprehensive tools for store discovery, product searching, and secure checkout with explicit user confirmation.1119 npm11MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to shop on frisco.pl, Poland's online grocery store, with secure manual authentication. Supports product search, cart management, and checkout preparation via browser automation without storing login credentials.107MIT
- AlicenseAqualityBmaintenanceEnables product search and basket management for Intermarché Drive through a visible Chromium browser, using the browser session to handle anti-bot measures. Provides tools to search products, view and modify the basket, and set substitutions, while checkout and payment remain on the website.71MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to search Target for groceries, compare unit prices, and manage a shopping cart, stopping short of checkout to keep the human in control.2-