MCP App Store
by KeenEthics
Business & Operations
Mergado icon

Mergado

by Mergado technologies s.r.o.

Overview

Mergado is a product feed management platform for e-commerce. Connect your Mergado account to audit product feeds, manage rules, and optimize your product data for marketplaces like Google Shopping, Facebook, and Heureka — all from ChatGPT.

Tools

app_biddingfox_control_settings

ChatGPT
Controls existing bidding strategies of the project: delete, pause, start and reorder (which reorders them by the order of ids). Strategy IDs can be obtained from the list_strategies tool. For creating and updating strategies use the manage_settings tool. PAID, per project. Only when CPC must follow live auction POSITIONS; CPC from the product price is the free create_bidding_rule. "Settings" here means bidding STRATEGIES.

app_biddingfox_create_product_tag

ChatGPT
Creates a new product tag in the project. Returns the current list of tags.

app_biddingfox_get_project_overview

ChatGPT
Returns a project overview of the chosen type: "metrics" (metrics over time), "analytics" (analytics data and landing pages) or "diagnostics" (problem diagnostics).

app_biddingfox_get_project_settings

ChatGPT
Returns the project configuration - data sources, report setup, credit limits and other options. This is not the list of bidding strategies, that one is returned by list_strategies.

app_biddingfox_get_project_settings_history

ChatGPT
Returns the change history of the project configuration including the record count. The newest record is the current configuration. This is not the history of a bidding strategy, that one is returned by get_setting_history.

app_biddingfox_get_report

ChatGPT
Returns the project performance report for a given period. Use page to fetch a single section (1 = summary metrics, 2 = strategies, 3 = best and worst products); without page it returns all sections at once. Supplying date_from_compare and date_to_compare adds a second period for comparison.

app_biddingfox_get_setting_history

ChatGPT
Returns the change history of a single bidding strategy including the record count.

app_biddingfox_get_setting_metrics_history

ChatGPT
Returns the daily metrics history of a single strategy including period totals. Without a period it returns the last 30 days. For a quick overview use last_only=true, which returns only the totals and the last day instead of every day.

app_biddingfox_list_competitors

ChatGPT
Lists the competitors of the project on Heureka or Zbozi.cz including top producers and categories. Paginated by 10 items.

app_biddingfox_list_events

ChatGPT
Lists the project events, newest first. Paginated by 10 items.

app_biddingfox_list_exports

ChatGPT
Lists the exports of the project. By default it returns generated exports; with scheduled=true it returns scheduled exports. Bidding Fox export = a CSV/XLSX report by e-mail or fixed URL. Not the Mergado output feed (core get_export_logs).

app_biddingfox_list_product_filters

ChatGPT
Lists the saved product filters of the project ordered by priority. The app's own saved filters — a different object from a Mergado query (core list_project_queries), with different ids.

app_biddingfox_list_product_tags

ChatGPT
Lists the product tags of the project, newest first.

app_biddingfox_list_products

ChatGPT
Lists the products of the project with their statistics. Paginated by 20 items.

app_biddingfox_list_setting_metrics

ChatGPT
Returns the daily metrics of all active strategies of the project. Without a period it returns the last 30 days.

app_biddingfox_list_strategies

ChatGPT
Lists all bidding strategies of the project. PAID, per project. Only when CPC must follow live auction POSITIONS; CPC from the product price is the free create_bidding_rule. "Settings" here means bidding STRATEGIES.

app_biddingfox_manage_product_filter

ChatGPT
Creates, updates or deletes a product filter of the project. Returns the current list of project filters. With action="update" both the name and the conditions are always overwritten by the supplied values, so both must be sent. The app's own saved filters — a different object from a Mergado query (core list_project_queries), with different ids.

app_biddingfox_manage_settings

ChatGPT
Creates and updates bidding strategies of the project: create (adds new ones), update (modifies existing ones) and validate (only checks the data without saving). Calling validate first and writing afterwards is recommended. For deleting, pausing, starting and reordering use the control_settings tool. PAID, per project. Only when CPC must follow live auction POSITIONS; CPC from the product price is the free create_bidding_rule. "Settings" here means bidding STRATEGIES.

app_biddingfox_validate_project_settings

ChatGPT
Checks a project configuration payload without saving anything. Returns valid=true when the payload passes, otherwise valid=false together with the per-field errors. Use get_project_settings to read the current configuration first.

app_feedimageeditor_custom_images_upload

ChatGPT
Upload a custom image (e.g. a logo or watermark) to a project from image_url, so it becomes available for use as an "uploaded image" layer. image_url must be a publicly reachable direct image URL — a chat-pasted image or a local file cannot be uploaded this way. There's no retry/backoff: sources that block hotlinking or bots (confirmed repeatedly with Wikimedia, HTTP 429) fail with a raw PHP error instead of a clear message — if it fails, try a different, more permissive host rather than retrying the same URL. Returns custom_set_id/custom_set_file_id — pass those into templates_layers_create (type: 'customSet') to actually place the image on a template as a layer, or use the templates_layers_add_custom_image prompt to do both steps in one go.

app_feedimageeditor_sizes_list

ChatGPT
List the output sizes available in a project: built-in presets and any custom sizes already saved as part of existing templates. Presets are only tagged with a channel format (e.g. facebook, google) and raw dimensions — not a placement/purpose (e.g. carousel vs. story vs. feed), so for a specific placement you may need to determine the right pixel size yourself before creating/sizing a template. Use before templates.create or templates.set-size to pick a size_id, or to decide between a preset and a custom width/height.

app_feedimageeditor_templates_ai_params

ChatGPT
Enable or disable AI-based feed enrichment for a template: automatically generates product attributes (e.g. color, material, pattern, style) from each matching product's image and writes them into the feed as new elements.

app_feedimageeditor_templates_copy_from_project_to_project

ChatGPT
Copy one template (or, if template_id is omitted, every template in from_project_id) into another project (project_id), including its size, layers, and AI settings. This writes new templates into the destination project — it does not just read data. Typically used when a new project/client should reuse an existing template setup.

app_feedimageeditor_templates_create

ChatGPT
Create a new template in a project: name, output size (width/height, or omit to use a project default), background color, an optional AI effect (Upscale, Outpainting, or Background removal), and the product selection (queries) it applies to. PAID, per project. EDITS the photos already in the feed — watermark and background removal, upscale, outpainting, autocrop, price tags, logos — published at new URLs. Needed for any change to the picture itself; changing which URL the feed carries is a free core rule.

app_feedimageeditor_templates_delete

ChatGPT
Permanently delete a template from a project. This cannot be un-done. Confirm with the user before calling; consider templates_copy_from_project_to_project first if the template might still be needed elsewhere.

app_feedimageeditor_templates_detail

ChatGPT
Get one template's configuration: size, background, product selection (queries), scheduled active window (active_from/active_to), and priority. The raw response carries many more fields than documented (effect_id, effect_sensitivity, collage/shadow/reflection settings, etc.) — treat anything not in outputSchema as unreliable/undocumented. In particular, the AI effect is only exposed as an undocumented numeric type — it is not returned as the same ai_type string (Upscale/Outpainting/Background removal) used to set it, and effect_id/effect_sensitivity stay null even when an effect is active, so don't rely on any of these to report a template's AI effect to the user. After changing a template's product selection via the Mergado-rule workaround, expect this to show stale data for a while (cache/sync lag, not a failed change). Use after templates_list to inspect a specific template before changing it.

app_feedimageeditor_templates_duplicate

ChatGPT
Create a copy of an existing template in the same project, including its size, layers, AI settings, and product selection. The copy is appended after the original in priority order. The response currently echoes the source template's id, not the new copy's — always confirm the new template's actual id with templates_list afterward before referencing it in another call. Use before experimental changes you may want to revert, or to build an A/B variant.

app_feedimageeditor_templates_get_size

ChatGPT
Get a template's current output size — explicit width/height, or the preset it uses.

app_feedimageeditor_templates_get_status

ChatGPT
Report whether a template's images have finished generating for its currently assigned products. Use after creating, activating, or reassigning a template's product selection, before assuming its output images are ready.

app_feedimageeditor_templates_layers_create

ChatGPT
Add a new layer to a template's canvas. type decides which other fields are required: plain text (text) needs text_content; feed-bound text (textWithElements/dynamicText) and rating (rating) need the matching *_xml_element field(s) — must be an element that actually exists in the project; a previously uploaded image (customSet) needs the custom_set_id/custom_set_file_id returned by custom_images_upload; a feed-bound image (imageFromElements) needs image_xml_element. x/y/width/height (all required) position and size it on the canvas. A feed-bound (is_dynamic) layer must end up stacked above static layers — see templates_layers_reorder. PAID, per project. EDITS the photos already in the feed — watermark and background removal, upscale, outpainting, autocrop, price tags, logos — published at new URLs. Needed for any change to the picture itself; changing which URL the feed carries is a free core rule.

app_feedimageeditor_templates_layers_delete

ChatGPT
Permanently delete one layer from a template, identified by layer_id (get it from templates_layers_list). This cannot be undone — confirm with the user before calling. Returns the deleted layer's last known state.

app_feedimageeditor_templates_layers_list

ChatGPT
List a template's layers (text, feed elements, graphics, shapes, emoji, uploaded images) in their current stacking order. Call before templates_layers_reorder to see the current order and layer count, and again afterward to confirm the result actually applied.

app_feedimageeditor_templates_layers_reorder

ChatGPT
Change the stacking order of a template's layers via ordered_layer_ids (renamed from new_order) — one entry per existing layer, position defines order. New documented rule: layers with is_dynamic: true (feed-bound) must end up stacked above static layers — this may explain why a sourceImage layer (static) has been observed always forcing itself to the last position. Still unreliable overall: repeated calls with the same/similar order have produced different results beyond just this rule. Get current layer ids + is_dynamic from templates_layers_list first, and re-check afterward — don't assume the call did what was asked.

app_feedimageeditor_templates_layers_update

ChatGPT
Intended to update an existing layer's properties (position, size, text, styling — same fields as templates_layers_create). Currently unusable for its stated purpose: the input schema has no layer_id (or any other layer identifier), so there is no way to say which layer on the template to update. Until this is fixed, don't rely on it to modify a specific layer — recreate the layer via templates_layers_create and remove the old one via templates_layers_delete instead.

app_feedimageeditor_templates_list

ChatGPT
List all templates in a project, with name, output size, assigned product selection (query ids), AI type, and active/inactive state. Call this first to see what already exists before creating, modifying, or reordering templates. PAID, per project. EDITS the photos already in the feed — watermark and background removal, upscale, outpainting, autocrop, price tags, logos — published at new URLs. Needed for any change to the picture itself; changing which URL the feed carries is a free core rule.

app_feedimageeditor_templates_previews

ChatGPT
Render preview images of a template applied to sample products — either a random sample (up to limit, default 10) or one specific product (product_id or item_id). Without `product_id`, this silently returns an empty result for freshly created, just-reconfigured, or inactive templates (the product association hasn't been (re)computed yet) — an empty result doesn't necessarily mean " no matching products." Prefer passing an explicit product_id (from Mergado's list_project_products) for a reliable result, especially right after creating or changing a template.

app_feedimageeditor_templates_rename

ChatGPT
Rename an existing template. Does not affect its size, layers, AI settings, or product selection.

app_feedimageeditor_templates_reorder

ChatGPT
Change the priority order of all templates in a project via new_templates_order_ids (renamed from new_order). When several templates' product selections overlap for the same product, this order decides which template's output wins — templates earlier in the array take precedence. Must include every existing template id in the project.

app_feedimageeditor_templates_set_activity

ChatGPT
Activate, pause, or schedule a template. Either set active (immediate on/off) on its own, or set from/to (a scheduled activation window — one or both) on their own; active cannot be combined with from/to in the same call. from/to must not be in the past.

app_feedimageeditor_templates_set_ai_type

ChatGPT
Switch which AI effect a template applies to its matching product images: Background removal (remove_background), Outpainting, or Upscale (upscale). Pass null to turn the effect off. The tool's own description says the Outpainting value is outpainting, but the actual enum requires the typo'd outpaintinging — trust the schema, not the prose. There is currently no way to read this setting back in the same form — see templates_detail. PAID, per project. EDITS the photos already in the feed — watermark and background removal, upscale, outpainting, autocrop, price tags, logos — published at new URLs. Needed for any change to the picture itself; changing which URL the feed carries is a free core rule.

app_feedimageeditor_templates_set_size

ChatGPT
Set a template's output size, either as explicit width/height in pixels or by referencing an existing preset via size_id (see sizes_list), or pass keep_original_size: true to keep each product's original image dimensions. Does not change the template's AI settings or product selection; check templates_layers_list and templates.previews afterward, since layer placement is relative to the canvas dimensions.

app_feedimageeditor_templates_visual_similarity

ChatGPT
Enable or disable visual similarity matching for a template: finds products with visually similar images elsewhere in the feed and links them to each product. visual_similarity_threshold sets the minimum similarity score (0–1), visual_similarity_n how many similar products to attach (default 5), visual_similarity_templateids restricts the search to images produced by specific templates.

app_ordelogyproducts_create_campaign

ChatGPT
Creates a LIVE marketplace campaign — on success a full product-feed sync is enqueued immediately and offers start listing on the marketplace. Only call after validate_campaign_data passes AND the user explicitly confirmed they want the campaign live; to hand over for review in the app instead, use save_campaign_draft. Campaign names must be unique per eshop.

app_ordelogyproducts_delete_pause_scheduler

ChatGPT
Cancels the campaign's scheduled sales pause; if sales are currently paused by the scheduler, they resume immediately.

app_ordelogyproducts_describe_mergado_project

ChatGPT
What the Marketplaces app makes of one Mergado project: whether its output format is usable as a campaign product feed (product_feed_type MERGADO/GMC, else null), the derived product_feed_url for availability_feed, and an automatic mapped_elements proposal to start from (verify it with validate_campaign_data). The proposal exists only for Mergado Marketplaces and GMC output formats — for any other format (suggested_mapping_error, e.g. Heureka) build the mapping yourself: take the required and identifier Marketplaces elements from get_campaign_requirements, sample the feed with sample_project_element_values and match on names AND values (values disambiguate look-alikes — which price includes VAT, EAN vs internal code), then present the complete proposed mapping to the user for review before validating. If no feed element convincingly matches a required Marketplaces element, do NOT force the closest look-alike — tell the user what's missing and ask. Mapping from the feed is ALWAYS the primary goal; a global_elements value (e.g. HANDLING_TIME/CONDITION) is only the fallback when the feed truly has no usable element, never the default. Raw project data comes from the Mergado hub tools: list_shop_projects (project ids), list_project_queries (source_datasource.query ids), list_project_elements (valid mapped_elements feed element names). Read-only despite its annotation.

app_ordelogyproducts_get_campaign

ChatGPT
Full settings of one export campaign: source Mergado project and query, element mapping, global elements, storefront(s), shipping group, availability feed and pause state. campaign_data has the exact input shape of validate_campaign_data / save_campaign_draft / create_campaign — to replicate a campaign to a new Kaufland storefront, copy it and set a new unique name, the new storefront and its shipping_group (see get_campaign_requirements). Prices and texts are sent to the marketplace unconverted: when the new storefront's currency (compare storefront_currency) or language differs, switch source_datasource to a project/query made for that country (hub list_shop_projects) — ask the user which one, never reuse the original. VAT rates differ per country, so re-check VAT too. Allegro countries are additional_storefronts of one campaign, not separate campaigns. Then validate it.

app_ordelogyproducts_get_campaign_drafts

ChatGPT
The eshop's saved campaign drafts (id, wizard step, name, marketplace, last modification; max 3 per eshop). Pass draft_id to fetch one draft with its full data blob — use that to resume work on it.

app_ordelogyproducts_get_campaign_history

ChatGPT
The campaign's event history: syncs, settings changes, errors — what happened and when. Call when the user says something used to work or asks what changed. Paginated — page through for more.

app_ordelogyproducts_get_campaign_last_syncs

ChatGPT
Timestamps of the campaign's last successful product-feed, availability-feed and offer-statuses syncs. Call when the user asks whether data is fresh, when the last export ran, or why the marketplace shows stale prices/stock.

app_ordelogyproducts_get_campaign_requirements

ChatGPT
Everything one marketplace connection requires for a valid campaign: required and identifier elements, global elements (campaign-wide fallback values — map elements from the feed first; go global only when the feed has no usable element), storefront choices, whether Allegro user documents / additional storefronts are needed (with the actual document choices), allowed CONDITION values, availability-feed suggestions and — for Kaufland with storefront set — shipping groups. Call right after list_connections when preparing a campaign. Sections that fail to load appear in section_errors.

app_ordelogyproducts_get_campaign_stocks

ChatGPT
Stock levels of the campaign's non-deleted offers, keyed by PRODUCT_ID or EAN. Without identifier returns the paginated bulk list (with by=ean, offers without an EAN are skipped); with identifier returns that single product's stock (404 if not found). Call when the user asks how many pieces are exported to a marketplace. For GMC campaigns stock means availability text, not a piece count — the raw value may still be a number when the availability feed carries numeric STOCK/STOCK_QUANTITY; convert it when reporting: 0=out_of_stock, 1=in_stock, 2=backorder, 3=preorder, 4=limited_availability, other positive=in_stock, negative=out_of_stock.

app_ordelogyproducts_get_campaign_validation

ChatGPT
Validator errors for one export campaign, grouped by error code with counts and English messages. Call when the user asks why offers are invalid, rejected or missing from a marketplace. Resolve campaign_id via list_campaigns first.

app_ordelogyproducts_get_gmc_account_issues

ChatGPT
Account-level Google Merchant Center issues (suspensions, policy problems) recorded by the periodic account check. Call when GMC exports fail without campaign-level validation errors. Errors with 404 when the eshop has no GMC connection.

app_ordelogyproducts_get_offer

ChatGPT
One offer in full detail: every exported element, per-offer errors and protected elements. Resolve offer_id via list_offers first. Set include_marketplace_url=true to also fetch the offer's public marketplace URL (slower — live marketplace API call; null when unresolvable).

app_ordelogyproducts_get_order

ChatGPT
Full detail of one order: products, prices, customer, invoice and delivery addresses, payment, documents, notes, history and sync errors. Resolve order_id (the internal id) via list_orders first.

app_ordelogyproducts_get_orders_statistics

ChatGPT
Order statistics for the eshop: order/return counts, profit, averages and a profit/amount time series, with growth vs the previous period. Filter by marketplace, order status or period (custom_date preset or date_from/date_to in YYYY-MM-DD). Call when the user asks how sales are going.

app_ordelogyproducts_get_seller_rating

ChatGPT
Seller quality score of an ALLEGRO campaign, fetched live from Allegro. Other marketplaces do not publish one and return an error. Call when the user asks about their Allegro seller rating or account quality.

app_ordelogyproducts_list_campaigns

ChatGPT
List the eshop's marketplace export campaigns in the Marketplaces app: id, name, marketplace, storefront, last sync, alerts and offer-status counts. Call this first to resolve the campaign_id needed by other tools, or when the user asks what they export where. Paginated — page through for more.

app_ordelogyproducts_list_connections

ChatGPT
All marketplace/eshop/ERP connections of the eshop with their IDs, linked campaigns, failed flags and masked credentials. Call to resolve the connection_id needed for campaign creation, or when the user asks what is connected, whether a marketplace connection is failing or why exports stopped. Never returns usable credentials.

app_ordelogyproducts_list_offers

ChatGPT
The campaign's offers with statuses and errors — find a product by PRODUCT_ID or free text, or filter by marketplace status, sync flags or error code/severity. Call when the user asks which products are rejected, missing or failing. Paginated — page through for more.

app_ordelogyproducts_list_orders

ChatGPT
Marketplace orders of the eshop with status statistics: customer, addresses, payment, per-product detail, notes and sync errors (English). Call when the user asks about orders, their sync into the eshop, or order errors. Rows are detailed — keep limit low unless more is needed. Paginated — page through for more.

app_ordelogyproducts_pause_campaign_offers

ChatGPT
Pauses sales of ALL offers in a campaign (activate=true resumes them). Affects the whole campaign on the live marketplace — confirm with the user before pausing. Refused while a pause scheduler is active on the campaign.

app_ordelogyproducts_sample_project_element_values

ChatGPT
Sample output values per feed element of a Mergado project, in one call — the evidence for building mapped_elements yourself when describe_mergado_project returns no suggested_mapping (unsupported feed format). Match Marketplaces elements (from get_campaign_requirements) to feed elements on names AND sampled values — values disambiguate look-alikes (which price includes VAT, EAN vs internal code) — then present the complete proposed mapping to the user for review and verify it with validate_campaign_data. If no feed element convincingly matches a required Marketplaces element, do NOT force the closest look-alike — tell the user what's missing and ask. Mapping from the feed is ALWAYS the primary goal; a global_elements value (e.g. HANDLING_TIME/CONDITION) is only the fallback when the feed truly has no usable element, never the default. Elements whose fetch fails are omitted from the result; an empty list means the element exists but has no output values (don't map it). May take tens of seconds when sampling a whole project.

app_ordelogyproducts_save_campaign_draft

ChatGPT
Saves assembled campaign data as a draft the user can review, finish and launch in the app's campaign wizard — the safe default handoff of agent-assisted campaign creation (use create_campaign only when the user explicitly wants the campaign live immediately). Validate with validate_campaign_data first. Without draft_id creates a new draft (fails when the eshop already has 3); with draft_id overwrites that draft.

app_ordelogyproducts_set_pause_scheduler

ChatGPT
Schedules a sales pause for the campaign (e.g. over holidays): offers pause at pause_from and resume at pause_to. Timestamps are ISO format (YYYY-MM-DDTHH:MM:SS); omit pause_to to pause until manually resumed. Calling again overwrites the existing schedule.

app_ordelogyproducts_toggle_offer_pause

ChatGPT
Pauses an active offer or resumes a paused one on the marketplace — the same switch as the UI pause button; the response says which happened. Use for a single product ("take this off Kaufland now"); the change is reversible by calling again. Resolve offer_id via list_offers first.

app_ordelogyproducts_trigger_product_feed_sync

ChatGPT
Triggers a full product-feed synchronization of the campaign now, instead of waiting for the schedule — use after the user fixed their feed. Refused when the campaign is paused, already syncing, or its connection is failed.

app_ordelogyproducts_update_order_internal_note

ChatGPT
Sets the internal (staff-only) note of an order — overwrites any existing note; the customer never sees it. Resolve order_id via list_orders first.

app_ordelogyproducts_validate_campaign_data

ChatGPT
Validates (partial) campaign data exactly like the app's creation wizard — nothing is saved. On failure the error message names the problem and the wizard step (0 name, 1 marketplace, 2 feed+mapping, 3 availability feed); fix and call again until it passes. May take tens of seconds — it downloads and checks the availability feed.

app_pricingfox_clone_rules

ChatGPT
Clones (duplicates) one or more pricing rules.

app_pricingfox_create_rule

ChatGPT
Creates a new pricing rule in the project. PAID, per project. Only when the price must react to COMPETITOR prices from Heureka/Zbozi.cz; plain arithmetic is the free create_calc_rule. Pricing rules are first-match-wins.

app_pricingfox_edit_rule

ChatGPT
Edits an existing pricing rule in the project. All required fields must always be sent (not just the changed ones) – load the current rule via list_rules first and resend the unchanged values as they are. PAID, per project. Only when the price must react to COMPETITOR prices from Heureka/Zbozi.cz; plain arithmetic is the free create_calc_rule. Pricing rules are first-match-wins.

app_pricingfox_get_competitor

ChatGPT
Returns detailed data about a specific competitor, including their metrics history for the given period.

app_pricingfox_get_export

ChatGPT
Returns the detail of a single export. Pricing Fox export = repriced data to an economic system or shop platform. Not the Mergado output feed (core get_export_logs).

app_pricingfox_get_import

ChatGPT
Returns the detail of a single import. Pricing Fox import = a competitor-data connector. Not the Mergado input feed (core get_import_logs).

app_pricingfox_get_insights

ChatGPT
Returns the insights of the project – changes detected over the last 30 days (price changes, competitor and rule product counts, new and dropped products).

app_pricingfox_get_keychain

ChatGPT
Returns the detail of a single API key stored in the keychain.

app_pricingfox_get_product

ChatGPT
Returns detailed information about a single product.

app_pricingfox_get_product_history

ChatGPT
Returns the history of prices and other product data for the given period (defaults to the last 7 days).

app_pricingfox_get_project

ChatGPT
Returns basic information about the project and its e-shop (name, currency, settings, filters, metrics).

app_pricingfox_get_project_metrics

ChatGPT
Returns the metrics of the project (product counts, performance, statistics). When rule_id or filter_id is passed, the metrics are returned for that rule or product filter instead.

app_pricingfox_get_project_settings

ChatGPT
Returns the current pricing settings of the project (rounding, limits, data sources).

app_pricingfox_get_project_settings_history

ChatGPT
Returns the history of all changes of the project settings (who changed what and when).

app_pricingfox_get_report_data

ChatGPT
Returns the data of a specific report type.

app_pricingfox_get_report_flop_products

ChatGPT
Returns the least performing (flop) products for the given report.

app_pricingfox_get_report_top_products

ChatGPT
Returns the best performing (top) products for the given report.

app_pricingfox_get_rule_history

ChatGPT
Returns the change history of a specific pricing rule.

app_pricingfox_get_top_products

ChatGPT
Returns the list of the best / worst performing products of the project.

app_pricingfox_list_competitors

ChatGPT
Returns the list of the e-shop competitors. The watched competitors are listed in the response meta.

app_pricingfox_list_connectors

ChatGPT
Returns the list of all available data connectors (data sources) and their state in the project.

app_pricingfox_list_exports

ChatGPT
Returns the list of all data exports of the project. Pricing Fox export = repriced data to an economic system or shop platform. Not the Mergado output feed (core get_export_logs).

app_pricingfox_list_imports

ChatGPT
Returns the list of all data imports of the project. Pricing Fox import = a competitor-data connector. Not the Mergado input feed (core get_import_logs).

app_pricingfox_list_keychains

ChatGPT
Returns the list of all stored API keys and connections of the project.

app_pricingfox_list_product_filters

ChatGPT
Returns the list of all saved product filters of the project. The app's own saved filters — a different object from a Mergado query (core list_project_queries), with different ids.

app_pricingfox_list_products

ChatGPT
Returns the list of products with optional advanced filtering and sorting (e.g. by price or name).

app_pricingfox_list_rules

ChatGPT
Returns the list of all pricing rules of the project. PAID, per project. Only when the price must react to COMPETITOR prices from Heureka/Zbozi.cz; plain arithmetic is the free create_calc_rule. Pricing rules are first-match-wins.

app_pricingfox_pause_import

ChatGPT
Pauses the given data import and returns the updated list of imports. Pricing Fox import = a competitor-data connector. Not the Mergado input feed (core get_import_logs).

app_pricingfox_pause_rules

ChatGPT
Pauses one or more pricing rules.

app_pricingfox_regenerate_export

ChatGPT
Triggers regeneration of the export and returns the updated list of exports. Pricing Fox export = repriced data to an economic system or shop platform. Not the Mergado output feed (core get_export_logs).

app_pricingfox_reorder_rules

ChatGPT
Changes the order (priority) of the rules according to the order in the given list. FIRST-MATCH-WINS: the first matching rule reprices the product and it leaves the chain. Opposite of core reorder_rules, where every rule applies in sequence.

app_pricingfox_start_import

ChatGPT
Starts the given data import and returns the updated list of imports. Pricing Fox import = a competitor-data connector. Not the Mergado input feed (core get_import_logs).

app_pricingfox_start_rules

ChatGPT
Starts (activates) one or more pricing rules.

app_pricingfox_unwatch_competitor

ChatGPT
Stops watching a competitor (removes them from the watched competitors).

app_pricingfox_watch_competitor

ChatGPT
Starts watching a competitor (adds them to the watched competitors).

apply_rules_to_traced_products

ChatGPT
Runs the project's rules over its traced products only - the same task the regular "apply rules" action dispatches, restricted to the sample. Use to refresh what preview_rule_changes reports after editing rules or changing which products are traced. The run is dispatched to the background, so the returned apply log is a receipt (status: in_progress), not a result - poll get_apply_log with its id for the outcome. A project that is read-only because another process is already running for it answers with a conflict.

assign_query_to_rule

ChatGPT
Attaches an existing query to a rule, adding to its scope (the rule applies to the UNION of all attached queries). Use to scope a rule down after creating it, or to add another query. The query must already exist - create it first with create_project_query, then attach it here.

create_batch_copy_values_rule

ChatGPT
Create a 'Batch Copy Values' rule in a project. Copy the content of a source element into a target element for matching products. Multiple source -> target mappings can be specified in a single rule. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants to copy values from one element to another in bulk (also swaps via a temporary element).

create_batch_delivery_rule

ChatGPT
Create a 'Batch Delivery' rule in a project. Add delivery information (courier company, price, cash-on-delivery price) to products. Multiple delivery options can be specified in a single rule. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants shipping/delivery prices composed per carrier.

create_batch_param_rule

ChatGPT
Create a 'Batch Param' rule in a project. Add product parameters (name/value/unit triples) in bulk. This is used for shopping feed PARAM elements such as those on Heureka. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants product parameters added per query; the ep_* settings must be full nested element paths.

create_batch_rewriting_rule

ChatGPT
Create a 'Batch Rewriting' rule in a project. Rewrite an element's content per query condition. Each row associates a query (filter) with the replacement value. Products matching the query receive the specified value. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants a different value written per query (per-product or per-segment writes in one rule).

create_batch_rewriting_values_rule

ChatGPT
Create a 'Bulk Rewriting by Values' rule in a project. Looks up each product's value in a SOURCE element and, when it matches a row's input_value, writes the row's output_value into a DESTINATION element — a lookup/mapping table (e.g. map source categories to target names). CAUTION — the two element-path fields are counter-intuitive: the top-level element_path is the DESTINATION (written into), while data.target_element_path is the SOURCE (searched); swapping them silently writes into the wrong element. Provide this rule type's parameters in the typed data object. At least one query is required in queries (objects [{"id": "..."}]); use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants a lookup/mapping table (source value → output value).

create_batch_set_datetime_rule

ChatGPT
Create a 'Batch Set Datetime' rule in a project. Set a date element to today's date plus a configurable number of days, formatted using a strftime-style format string. Each row targets products matching the listed queries. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants a date (now + N days) written per query.

create_bidding_rule

ChatGPT
Create a 'Bidding' rule in a project. Adjust a CPC element's value based on product price. Specify an absolute increment, a percentage factor, or both. At least one field must be non-null. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants CPC bidding values set. Free with every project. The word CPC does not imply the paid Bidding Fox; that one is needed only when the bid must react to live auction positions.

create_calc_rule

ChatGPT
Create a 'Calculation' rule in a project: evaluates a mathematical expression and writes the result into element_path, optionally rounded and formatted. Supports + - / and parentheses with standard operator precedence ( and / bind before + and -), so a flat expression like 1-%COST%/%PRICE%*100 evaluates as 1-((%COST%/%PRICE%)*100) — parenthesise anything beyond a single operation. %element% references resolve to the product's current value at runtime; a value written with a space thousands separator and a decimal comma ("1 234,56") parses correctly. Use when the user wants a computed numeric value — margins, VAT, price adjustments, currency conversion. Rounding and number formatting are built into this rule (rounding_type, decimal_places, decimal_separator, thousand_separator), so no second rule is needed for that; use create_rounding_rule only to reformat an existing value with no arithmetic. A product whose expression cannot be evaluated — a non-numeric operand, or division by zero — is skipped and keeps its previous value; the rule itself does not fail. With rounding_type unset the raw result is written (e.g. 371.9008264463), which most feed formats reject. The call returns the created rule only; computed values appear in the output after the next rebuild. Free with every project. The only pricing job it cannot do is reacting to competitor prices — that needs the paid Pricing Fox.

create_casechanging_rule

ChatGPT
Create a 'Case Changing' rule in a project. Transform the capitalisation of text in an element. Supported modes: lower, upper, sentence, word, firstletter, titlelongwords. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants to change the letter case of a value.

create_categories_rule

ChatGPT
Create a 'Categories' rule in a project. Rename product categories by partial (or exact) match. Each row maps an input pattern to an output replacement. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants to bulk-rename categories into the format's category element (it ignores a custom element_path).

create_create_product_value_rule

ChatGPT
Create an 'Add a Value to a Multi-Value Element' rule in a project. Appends a NEW value to an element that can hold multiple values (e.g. g:additional_image_link, categories, PARAM, alternative URLs) WITHOUT overwriting existing values — it writes to the next free position (equivalent to a Rewriting rule with element path ELEMENT {@@POSITION = @@MAX_POSITION + 1}). Use when the user wants to append an additional value to a multi-value element (e.g. add a second image or an extra category) without replacing what is already there. On an empty element it creates the first value; on an element that already has values it adds one more. Mergado variable expressions (e.g. %element%) are supported. Provide this rule type's parameters in the typed data object. At least one query is required in queries (objects [{"id": "..."}]); use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs.

create_element

ChatGPT
Creates a new element in a project. Use when adding an output element required by a target format (e.g. g:gtin for Google Shopping) that does not yet exist in the element tree. After creating it, use a rule (e.g. a create_<type>_rule tool) to fill it with values. Pass parent_id to nest it under an existing element (a child), or omit it for a top-level element.

create_hiding_rule

ChatGPT
Create a 'Hiding' rule in a project. Hide (remove from output) all products that match the rule's queries. No additional data fields are required. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants to remove whole products from the output feed.

create_params_remove_by_value_rule

ChatGPT
Create a 'Params Remove By Value' rule in a project. Hide specific parameter values (or entire parameters) from the output. Each row specifies a parameter name and the list of values to remove. An empty values list removes all values for that parameter. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants specific parameter values removed from a PARAM-style structure.

create_product_grouping_rule

ChatGPT
Create a 'Product Grouping' rule in a project. Group variant products together into a single product with multiple variants. Specify which elements identify products and groups, and define per-element MERGE or EXTRACT actions. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). This rule type does not require any queries. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants product variants merged (a whole-feed rule).

create_project_query

ChatGPT
Creates a standalone, reusable query in a project (a saved MQL product selection) that can be attached to one or more rules with assign_query_to_rule. Even a query used by a single rule is created here first, then attached via assign_query_to_rule. Use to define which products a rule should target, or to verify a hypothesis about the data (check the match via list_project_products with the same mql). The query is re-evaluated on every project rebuild — write it as a condition over element values, not as a list of product IDs matching the condition today. Call workflow_element_paths_and_mql first for MQL limits and selection patterns.

create_remove_diacritics_rule

ChatGPT
Create a 'Remove Diacritics' rule in a project. Remove diacritical marks (accents) from the content of the targeted element. Useful for generating URL-safe or ASCII-only values (e.g. image URLs). No additional configuration is required. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants accents/diacritics removed from a value.

create_replacing_rule

ChatGPT
Create a 'Replacing' rule in a project. Find and replace content within element values. Supports plain text and regular expressions. Multiple search/replacement pairs can be specified in rows. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants find-and-replace inside values (plain text or regex with \1 group references). Free with every project. Covers swapping a domain inside IMGURL — that changes which picture the feed carries, not the picture itself, so no Feed Image Editor is involved.

create_rewriting_rule

ChatGPT
Create a 'Rewriting' rule in a project. Replace the content of one or more product elements with a new value. Mergado variable expressions (e.g. %ITEM_ID%) are supported in new_content. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants to overwrite an element's content (supports %element% references). Free with every project. Covers pointing IMGURL at a different URL — that changes which picture the feed carries, not the picture itself, so no Feed Image Editor is involved.

create_rounding_rule

ChatGPT
Create a 'Rounding' rule in a project. Round a numeric element value to a fixed number of decimal places. The separators control how the formatted output looks. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants prices rounded. Free with every project. Use it for reformatting alone — when the value is being computed, round inside create_calc_rule instead of adding a second rule.

create_tagstripping_rule

ChatGPT
Create a 'Tag Stripping' rule in a project. Remove all HTML tags from the content of the targeted element. No additional configuration is required. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants HTML tags stripped from a value.

create_truncating_rule

ChatGPT
Create a 'Truncating' rule in a project. Shorten the content of an element to a specified maximum length. The intelligent flag attempts to truncate at a word boundary. The append string (e.g. ...) is appended after the truncated text. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants values shortened to a length limit.

create_utm_rule

ChatGPT
Create a 'UTM Parameters' rule in a project. Append UTM tracking parameters to product URLs. Mergado variable expressions (e.g. %ITEM_ID%) are supported in all text fields. Provide this rule type's parameters in the typed data object (its fields are fixed by the schema). At least one query is required in queries (objects [{"id": "..."}]) use the ♥ALLPRODUCTS♥ query to target every product. Mergado applies the rule automatically on the next rebuild — do not force recalculation. After creating, read the rule back with get_rule and verify its effect on a sample once the rebuild runs. Use when the user wants UTM tracking parameters appended to product URLs.

create_variable

ChatGPT
Creates a variable in a project. Use for: (a) named constants used by multiple rules (shipping_cost, vat_rate), (b) regex extraction (define a regex once, reference it in rules), or (c) computed values. The variable name becomes the reference token in rules: {name}.

delete_element

ChatGPT
Deletes an element AND all of its child elements. Any rules referencing this element will break. Get the user's explicit confirmation, especially for parent elements (e.g. PARAM, g:shipping). Check the children field from list_project_elements and list the affected children in the confirmation. Use only to remove an element you created (e.g. a helper element after a one-off import); ask the user before deleting anything else.

delete_project

ChatGPT
Returns the link to the Mergado page where the user deletes a project, together with the project's name so they can confirm it is the right one. Use when the user asks to delete, remove or get rid of a project. This tool deletes NOTHING and cannot: Mergado has no delete endpoint (DELETE /projects/{id}/ answers 405), because removing a project takes a feed offline for every advertising channel reading it, and that decision is left to a human in front of the confirmation dialog. All this does is read the project - to check it exists and to name it - and build the address of that dialog. So do not report the project as deleted. Give the user the link, tell them it is the last step and that they still have to confirm it there, and say which project it is for. Deleting a project cannot be undone, and its rules, queries and history go with it.

delete_query

ChatGPT
Deletes a query. If the query is attached to a rule, that rule is left with one fewer scope query - or fails on the next apply if it was the only one (every rule must have at least one query). Check list_rule_queries for consumers first. System queries (read_only=true) cannot be deleted. Use to clean up queries you created; ask the user before deleting queries you did not create.

delete_rule

ChatGPT
Deletes a rule permanently. The products it affected revert to their pre-rule values on the next rebuild; the queries it used stay in the project. Get the user's explicit confirmation first, especially for high-priority rules (applied first) or format_converter rules (essential for output). Rules with is_deletable: false cannot be deleted. Not meant for switching a rule off temporarily - a paused rule (update_rule, applies: false) keeps its configuration, position and queries.

delete_variable

ChatGPT
Deletes a variable. Rules referencing this variable will silently fail to expand the {var_name} token on the next rebuild - search rules for references first (list_project_rules). Use to clean up variables you created; ask the user before deleting others.

duplicate_project

ChatGPT
Copies an existing project into the same shop, or into another shop when shop_id is given. Use when the user wants a second feed built on the same rules - the same products exported to another channel, or a copy to experiment on without touching the original. Copied: the project settings and project info, its elements, variables, queries, and its whole rule chain with schedules. NOT copied: app rules, Heureka Watchdog pairing rules, and everything produced by a feed run (products, logs, the export URL). The copy is created immediately and answers with its id, but it holds no data yet: Mergado enables it and schedules its first feed download straight away, and the products appear when that import and the first rule apply have finished. So do not read products from it, or judge its rules by them, right after creating it. Its feed URL does not work yet either - and the copy reports the SOURCE project's exported_items until it has exported once, so that number is no evidence to the contrary. Two things this changes and cannot undo, so get the user's explicit consent first: it creates a live project that starts downloading the source feed, and (with shop_id) it can put it in a different shop. The name must be unique in the target shop, and the token must belong to a user - Mergado records who duplicated the project, so a service token is refused.

get_access_log

ChatGPT
Returns details of a single access record. Returns 410 if the related project has been deleted (the log is preserved but the linked resource is gone). Use rarely - the get_access_logs listing is usually enough.

get_access_logs

ChatGPT
Returns the history of HTTP access to the project's output feed URL - which ad-channel crawlers (GMC, Heureka, ...) fetched the feed, when, and the response status. Use to verify ad channels are consuming the feed regularly.

get_app_by_name

ChatGPT
Returns metadata of a specific app from the global catalog by its slug name (e.g. 'biddingfoxelements', 'feedimageeditor', 'mergadoaudit'). Use to look up an app's description, latest release date, or capabilities. For apps currently enabled by a user/shop/project, use list_user_apps / list_shop_apps / list_project_apps.

get_apply_log

ChatGPT
Returns details of a single rule-application run. Use after get_apply_logs when you need granular per-rule diagnostics for a specific run.

get_apply_logs

ChatGPT
Returns the history of rule-application runs for a project (timestamp, duration, item count, per-rule processed counts). 'Apply' transforms data internally, it does not publish to the output feed - that is 'rebuild'. Use for forensic "when were rules last applied" or to diagnose unexpected rule behavior.

get_current_user

ChatGPT
Returns the user account that the current OAuth token belongs to. Use this as the first call in any user-scoped workflow to confirm identity. Requires a user-bound ONLINE token (an OAuth token tied to a specific Mergado user, not a server-to-server token). If you get a 401 or a 'token scope not valid' error, ask the user to (re)authorize Mergado MCP.

get_element

ChatGPT
Returns details of a single element (path, type, is_attribute, origin, hidden flag). Use to verify properties before an update or delete. Get the element ID from list_project_elements.

get_export_log

ChatGPT
Returns details of a single output-feed export run. Use after get_export_logs to inspect a specific export.

get_export_logs

ChatGPT
Returns the history of output-feed exports for a project (= publishing applied data to the output feed file). Each entry has a timestamp, items exported, exported_product_group_count, and duration. Use to confirm the last successful publish and to diagnose stale outputs. "Export" means something else in the extensions — repriced data sent onward in Pricing Fox, a CSV/XLSX report in Bidding Fox. Neither shows up here.

get_feedaudit

ChatGPT
Returns the current status, progress, timing, and summary metadata of a single feed audit. Use to poll a running audit until completion or to check if an audit finished with errors before querying its issues. Requires id (the audit ID from create_feedaudit or list_project_feedaudits). Returns the audit record including status, progress, product counts, and failure reasons if any. Once status is "done", proceed to list_feedaudit_issues for concrete diagnostic findings.

get_feedaudit_issue

ChatGPT
Returns a single audit issue by ID, including the validator, verdict, severity, and validator-specific context (info). Use to inspect one issue surfaced by list_feedaudit_issues.

get_feedaudit_product

ChatGPT
Returns a single audited product with all its parsed feed element tags and original values as recorded at audit time. Use when troubleshooting a specific product that failed validation to inspect its raw input data. Requires id (the audited product ID from list_feedaudit_products or list_feedaudit_issues). Returns the full product data object containing all XML/feed element tag-value pairs.

get_format

ChatGPT
Returns basic metadata about a feed format (name, country, source channels). For the full element specification (required/optional elements and their types), use get_format_specification. Use when you need the human-readable definition of a feed format (e.g. before creating a project or mapping elements).

get_format_specification

ChatGPT
Returns the full element specification of a format (required/optional elements and their types). For basic metadata only (name, country, source channels), use get_format. Use when you need the full element-level specification of a format, e.g. to find required elements a feed is missing.

get_import_log

ChatGPT
Returns details of a single input-feed import run, including the error message if it failed. Use after get_import_logs to dig into a specific failure - the error usually contains an HTTP status (404/500), a parse error line, or a timeout reason.

get_import_logs

ChatGPT
Returns the history of input-feed fetches for a project (items received vs processed, created/updated/removed, duration, status). Use to diagnose "the feed didn't download" or "where did the products go" by comparing items vs items_processed. "Import" means something else in Pricing Fox, where it is a competitor-data connector rather than the shop feed. That one does not show up here.

get_notification

ChatGPT
Returns a single notification by ID. Use after get_user_notifications to read the full body of a specific notification. (tied to a specific user).

get_pairing

ChatGPT
Returns details of a single pairing record - input item identifier, matched output item ID, and the matching elements used. Use after list_pairings to inspect a specific pairing.

get_product

ChatGPT
Returns a single product (input and output data) by its product ID. Get the ID from list_project_products or query_products. Use to inspect one product in full detail after finding it via list_project_products or query_products.

get_project

ChatGPT
Returns one project's full record: feed URL, input/output formats, status, timestamps, and all_products_query_id — the query targeting every product, which rules need. Do not go to list_shop_projects for any of it.

get_project_app

ChatGPT
Fetches subscription details (free_until, paid_until) for a project-level app. Use after list_project_apps to inspect a specific subscription.

get_project_feed_url

ChatGPT
Returns the public URL of a project's output feed - the XML address to give an advertising channel (Google Merchant Center, Heureka, Zbozi, GLAMI, ...) or to open to inspect the exported data. Use whenever the user asks where their feed is, what link to submit to a channel, or for the export/output URL of a project. Mergado does not send the URL as a field: it is composed from the project's slug, which is what this tool reads. The answer is deliberately just the URL and the project it belongs to, plus exported_items - zero there means the project has never exported, which is one of the two reasons a correctly built URL still answers 404. The other is a project that is turned off; get_project reports that. This reads the project only; it changes nothing and triggers no export.

get_query

ChatGPT
Returns details of a single query - its MQL expression, count of matching products, and read_only flag. Use to inspect a query before reusing it or before update_query. To get the actual products matching the query, use query_products.

get_rule

ChatGPT
Returns one rule by id. It carries nothing beyond the entry list_project_rules already gives, so reach for it only when you have an id without the listing. To change a rule in place use update_rule; only a change of TYPE needs delete + recreate.

get_shop

ChatGPT
Returns core shop fields (name, owner, tariff). For usage statistics and keychain (ad channel auth) connections, use get_shop_info instead. Use to confirm shop identity/tariff before working on its projects.

get_shop_app

ChatGPT
Fetches subscription details (free_until, paid_until) for a shop-level app. Use after list_shop_apps to inspect a specific subscription.

get_shop_event_logs

ChatGPT
Retrieves the audit log of significant shop-level events tariff changes, project create/delete, user permission changes, payment events. Use for forensic "who changed what and when" questions. Get the shop ID from list_user_eshops.

get_shop_info

ChatGPT
Returns enriched shop info usage statistics and keychain (ad channel auth) connections. Use for questions about ad channel integrations or shop utilization. For core fields (name, owner, tariff), use get_shop instead.

get_stats_audit

ChatGPT
Returns a single shop statistics audit: its date, status, product count, and a per-validator issue summary (ok/wrong/missing counts with item totals). The id is the composite {m3shop_id}-{date_id} (e.g. 1276-260625) taken from list_shop_stats_audits. This is the stats-side audit, distinct from a project feed audit - use get_feedaudit for the latter. Use to read one stats audit found via list_shop_stats_audits.

get_tariff

ChatGPT
Returns details of a specific tariff (name, prices in all currencies, included limits). Use after identifying a tariff_id from list_user_eshops or get_shop.

get_user

ChatGPT
Returns details of a specific user by their ID. Use only for users that share an eshop with the current user (visible via list_users). For the current user's own identity, prefer get_current_user.

get_user_app

ChatGPT
Fetches a specific user-level app subscription (free_until, paid_until). Use after list_user_apps to check the expiration of a specific app.

get_user_eshop_permissions

ChatGPT
Returns the role (writer / admin / owner) a specific user has in a specific eshop. Use to check whether a user can perform an action on a shop before suggesting it. Returns 404 if no permission exists.

get_user_notifications

ChatGPT
Returns all notifications for a user (system messages, billing reminders, app updates). Use when the user asks whether they have anything new in their account, or to check whether a previously sent notification was delivered.

get_user_permissions

ChatGPT
Lists a user's eshop access roles (writer / admin / owner) across all their shops. Use to answer "what can this user do" or to verify access before suggesting an action on a shop.

get_user_project_permissions

ChatGPT
Returns the role a specific user has in a specific project. Mostly inherits from the eshop permission - use only for projects with a permission override, otherwise get_user_eshop_permissions is sufficient. Use when an operation fails with 403 to check the user's role on the project.

get_variable

ChatGPT
Returns details of a variable - name, type, element path, regex. Get the variable ID from list_project_variables. Use to read a variable's definition (element path, regex, fragment) before referencing it as %NAME% in a rule.

list_apps

ChatGPT
Lists the global catalog of all Mergado apps available (Audit, FIE, Translator, Bidding Fox, Pricing Fox, ...). This is the CATALOG of available apps - to see apps currently enabled by a user / shop / project, use list_user_apps / list_shop_apps / list_project_apps. Use to look up the global app catalog, e.g. before checking whether a shop or project has an app installed.

list_available_tariffs

ChatGPT
Returns the catalog of all available Mergado tariffs with prices in CZK / EUR / PLN / GBP / USD. Tariffs are auto-assigned based on product count. Use when the user asks what a tariff costs or to explain an auto-upgrade.

list_feedaudit_issues

ChatGPT
Lists all validation issues, errors, warnings, and missing element recommendations detected by a completed feed audit. Main diagnostic tool for feed quality analysis. Use after an audit status is "done". Requires id (the audit ID). Token efficiency: Audits can generate large outputs; pass the fields parameter with ["id", "level", "verdict", "validator", "product_id"] to trim heavy metadata and avoid context limits. Use limit and offset for pagination. Returns an array of issue items with severity levels, validator names, human-readable verdicts, and affected product IDs. Call get_feedaudit_issue for deeper context on a specific issue.

list_feedaudit_product_issues

ChatGPT
Lists all validation issues and errors that apply to one specific audited product item. Use to answer "what errors and warnings exist for this specific product?" after finding a problematic product in list_feedaudit_products. Requires id (the audited product ID from list_feedaudit_products or list_feedaudit_issues). Supports limit and offset pagination. Returns all error, warning, and recommendation records specifically tied to that product.

list_feedaudit_products

ChatGPT
Lists all products captured and evaluated during a feed audit, showing parsed element values as they existed in the feed at audit time. Use to inspect the audited product catalog or cross-reference products against detected audit issues. Requires id (the audit ID from list_project_feedaudits). Supports limit and offset pagination, and optional fields array. Returns a list of products with their internal IDs and parsed feed elements. To inspect all issues for a specific product, call list_feedaudit_product_issues with the product's ID.

list_pairings

ChatGPT
Returns product pairings for a project. A 'pairing' is Mergado's internal identification of which input feed item corresponds to which output feed item across feed reloads, so that user-applied changes (hide/show, manual values) persist when the input feed is re-imported. The matching key elements are defined in the project's pairing_elements (typically ITEM_ID, EAN, PRODUCTNAME_EXACT, IMAGE). Use to inspect or troubleshoot product identity tracking across imports. Supports limit/offset pagination (handled automatically).

list_project_apps

ChatGPT
Lists Mergado apps enabled specifically for one project (e.g. Audit, FIE on this output). Project-level apps run only against this project. For shop-wide apps use list_shop_apps. Use when diagnosing behaviour that might come from an installed app on the project.

list_project_elements

ChatGPT
Lists all XML elements in a project (input + output) as a hierarchical tree. Each element has an origin (input / from_rule / manual) and a hidden flag (hidden = exists internally but not in the output XML). Use to plan rules - check whether a target element exists before creating a rule, or to discover what is available in the feed.

list_project_feedaudits

ChatGPT
Lists feed audits run for a project (newest first), each with its status, progress, product count, and the comparison-shopping formats it validated against. Use to find an audit's ID before drilling into its issues or audited products, or to check whether an audit you started has finished (status / progress).

list_project_products

ChatGPT
Lists products in a project, with an optional MQL filter (e.g. PRICE_VAT < 50) sent in the request body via POST (so even long or hard-to-encode MQL works). Pass values_to_extract to return only specific elements per product. Note: MQL filtering works server-side, but ORDER BY / LIMIT are not supported server-side, so ranking ("10 most expensive") must be done by the caller. Supports limit/offset pagination (handled automatically, sent as query params). For products of an existing saved query, use query_products instead. Use to inspect real product data or count products matching an mql filter (read total_results); prefer limit — responses are large.

list_project_queries

ChatGPT
Lists all standalone queries in a project (project-level and rule-level). Each query has query (the MQL expression), product_count, and a read_only flag. System queries such as ♥ALLPRODUCTS♥ are included with read_only=true. Use before creating a query — an equivalent saved query may already exist; also to find query ids for rules. Queries named BF_ were written by Bidding Fox, not by the user. The extensions keep their own saved product filters, which are a different object and are not listed here (app__list_product_filters).

list_project_rules

ChatGPT
Lists a project's rules in application order (lower priority runs first). Each entry is the complete rule object — the same one get_rule returns — including note, schedule and the is_* flags. Start here before creating, reordering or deleting a rule.

list_project_variables

ChatGPT
Lists all variables defined in a project. Variables are named, reusable values referenced from rules and other variables (e.g. {shipping_cost} in a rule expression). Use before create_variable to avoid duplicates.

list_rule_queries

ChatGPT
Lists the queries attached to a specific rule (= the rule's scope). The rule applies to the union of these queries. Use before changing a rule's scope to see its current state.

list_shop_apps

ChatGPT
Lists Mergado apps enabled at the eshop level (cross-cutting all projects in the shop). Use to check Mergado Audit / Keychain availability. For project-level apps use list_project_apps, for user-level apps use list_user_apps.

list_shop_projects

ChatGPT
Returns all projects (input + output feeds) within a specific eshop. Each project has input_format and output_format, use this list to understand which feeds the eshop already has before suggesting new ones. (Mergado has no global "list all projects" endpoint, this per-shop listing is the way to enumerate projects.)

list_shop_stats_audits

ChatGPT
Lists a shop's statistics audits (newest first), each with its date, status, and timings. This is the stats-side audit, distinct from a project feed audit - use list_project_feedaudits for the latter. Requires the shop.stats.read scope. Use when the user asks about stats audits of a shop. Note: currently returns empty even when audits exist in the UI — tell the user to check the Mergado UI.

list_stats_audit_issues

ChatGPT
Lists the individual issues of a shop statistics audit, each with its validator, verdict, and affected item. The id is the composite {m3shop_id}-{date_id} (e.g. 1276-260625) from list_shop_stats_audits. Optionally narrow or sort the result with filter_by / order_by. Use after get_stats_audit to drill from the per-validator summary into concrete failing items.

list_supported_feed_formats

ChatGPT
Lists all built-in feed formats supported by Mergado (input + output). Use during onboarding to discover what is possible - e.g. available Google Shopping country variants, Heureka SK vs CZ. The result is a data array of format IDs (e.g. "heureka.cz", "zbozi.cz"), pass one to get_format or get_format_specification for details.

list_traced_products

ChatGPT
Lists the products currently traced in the project - the sample preview_rule_changes reports on. The auto_traced flag separates products Mergado's sampling algorithm picked (true) from products a user or the API marked (false); only the latter count towards the 50-product cap on mark_traced_product.

list_unique_element_values

ChatGPT
Returns the unique values (with counts) of an element. Set is_output to distinguish input (pre-rules) vs output (post-rules) values. Works for both simple and complex element paths. Use as the first step of any data analysis — real values of an element across products (e.g. categories, availability values) without reading whole products.

list_user_apps

ChatGPT
Lists Mergado apps enabled at the user level (not eshop / project level). Use when answering "what do I have paid for" or before suggesting features that depend on an app.

list_user_eshops

ChatGPT
Returns all eshops a user has access to, with their roles. Use as the second call after get_current_user to map the user's scope. Each eshop has tariff_id, exported_items useful for tariff/billing questions. (There is no global "list all shops" endpoint, for the current user this listing is the equivalent.)

list_users

ChatGPT
Lists users that share at least one eshop with the authenticated user (= users you can collaborate with). Does NOT list all Mergado users globally. Use when resolving an e-mail or name mentioned by the user to a Mergado user ID.

mark_traced_product

ChatGPT
Adds a product to the project's traced sample. Use when the user wants the preview to cover a specific product rather than whatever the sampling algorithm picked. A project holds at most 50 manually marked products (auto-traced ones do not count towards that); marking an already-traced product, or exceeding the limit, fails with a conflict, and a product that is not in the project at all answers 404. Marking a product the sampling algorithm had picked converts it to a manually marked one.

parse_feed_elements

ChatGPT
Downloads an XML or CSV file from url and returns the elements it contains, WITHOUT creating anything in Mergado. Use it before a project exists - to show a user what is in their feed, to check that a URL really serves the data file, or to plan an import. The format is detected from the content, so the file name does not matter, and each element comes back with how often it occurs (count) and its first value (example). Two things to tell the user rather than work around. The path of an element is the path inside the FILE (an XPath, or the CSV column) - it is not an element_path and no rule tool will accept it; element paths only exist once the feed is a project. And a URL that opens a share PAGE instead of serving the file parses as the page: the answer then carries looks_like_a_web_page: true with html and head as its elements, and what is needed is the direct-download link. For a project that already exists, use list_project_elements instead - it reports the project's own elements, each with the element_path the rule tools take.

preview_rule_changes

ChatGPT
Returns the before/after element values recorded for the project's traced products, per rule and element path, ordered by the rule priority the run used. Use to judge the impact of rules on a small sample instead of applying them to the whole project and reading the output feed. Each row covers the latest recorded run only, so it reflects the rules as they stood then - run apply_rules_to_traced_products after editing a rule to refresh it. Pass product_id to narrow the listing to one traced product.

query_products

ChatGPT
Returns the products matching a saved query (by query_id). Use after create_project_query to fetch the matching set, or to count a query's scope before a bulk operation. For ad-hoc filters use list_project_products with the mql parameter directly. Pass values_to_extract to return only specific elements per product.

remove_traced_product

ChatGPT
Unmarks a single product, taking it out of the traced sample. Use when the user no longer wants a product covered by the preview. A product that is not currently traced answers 404 rather than succeeding silently.

reorder_rules

ChatGPT
Rearranges rules of a project into the order given by rule_ids - first in the list is applied first. Rules are applied one after another, each seeing the output of the ones before it, so their order decides the result: rounding a price before a discount is calculated gives a different feed than rounding it after. Use whenever the user wants a rule to run before or after another one. Only the listed rules move, and only their positions among themselves: they are redealt the priorities they already occupy, so every rule left out of the list keeps exactly the position it has - reordering three rules of forty touches those three. Read the current order with list_project_rules first (it is returned in application order), then pass the ids in the order the user wants. Nothing else about the rules is touched - not their names, queries, data, or whether they are active. Rules Mergado pins in place (is_movable: false, such as the hiding rules it keeps at the end of every chain) cannot be moved, and the whole call is refused rather than partly applied if one of them is listed. Neither can the rules of a project that is turned off be moved, so turn it back on first. The new order takes effect on the next rebuild, which Mergado schedules itself. Mergado rules only. Pricing Fox has a same-named tool for its own chain (app_pricingfox_reorder_rules) with the opposite model: there the first matching rule wins and the product leaves the chain.

retract_query_from_rule

ChatGPT
Removes a query from a rule's scope (the query itself is NOT deleted - for that use delete_query). If this was the rule's last query, the next apply will fail because every rule must have at least one query. Use to swap the scope queries on an existing rule.

show_maintenance_info

ChatGPT
Returns scheduled maintenance windows for the Mergado platform (historical windows included - filter by the from timestamp). Use proactively when a user reports an unusual outage to check whether a maintenance window explains it.

update_element

ChatGPT
Changes an existing element: hides it from the output feed or shows it again (is_hidden), switches CDATA wrapping of its value (output_cdata), or renames it (name). Only the fields you pass are changed. Use to drop an element a channel does not want without deleting it - a hidden element stays in the project, so rules can still read and fill it. Only elements created by hand (origin: manual) can be renamed - Mergado refuses the rest (409), since an input element is named by the source feed. A rename also changes the element path every rule addresses it by, so check list_project_rules for rules using the old path and tell the user they will need updating. Hiding a parent does not hide its children. Moving an element, reordering it or turning it into an attribute is not possible here - each changes the element path and breaks the rules that use it; send the user to the Mergado UI. Changes show in the output feed after the next export. Get the user's consent first: hiding an element removes it from what their advertising channel receives.

update_product

ChatGPT
Makes a manual change to ONE product - the same two things the Mergado UI offers on a product: hide it (is_hidden) and set element values by hand (manual_changes). Use for a one-off fix of a single product (a wrong name, a price to override, a product to pull from the feed). For anything that applies to more than a handful of products, create a rule instead - manual values are per product and do not follow new products. manual_changes is merged into what the product already has: list only the paths to change, and pass value: null to remove a manual value so the rules' value comes back. The element path must exist in the project (list_project_elements, case-sensitive); a path matching several values changes the first - use @@POSITION for another. manual_changes in the answer lists every manual value the product holds, with the normalised path and is_applied. Nothing reaches the output feed at once: Mergado schedules a regeneration of the project itself, and until it finishes the changes read is_applied: false. A manual change belongs to the product, so it is lost if the next import replaces the product. Get the user's consent first - hiding a product pulls it from what their advertising channel receives.

update_project

ChatGPT
Marks the project as 'dirty' (or clears the flag). The dirty flag marks an entity for full rule reapplication during the NEXT rebuild - it does NOT trigger a rebuild itself. Set is_dirty=true after substantial rule changes when you want the next rebuild to be exhaustive, is_dirty=false clears it. (Reminder on the pipeline: 'apply' = transform data internally 'rebuild' = publish the applied data to the output feed file consumed by ad channels.) Other project fields (URL, name, formats) are not currently mutable via this tool.

update_query

ChatGPT
Updates a query's name or MQL expression. Changing the expression affects every rule using this query - they will apply to a different product set on the next rebuild. Check list_rule_queries / list_project_queries for consumers before updating a shared query.

update_rule

ChatGPT
Changes a rule in place — its name, note, configuration and schedule, and whether it is active (applies, to pause or resume it). Its position and its queries survive, unlike delete + recreate. Only the fields you send are touched, so omit the rest. Two of them REPLACE rather than merge: data is the rule's complete configuration and schedule the complete schedule — read the rule with get_rule first and send the whole object back with your change in it. schedule and remove_schedule cannot be combined: one replaces the schedule, the other clears it. What this cannot change: the rule's TYPE (build the other rule instead), its position (reorder_rules), and which products it targets (assign_query_to_rule / retract_query_from_rule). format_converter and hiding rules hold no configuration of their own; a rule with is_editable: false can only be renamed. Changes apply on the next rebuild and cannot be undone from here — say what you are about to change first.

update_variable

ChatGPT
Updates a variable's name. Renaming may break rules that hardcode the old {name} token check list_project_rules and list_project_queries for references before renaming. (The API currently only supports updating the name field.)

workflow_element_paths_and_mql

ChatGPT
Call this before constructing element paths, product queries (MQL), or regular expressions. Provides syntax rules and reference guides for nested element paths (using | and conditions { }), MQL query operators and filtering logic (MQL is not SQL), input vs. output element mapping, PCRE regex capture groups, and best practices for diacritics and element value matching.

workflow_feed_diagnostics

ChatGPT
Call this when troubleshooting feed errors, data discrepancies, or advertising channel rejections (e.g. Google Merchant Center, Meta, Heureka). Provides step-by-step diagnostic workflows for common feed issues including zero product imports, unmatched data imports, missing attributes (GTIN, images, shipping), stale data, and interpreting Product Data Audit findings.

workflow_getting_oriented

ChatGPT
Call this at the start of a task before proposing or making changes, to safely explore and understand a Mergado project. Provides guidance on identifying feed formats, inspecting existing element structures and live values, mapping input vs. output elements, selecting stable pairing identifiers, and following safe workflow practices before executing modifications.

workflow_known_limitations

ChatGPT
Call this when encountering unexpected errors, timeouts, empty responses, or tool anomalies, and before executing complex workflows. Provides an up-to-date reference on known API and platform limitations, unsupported operations, edge-case behaviors, reliability guidelines, and recommended workarounds.

workflow_platform_specs

ChatGPT
Call this when the user asks about a specific advertising channel or comparison engine (Google, Heureka, Zboží, GLAMI, Meta/Instagram, TikTok, Pinterest, Bing, Kelkoo, idealo, Ceneo, Skroutz, Árukereső, Favi, Biano) to get the link to its current official feed specification

workflow_rules_cookbook

ChatGPT
Call this before creating or configuring product transformation rules in a project. Provides a comprehensive mapping of rule types to MCP tools, required rule parameters (element_path, priority, queries, applies), common transformation recipes, parameter path conventions, and safety checklists for destructive operations (e.g. Data File Import).

Capabilities

Writes

App Stats

217

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily