Unofficial Continente.pt shopping: search products, read favorites and orders, manage the cart.
An MCP server that lets AI assistants shop at Continente.pt: search products, check prices and sale rules, read your favorites and past orders, and fill your cart. Checkout and payment always stay on the website.
Unofficial. This project is not affiliated with, endorsed by or supported by Continente or MC Sonae. It automates the public website with a headless browser, may break when the site changes, and should be used in line with the website's terms. You are responsible for anything placed in your cart.
basket-planner prompt with the full shopping workflow. Nothing
extra to install; the same guide also ships as a skill.The server drives the website with Chromium, which it downloads automatically the first time it needs it (about 150 MB, once).
That's it. The server is also listed
in the MCP Registry as
io.github.andredelgado/continente-mcp, so clients that browse the registry can find it. To use 1Password instead
of storing the password in Claude Desktop, use the manual setup below.
The server checks npm once a day for a newer release. When there is one, it tells the
assistant, so Claude can mention it, and get_session_status shows it.
continente-mcp.mcpb and open it. Claude Desktop updates the
extension in place and keeps your email and password.continentept-mcp@latest picks up new versions when the client restarts.1. Save your credentials in ~/.continentept-mcp/credentials.env (see
configuration for other options):
mkdir -p ~/.continentept-mcp && chmod 700 ~/.continentept-mcp
printf 'CONTINENTE_EMAIL=you@example.com\nCONTINENTE_PASSWORD=your-password\n' > ~/.continentept-mcp/credentials.env
chmod 600 ~/.continentept-mcp/credentials.env
Using 1Password? Skip the file and pass secret references through op run instead; see
Using 1Password.
Optionally check that login works:
npx -y continentept-mcp login
2. Add the server to your MCP client.
Claude Code:
claude mcp add continente -- npx -y continentept-mcp
Claude Desktop, Cursor and other clients (claude_desktop_config.json, mcp.json, ...):
{
"mcpServers": {
"continente": {
"command": "npx",
"args": ["-y", "continentept-mcp"]
}
}
}
To keep the credentials file elsewhere, add
"env": { "CONTINENTE_CREDENTIALS_FILE": "/absolute/path/to/credentials.env" }.
Chromium downloads itself on first use. To fetch it ahead of time, run
npx -y continentept-mcp install-browser (on Linux, add --with-deps for the system
libraries it needs).
Then ask your assistant something like "Add semi-skimmed milk and a dozen eggs to my Continente cart" or "What do I usually buy? Build me a list for this week."
| Tool | What it does |
|---|---|
search_products | Search the catalogue in relevance order, with favorites marked and a cursor for more |
get_product | Price, pack size, availability and sale rules for one product |
get_product_labels | Ingredients, allergens and nutrition as the label declares them |
list_favorites | Your saved favorites (refresh: true fetches the latest) |
get_cart | Cart lines, quantities, bags and totals |
preview_basket | What a list of changes would do and cost, without changing the cart |
add_cart_item | Add an amount on top of what is in the cart |
set_cart_item_quantity | Make the cart hold exactly a quantity; zero removes |
remove_cart_item | Remove a line from the cart |
clear_cart | Empty the whole cart in one confirmed step |
list_orders | Recent orders with their product lines |
get_order | One order's product lines |
list_frequently_bought_products | Products ranked by how often you order them |
get_session_status | Local login, cookie and cache state (no network) |
See the tool reference for inputs, outputs, error codes and limits.
A cart change can fail after the request has reached the website, for example on a timeout.
In that case the result has mutation.outcome: "unknown" and asks the client to call
get_cart before doing anything else. The server never retries such a change on its own,
and clients should not either: repeating an add_cart_item could add the item twice.
When a client connects, the server sends short instructions with these cart rules, so the assistant follows them without any setup. For planning a shopping list, pick the basket-planner prompt from your client's prompt or attachment menu, optionally with a request such as "weekly basket for two".
The same guide is available as a skill in
skills/basket-planner. Clients that support skills, such
as Claude Desktop (Settings → Capabilities → Skills) or Claude Code (~/.claude/skills/),
then apply it automatically whenever you ask about groceries.
continentept-mcp Start the MCP server on stdio
continentept-mcp login Sign in and save the session (--show-browser to watch)
continentept-mcp install-browser Download Chromium now instead of on first use (extra arguments go to Playwright)
continentept-mcp --version
continentept-mcp login --show-browser and complete it in the browser
window.Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y continentept-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-andredelgado-continente-mcp": {
"command": "npx",
"args": [
"-y",
"continentept-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencecontinentept-mcpnpmContinente MCP works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.