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.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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. |
| A product sheet: Nutri-Score, ingredients, nutrition values and the other sections shown on the site. |
| Products on promotion in the selected store, 20 per page. |
| The store's catalogues (prospectus) from magasins-u.com, current and upcoming, then one catalogue's products, 20 per page, optionally filtered by words. |
| The cart: lines with quantity and amount after multi-buy discounts, estimated total, savings, booked pickup slot. |
| The account's shopping lists, then one list's products with current prices. |
| Products bought before ("Mes achats récents"). |
| Drive orders, then one order's lines with quantities and amounts, and the products the store could not supply or added instead. |
| Drive pickup slots of the coming days. Reading them books nothing. |
| Carte U purchases of the last three months (about two years with |
| Carte U balance and digital offers (available, activated, used). |
Tools that change the account:
Tool | What it does |
| Sets cart quantities (0 removes) and reports, product by product, what the cart holds afterwards. |
| Adds a shopping list's available products to the cart. |
| Creates or renames a list; deletes one only with |
| Adds products to a list or removes them. |
| Reserves a drive pickup slot. Nothing is ordered or paid. |
| Checks the cart can be ordered (slot booked, minimum amount, payment at pickup) and returns the summary to show, with a token valid 10 minutes. Orders nothing. |
| Places the prepared order, paid at pickup, with |
| Cancels an order not yet collected, when the site allows it online, with |
The server never pays online: orders are paid at pickup.
Product data is returned in French, as shown on the site.
Related MCP server: mcp-intermarche-drive
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 30 to 45 minutes of inactivity, so the server reloads a page every 18 to 26 minutes, day and 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 |
|
| Lets |
|
| Keep-alive interval, in minutes (30 at most: the site drops the session after 30 to 45 idle 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Let your AI agent operate any website through a real, logged-in browser session.
Let AI agents use any website you're logged in to. Sessions stay encrypted on your machine.
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Search live store shelves, verify delivery windows, and run instant AI agent checkouts.
Related MCP Servers
- 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
- AlicenseAqualityCmaintenanceEnables 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.372MIT
- AlicenseAqualityBmaintenanceUnofficial MCP server for Continente.pt: search products and promotions, compare prices per kg or litre, choose with photos, read favorites and orders, and fill your cart from Claude and other AI assistants.17566 npm52MIT
- AlicenseAqualityBmaintenanceEnables an agent to shop the online drive services of French retailers (E.Leclerc Drive and Super U): search products, read ingredients and allergens, manage carts, check slots and minimum order amounts, and compare carts across retailers. Orders are never placed — slot booking and payment stay with the user in their own logged-in browser session.1162 npmMIT