Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Mirakl Seller API in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Run your shop on any Mirakl-powered marketplace (Leroy Merlin, Conforama, BUT, home24, Maisons du Monde, Vente-unique, ePrice, Decathlon, Carrefour and many more) from an AI agent: orders, acceptance, tracking and shipping, incidents, offers with prices and stock, offer and product imports, customer and operator messages, returns, order documents, invoices and transactions. One install per marketplace.
Try asking
Example prompts for Mirakl Seller API
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Mirakl Seller API, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Mirakl + Gemini
Run your shop on any Mirakl-powered marketplace (Leroy Merlin, Conforama, BUT, home24, Maisons du Monde, Vente-unique, ePrice, Decathlon, Carrefour and many more) from an AI agent: orders, acceptance, tracking and shipping, incidents, offers with prices and stock, offer and product imports, customer and operator messages, returns, order documents, invoices and transactions. One install per marketplace.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
MIRAKL_URL, MIRAKL_API_KEY
Step 1 — Get credentials
- Sign in to the marketplace's seller back office (the Mirakl portal the operator gave you). Each operator runs its own Mirakl instance, so install the connector once per marketplace (for example Leroy Merlin and Conforama) and name each install after its marketplace.
- Copy the portal's address without any path into
MIRAKL_URL(the addresses of common marketplaces are listed below). Do not add/api: the connector adds it itself. - Click your user name in the top right corner, open My user settings and the API Key tab, generate a key (or copy the existing one) and paste it into
MIRAKL_API_KEY, withoutBearer. Generating a new key invalidates the old one, so any other tool still using it stops working. - Only if your user manages several shops on this marketplace (common on home24 and Vente-unique): set
MIRAKL_SHOP_IDto the numeric id of the shop to use. Leave it empty for your default shop. - Install the connector and run
mirakl_get_account. It shows the shop behind the key.
Marketplaces that run on Mirakl: the connector is the same on all of them; only the address and the key change.
- Leroy Merlin (ADEO):
https://adeo-marketplace.mirakl.net - Conforama:
https://conforama-prod.mirakl.net - BUT:
https://but-prod.mirakl.net - home24:
https://home24.mirakl.net - Maisons du Monde:
https://maisonsdumonde-prod.mirakl.net - Vente-unique:
https://venteunique-prod.mirakl.net - ePrice:
https://marketplace.eprice.it
Other operators work the same way, including those on their own domain: use the address of the seller back office you sign in to.
Orders and incidents: the AI lists the orders waiting for acceptance, accepts or refuses each line, stores the carrier and tracking number and confirms the shipment. It also finds orders with an open incident and, once the customer's problem is solved, closes the incident on that order line with mirakl_resolve_incident. The documents attached to an order (delivery notes, shipping labels, customer invoices) are listed with name, type and upload date; the file itself opens in the back office.
Returns: the AI lists return requests with reason, RMA, tracking and the linked order. On marketplaces that use Mirakl returns and let the shop decide, it can accept or refuse a request and confirm that the goods arrived at your warehouse. Refunds stay in the back office.
Confirm first: accepting orders, tracking, shipping, closing incidents, return decisions, offer updates, messages and product imports act on the live marketplace. The AI shows you what will change (order lines, tracking number, old and new price or stock, message text) and waits for your yes. Refusing an order line cancels it for good, and a sent message cannot be taken back.
Prices and stock: mirakl_update_offers replaces the whole offer, and every field left out is reset (a missing quantity becomes 0), so the AI reads the offer first and sends it back complete with only your change. mirakl_import_offers is switched off at install, because its REPLACE mode deletes every offer missing from the file.
What it reads: orders with customer, address and incidents, your offers and other shops' offers on the same products, messages, returns, order documents, the operator's invoices and the transaction lines (sales, commissions, refunds, payouts), plus the marketplace's channels (country sites), carriers, shipping zones, shipping methods and logistic classes. With Enhanced Seller Invoicing the invoice list shows no new documents, so the AI reads the accounting document requests and the transactions instead.
Limits: Mirakl limits each API separately, and operators can tighten the limits. Product and offer imports run at most every 15 minutes, and comparing competitor offers allows about 5 calls a minute. A 429 answer says how many seconds to wait.
Common errors: 401: the key is wrong, was replaced by a newer one, or belongs to another marketplace. 403: your user lacks the right for this action. 404: the order, offer or thread does not exist for this shop, or MIRAKL_URL is not the seller back office address. 400: a wrong parameter, or an order in the wrong state.
The connector does not refund, cancel orders or move money, and each install works on one marketplace and one shop.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Gemini
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart
gemini. - Run
/mcpinside Gemini CLI (orgemini mcp listin your shell):anythingmcpshould show as connected. - Start prompting: Gemini CLI can now call the
Mirakltools.
Available tools
| Tool | What it does |
|---|---|
mirakl_get_account | Read the shop behind the API key on this marketplace (A01): shop id and name, state, channels, currency, grade and approval rate, contact… |
mirakl_list_orders | List orders (OR11) with their lines, customer, shipping address, prices, state and incidents |
mirakl_list_offers | List the shop's offers (OF21): SKU, product, price and discount, all channel prices, quantity in stock, condition, lead time and whether… |
mirakl_get_offer | Read one offer in full by its Mirakl offer id (OF22): every price field, discount, quantity, condition, logistic class, lead time and… |
mirakl_list_offer_conditions | List the offer conditions (OF61) the marketplace accepts, e.g. new or used, with the code to put in state_code when updating offers |
mirakl_list_offer_imports | List offer imports and updates (OF04), from files and from mirakl_update_offers: status (WAITING, RUNNING, COMPLETE, FAILED), lines read… |
mirakl_get_offer_import | Read the status of one offer import or offer update (OF02) by its import_id, as returned by mirakl_update_offers or mirakl_import_offers… |
mirakl_list_product_imports | List product imports (P51) with their status (WAITING, RUNNING, SENT, COMPLETE, FAILED, CANCELLED), the transformation counts and the… |
mirakl_get_product_import | Read the status of one product import (P42) by its import_id: import status, reason, transformation counts and the integration details… |
mirakl_get_products | Look up products in the marketplace catalog by their identifiers (P31), e.g |
mirakl_list_product_offers | List the offers of every shop for given products (P11), sorted by best price, to compare your price with the competition |
mirakl_list_threads | List message threads (M11) with customers and the operator: topic, linked order or offer, participants, last message date and since when a… |
mirakl_get_thread | Read one message thread (M10) with all its messages, senders, recipients, attachments and the linked order or offer |
mirakl_list_returns | List return requests (RT11) with their state, return lines, reason, RMA, tracking and the linked order |
mirakl_list_reasons | List the marketplace's reason codes (RE01): incident, cancellation, refund and message reasons, with their labels and whether the shop may… |
mirakl_list_carriers | List the carriers the marketplace knows (SH21) with their code, label and tracking URL |
mirakl_list_invoices | List the operator's accounting documents for the shop (IV01): invoices and credit notes with period, totals with and without tax… |
mirakl_list_transactions | List the shop's transaction lines (TL02): order amounts, shipping, commissions, refunds, manual credits and payouts, with amount, type… |
mirakl_list_document_requests | List accounting document requests (DR11), used on marketplaces with Enhanced Seller Invoicing: invoices and credit notes the operator or… |
mirakl_list_order_documents | List the documents attached to one or more orders (OR72): delivery notes, shipping labels, customer invoices and other files, with id, file… |
mirakl_list_channels | List the marketplace's sales channels (CH11), usually one per country site, with code and label |
mirakl_list_shipping_zones | List the active shipping zones of the marketplace (SH11) with code and label, e.g. mainland France or Corsica |
mirakl_list_shipping_methods | List the active shipping methods of the marketplace (SH12), e.g. standard, express or pick-up, with code, label, whether a tracking number… |
mirakl_list_logistic_classes | List the marketplace's logistic classes (SH31), the size or weight bands that decide shipping prices, with code and label |
mirakl_accept_order | Accept or refuse the lines of an order waiting for acceptance (OR21) |
mirakl_update_tracking | Set the carrier and tracking number of an order (OR23) |
mirakl_ship_order | Confirm that an order in SHIPPING has been shipped (OR24); it moves to SHIPPED and the customer is notified |
mirakl_update_offers | Create or update offers, including price and stock (OF24) |
mirakl_reply_thread | Reply in a message thread (M12) to the customer or the operator |
mirakl_create_order_thread | Start a new message thread on an order (OR43) with the customer, the operator or both |
mirakl_resolve_incident | Mark the open incident on one order line as resolved (OR64), once the customer's problem is solved. reason_code must be an INCIDENT_CLOSE… |
mirakl_accept_return | Accept or refuse a return request in WAITING_ACCEPTANCE (RT21) |
mirakl_receive_return | Confirm that the goods of an accepted return arrived at your warehouse (RT25) |
mirakl_import_products | Send a product file to the marketplace (P41) to create or enrich products in its catalog. file_url is the address of a CSV, XLSX or XML… |
mirakl_import_offers | Import an offer file (OF01) to create, update or delete offers in bulk |
Example prompts
- "Which orders are waiting for acceptance right now, and which orders have an open incident?"
- "Compare our price for EAN 3700123456789 with the other shops' offers on this marketplace."
- "Set the stock of SKU LAMP-042 to 25, but show me the current offer and the new values before you change anything."
- "Draft a reply to the customer's message on order 20481937-A and show it to me before sending."
- "Which return requests on Leroy Merlin are waiting for our decision, and what reason did each customer give?"
- "The customer on order 20481937-A got a replacement. Close the incident on that order line, but show me the reason code first."
FAQ
Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.
Next steps
Was this guide helpful?