Summary
Run your shop on the MediaMarkt marketplace from an AI agent: orders, acceptance, tracking and shipping, incidents, offers with prices and stock, imports, messages, returns, invoices and transactions. The marketplace sells in Germany, Austria, Spain, the Netherlands, Italy, Belgium, Switzerland, Poland and Hungary; sign in with the shop API key from your MediaMarkt seller back office.
Guided setup
Connect MediaMarkt Marketplace to Claude, ChatGPT or Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect MediaMarkt Marketplace in the guided setup, then add your MCP URL to your AI assistant. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for MediaMarkt Marketplace
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 → MediaMarkt Marketplace, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
MediaMarkt Marketplace
Run your shop on the MediaMarkt marketplace from an AI agent: orders, acceptance, tracking and shipping, incidents, offers with prices and stock, imports, messages, returns, invoices and transactions. The marketplace sells in Germany, Austria, Spain, the Netherlands, Italy, Belgium, Switzerland, Poland and Hungary; sign in with the shop API key from your MediaMarkt seller back office.
Setup
Countries: Germany, Austria, Spain, the Netherlands, Italy, Belgium, Switzerland, Poland and Hungary. In Italy the marketplace trades as MediaWorld. All countries share one seller platform.
Who can sell: MediaMarkt takes applications through a form per country, followed by a business verification (KYC). The connector needs a seller account that MediaMarkt has already opened.
Setting up takes about 5 minutes.
- Sign in to the MediaMarkt seller back office:
https://mediamarktsaturn.mirakl.net/login. - In the back office open your login name (top right) > My user settings > API key and click Generate a new key (or copy the existing key). Paste it into
MEDIAMARKT_API_KEY. The key is sent as is in theAuthorizationheader, withoutBearer. Generating a new key invalidates the old one, so any other tool using it stops working. - MediaMarkt usually opens one shop per country, so most sellers have several shops under one user. If your user has more than one shop, set
MEDIAMARKT_SHOP_IDto the numeric id of the shop this connector should work on (shown on the dashboard of the back office next to Identifier or Shop ID, and returned asshop_idbymediamarkt_get_account); to work on several shops, install the connector once per shop. Without it your default shop is used. - Install and run
mediamarkt_get_account: it returns the shop the key belongs to.
Where to start: mediamarkt_get_account shows the shop behind the key (id, name, state, currency and channels). For the daily work use mediamarkt_list_orders with order_state_codes=WAITING_ACCEPTANCE, mediamarkt_list_offers for prices and stock and mediamarkt_list_threads for messages that wait for a reply.
Products and competing offers: mediamarkt_get_products looks products up in the MediaMarkt catalog by EAN or another reference and returns the marketplace product SKU; mediamarkt_list_product_offers lists the offers of every shop for given products, best price first, at about 5 calls a minute.
Order workflow: a new order waits in WAITING_ACCEPTANCE. mediamarkt_accept_order accepts (or refuses) every line; after the customer is debited the order moves to SHIPPING. Then mediamarkt_update_tracking stores the carrier and tracking number (carrier codes come from mediamarkt_list_carriers) and mediamarkt_ship_order confirms the shipment (SHIPPED). Later states are TO_COLLECT, RECEIVED, CLOSED, REFUSED and CANCELED. Use mediamarkt_list_orders with order_state_codes=WAITING_ACCEPTANCE for the daily to-do list and has_incident=true for open incidents; mediamarkt_resolve_incident closes an incident on one order line once it is solved. Documents attached to orders (delivery notes, labels, customer invoices) are listed by mediamarkt_list_order_documents.
Writes: confirm first. mediamarkt_accept_order, mediamarkt_update_tracking, mediamarkt_ship_order, mediamarkt_resolve_incident, mediamarkt_accept_return, mediamarkt_receive_return, mediamarkt_update_offers, mediamarkt_reply_thread, mediamarkt_create_order_thread and mediamarkt_import_products act on the live marketplace. Before each call, show the user what will change (order id and lines, tracking number, offer SKU with the old and new price or stock, the message text and recipients) and wait for a yes. Refusing an order line cancels it for good. No tool here refunds, cancels orders or moves money; do that in the back office. mediamarkt_import_offers can delete offers (REPLACE mode deletes every offer missing from the file), so it is installed switched off.
Updating offers (prices and stock): mediamarkt_update_offers (OF24) replaces the whole offer. Every field you leave out is reset: a missing quantity becomes 0, a missing discount or description is deleted. Always read the offer first (mediamarkt_get_offer or mediamarkt_list_offers with sku) and send it back complete with only the intended change: shop_sku, product_id and product_id_type (from product_references), state_code, price, quantity, leadtime_to_ship, logistic_class (its code), min_quantity_alert, description, discount, all_prices, available_started / available_ended (read as available_start_date / available_end_date) and any offer_additional_fields. Leave update_delete empty or update. The call returns an import_id; the change is applied asynchronously, so check it with mediamarkt_get_offer_import before reading the offer again. Condition codes for state_code come from mediamarkt_list_offer_conditions, logistic class codes from mediamarkt_list_logistic_classes.
File imports: mediamarkt_import_products (P41) and mediamarkt_import_offers (OF01) take the URL of a CSV, XLSX or XML file in the file format MediaMarkt asks for; the connector downloads it and uploads it to MediaMarkt. Track them with mediamarkt_list_product_imports / mediamarkt_get_product_import and mediamarkt_list_offer_imports / mediamarkt_get_offer_import.
Returns: mediamarkt_list_returns (RT11) lists return requests. Where MediaMarkt lets the shop decide, mediamarkt_accept_return accepts or refuses one in WAITING_ACCEPTANCE and mediamarkt_receive_return confirms the goods arrived. Refunds stay in the back office.
Messages: mediamarkt_list_threads lists conversations (filter with entity_type=MMP_ORDER and entity_id=<order id> for one order; entity_id without entity_type is refused), mediamarkt_get_thread reads one with its messages, mediamarkt_reply_thread answers (recipient CUSTOMER or OPERATOR, which is MediaMarkt) and mediamarkt_create_order_thread opens a new conversation on an order. Reason codes for topics come from mediamarkt_list_reasons; leave its locale empty unless you know the marketplace has that language (an inactive locale answers 400).
Money: mediamarkt_list_invoices (IV01) lists the accounting documents MediaMarkt issues to the shop and mediamarkt_list_transactions (TL02) the transaction lines (sales, commissions, refunds, payouts). If MediaMarkt uses Enhanced Seller Invoicing, IV01 returns no new documents; use mediamarkt_list_document_requests (DR11) and the transactions then.
Reference lists: mediamarkt_list_channels (country sites), mediamarkt_list_carriers, mediamarkt_list_shipping_zones, mediamarkt_list_shipping_methods and mediamarkt_list_logistic_classes change rarely; read them once per conversation.
Pagination: orders, offers, invoices and product imports page with max (at most 100) and offset. Threads, returns, transactions, document requests and offer imports return a next_page_token; pass it as page_token to get the next page (all other filters are then ignored) until it is missing.
Dates are ISO 8601, e.g. 2026-10-01T00:00:00Z; answers are in UTC.
Rate limits: Each API has its own limit and MediaMarkt can tighten them. Listing offers and orders is meant for interactive use, product and offer imports at most every 15 minutes, mediamarkt_get_account and the reference lists about once a day. A 429 carries a Retry-After header with the seconds to wait; do not retry in a loop.
Errors: 401 means the key is wrong or was replaced by a newer one, 403 that your user lacks the right for this action, 404 that the order, offer or thread does not exist for this shop, 400 a wrong parameter or an order in the wrong state (the message names it, e.g. ORDER_INVALID_STATE).
Prerequisites: MEDIAMARKT_API_KEY
Install the connector locally
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
Open http://localhost:3000/connectors/store, pick MediaMarkt Marketplace and paste in the env vars listed under Prerequisites.
Available tools
| Tool | What it does |
|---|---|
mediamarkt_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… |
mediamarkt_list_orders | List orders (OR11) with their lines, customer, shipping address, prices, state and incidents. Filter by state (e.g. WAITING_ACCEPTANCE for… |
mediamarkt_list_offers | List the shop's offers (OF21): SKU, product, price and discount, all channel prices, quantity in stock, condition, lead time and whether… |
mediamarkt_get_offer | Read one offer in full by its offer id (OF22): every price field, discount, quantity, condition, logistic class, lead time and custom… |
mediamarkt_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 |
mediamarkt_list_offer_imports | List offer imports and updates (OF04), from files and from mediamarkt_update_offers: status (WAITING, RUNNING, COMPLETE, FAILED), lines… |
mediamarkt_get_offer_import | Read the status of one offer import or offer update (OF02) by its import_id, as returned by mediamarkt_update_offers or… |
mediamarkt_list_product_imports | List product imports (P51) with their status (WAITING, RUNNING, SENT, COMPLETE, FAILED, CANCELLED), the transformation counts and the… |
mediamarkt_get_product_import | Read the status of one product import (P42) by its import_id: import status, reason, transformation counts and the integration details… |
mediamarkt_get_products | Look up products in the marketplace catalog by their identifiers (P31), e.g. EAN, and get the marketplace product SKU, title and category.… |
mediamarkt_list_product_offers | List the offers of every shop for given products (P11), sorted by best price, to compare your price with the competition. Give product_ids… |
mediamarkt_list_threads | List message threads (M11) with customers and MediaMarkt: topic, linked order or offer, participants, last message date and since when a… |
mediamarkt_get_thread | Read one message thread (M10) with all its messages, senders, recipients, attachments and the linked order or offer |
mediamarkt_list_returns | List return requests (RT11) with their state, return lines, reason, RMA, tracking and the linked order. Filter by state, order or date.… |
mediamarkt_list_reasons | List the marketplace's reason codes (RE01): incident, cancellation, refund and message reasons, with their labels and whether the shop may… |
mediamarkt_list_carriers | List the carriers the marketplace knows (SH21) with their code, label and tracking URL. Use the code as carrier_code in… |
mediamarkt_list_invoices | List the accounting documents MediaMarkt issues to the shop (IV01): invoices and credit notes with period, totals with and without tax… |
mediamarkt_list_transactions | List the shop's transaction lines (TL02): order amounts, shipping, commissions, refunds, manual credits and payouts, with amount, type… |
mediamarkt_list_document_requests | List accounting document requests (DR11), used when MediaMarkt runs Enhanced Seller Invoicing: invoices and credit notes that MediaMarkt or… |
mediamarkt_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… |
mediamarkt_list_channels | List the marketplace's sales channels (CH11), usually one per country site, with code and label. Use the codes as channel_codes in… |
mediamarkt_list_shipping_zones | List the active shipping zones of the marketplace (SH11) with code and label, e.g. mainland France or Corsica. Changes rarely: call it… |
mediamarkt_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… |
mediamarkt_list_logistic_classes | List the marketplace's logistic classes (SH31), the size or weight bands that decide shipping prices, with code and label. Use the code as… |
mediamarkt_accept_order | Accept or refuse the lines of an order waiting for acceptance (OR21). Every line of the order must be listed. Refusing a line cancels it… |
mediamarkt_update_tracking | Set the carrier and tracking number of an order (OR23). Give carrier_code from mediamarkt_list_carriers, or carrier_name with carrier_url… |
mediamarkt_ship_order | Confirm that an order in SHIPPING has been shipped (OR24); it moves to SHIPPED and the customer is notified. Set the tracking first with… |
mediamarkt_update_offers | Create or update offers, including price and stock (OF24). Replaces each offer completely: every field left out is reset (a missing… |
mediamarkt_reply_thread | Reply in a message thread (M12) to the customer or MediaMarkt. The message is delivered at once and cannot be taken back: show the user the… |
mediamarkt_create_order_thread | Start a new message thread on an order (OR43) with the customer, MediaMarkt or both. The message is delivered at once: show the user the… |
mediamarkt_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… |
mediamarkt_accept_return | Accept or refuse a return request in WAITING_ACCEPTANCE (RT21). Only when MediaMarkt handles returns in the seller back office and leaves… |
mediamarkt_receive_return | Confirm that the goods of an accepted return arrived at your warehouse (RT25). The return moves to RECEIVED. Acts on the live marketplace… |
mediamarkt_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… |
mediamarkt_import_offers | Import an offer file (OF01) to create, update or delete offers in bulk. REPLACE mode deletes every offer that is not in the file, and… |
Example prompts
- "List my MediaMarkt orders that are in SHIPPING and have no tracking number yet."
- "Who has the best price for the headphones with EAN 4548736132610 on MediaMarkt, and where does mine rank?"
- "Which of my MediaMarkt offers have fewer than 3 units left?"
- "Show the open incidents on my MediaMarkt orders and what the customers wrote."
- "Reply to the customer in the thread on order 4501234-A that the replacement ships tomorrow."
Next steps
Was this guide helpful?