Google Merchant Center MCP Server
A Merchant Center MCP server built on the Merchant API: find out why products are disapproved, fix them, run product reports and manage the account settings Shopping depends on — and how it compares with Google’s own alpha MCP.
What a call looks like
These are real tool names from the live server, with the shape of what they return.
merchant_product_status_summary{
"aggregateProductStatuses": [
{ "reportingContext": "SHOPPING_ADS", "country": "US",
"stats": { "activeCount": "8412", "pendingCount": "36", "disapprovedCount": "291", "expiringCount": "0" },
"itemLevelIssues": [
{ "code": "missing_gtin", "severity": "DISAPPROVED", "resolution": "MERCHANT_ACTION", "productCount": "187" },
{ "code": "price_mismatch", "severity": "DISAPPROVED", "resolution": "MERCHANT_ACTION", "productCount": "64" }
] }
]
}merchant_render_product_issues{
"issues": [
{ "title": "Mismatched price",
"impact": { "message": "Not showing in Shopping ads and free listings in US" },
"prerenderedContent": "The price in your product data (49.00 USD) doesn't match the price on your landing page (54.00 USD)...",
"actions": [ { "buttonLabel": "Request review", "builtinUserInputAction": { "actionContext": "..." } } ] }
]
}merchant_update_product{
"name": "accounts/123456789/productInputs/en~US~4471",
"productAttributes": { "price": { "amountMicros": "54000000", "currencyCode": "USD" } },
"updateMask": "productAttributes.price"
}merchant_product_performance{
"results": [
{ "offer_id": "4471", "title": "Trail Runner 2 - Black", "clicks": 1842, "impressions": 96310, "conversions": 71 },
{ "offer_id": "3308", "title": "Merino Crew Sock 3-Pack", "clicks": 1207, "impressions": 88115, "conversions": 94 }
]
}The diagnose-and-fix loop
Most Merchant Center work is the same three steps, and the tools are shaped around them. First, find the scale of the problem: merchant_product_status_summary counts approved, pending and disapproved products per country and destination with the top issues, and merchant_account_issues catches the account-level suspension or warning that makes every product look broken. Second, understand one issue exactly: merchant_render_product_issues and merchant_render_account_issues return Google’s own explanation, impact and fix steps — the same text Merchant Center shows — and merchant_trigger_issue_action runs the fix Google offers where there is one, such as requesting a re-review. Third, change the data: merchant_update_product patches only the attributes you name (the update mask lists exactly those), and merchant_fetch_data_source re-fetches a scheduled feed now instead of waiting a day.
What the 123 tools cover
Tool names below are real; the full list with parameters is in the Merchant Center tool reference.
- Products and inventory — merchant_list_products, merchant_get_product, merchant_insert_product, merchant_update_product, merchant_delete_product, merchant_insert_local_inventory, merchant_insert_regional_inventory and their list and delete counterparts
- Data sources — merchant_list_data_sources, merchant_create_data_source (API, scheduled-file or supplemental), merchant_update_data_source, merchant_fetch_data_source, merchant_get_file_upload for a feed’s last processing result
- Issues — merchant_product_status_summary, merchant_account_issues, merchant_render_product_issues, merchant_render_account_issues, merchant_trigger_issue_action
- Reporting — merchant_report runs Merchant Center Query Language (MCQL) queries; merchant_product_performance is a ready-made clicks, impressions and conversions report
- Promotions — merchant_list_promotions, merchant_get_promotion, merchant_insert_promotion
- Shipping, returns and regions — merchant_get_shipping_settings, merchant_update_shipping_settings, merchant_create_return_policy, merchant_list_return_policies, merchant_create_region, merchant_batch_regions
- Account and programs — merchant_list_accounts, merchant_list_subaccounts, merchant_get_business_info, merchant_update_business_info, merchant_get_homepage, merchant_claim_homepage, merchant_list_programs, merchant_enable_program, merchant_terms_of_service_state, merchant_list_users, merchant_add_user
- Local and omnichannel — merchant_list_omnichannel_settings, merchant_link_gbp_account, merchant_request_inventory_verification, and the merchant_lfp_ tools for local feed partnership providers
Limits you will hit, and why
Merchant Center has more hidden rules than most ad platforms. These are the ones that catch people, and none is specific to this server:
- One-time registration. Google refuses every Merchant API call on an account until the API’s Cloud project is registered with it. merchant_register_developer does it once per account and needs a Merchant Center admin; the assistant offers to run it when the first call fails.
- Feeds win. Products come from data sources, and a scheduled file feed overwrites an API edit on its next fetch. merchant_insert_product and merchant_update_product write to an API data source; to change a product that a feed owns, change the feed or add a supplemental source.
- Promotions need setup first. A promotion needs a promotion data source, the account opted in to promotions, and Google’s review before it serves. merchant_insert_promotion creates it; merchant_get_promotion shows the review status and any issues.
- Shipping settings are replaced whole. merchant_update_shipping_settings replaces the entire shipping object, so the assistant reads the current settings first and sends them back with your change, rather than a fragment that would wipe the rest.
- An unclaimed homepage stops everything. merchant_get_homepage shows whether it is claimed; a new account with no claimed homepage cannot serve products.
Safety on an account that feeds your Shopping ads
Product edits reach Merchant Center within minutes and flow into Shopping ads and free listings, so each write is its own tool that runs only when you ask, and viewer-role users in your workspace can run every report and none of the writes. The irreversible account actions — merchant_delete_account, merchant_disable_program, merchant_unclaim_homepage, merchant_delete_data_source, merchant_remove_user, accepting terms of service — are written to be confirmed with you before they run. If you want a safe place to try a bulk change, merchant_create_test_account creates a test sub-account that touches no live listings.
Agencies and advanced accounts
Connect the Google identity that is a user on the advanced (multi-client) account and every client account under it is reachable: merchant_list_subaccounts lists them and each tool takes the account_id it should act on. merchant_list_account_services and merchant_propose_account_service handle the provider relationships that let an agency manage products for a client. Merchant Center rides the same Google sign-in as Google Ads and GA4 but asks for its own Merchant Center scope, so connecting it never changes your other Google grants — and the same conversation can then check whether a disapproved product is one of your top Shopping spenders in the Google Ads MCP server.
Google’s own Merchant API MCP, community servers, and when to pick them
Google now runs its own Merchant API MCP Access Service at merchantapi.googleapis.com/mcp. Google labels it an experimental alpha, describes it as read-only with limited writes, and lists 13 tools covering product status, reporting, data sources, account issues and programs; you connect with your own Merchant API credentials and Cloud project. Google also offers a separate documentation MCP for developers migrating code. On GitHub, open-source servers such as kiwoongeom/gmc-mcp cover much of the Merchant API and run on your machine with your own Cloud project. The honest split:
- Pick Google’s MCP if you need a first-party read of product status and reports, already have a Cloud project with the Merchant API enabled, and are comfortable with an alpha that can change without notice.
- Pick a self-hosted open-source server if you want full read-write access and to own the credentials, and do not mind setting up OAuth and the registration step yourself.
- Pick MCP Ads if you want the whole Merchant API surface without a Cloud project, several merchant accounts and clients under one sign-in, and Merchant Center in the same conversation as Google Ads and GA4. It is $49/month flat after a 3-day free trial (pricing).
Questions
Does it use the Content API for Shopping?
No. Google retired the Content API for Shopping in August 2026. Every tool here calls the Merchant API, its successor.
Why does every call fail with “GCP project not registered”?
The one-off developer registration has not run on that account. Ask the assistant to register it while signed in as a Merchant Center admin; it runs merchant_register_developer once and every other tool then works. The Merchant Center guide has the full setup.
I edited a product and the change disappeared.
A scheduled feed owns that product and overwrote the API edit on its next fetch. Change it in the feed, or add a supplemental data source for the attribute you want to control.
Can it create promotions?
Yes, with merchant_insert_promotion, once the account has a promotion data source and is opted in to promotions. Google reviews every promotion before it serves; merchant_list_promotions shows the approval state.
Can it run custom reports?
Yes. merchant_report runs any Merchant Center Query Language (MCQL) query — one table per query, SQL-like — so price competitiveness, best sellers and product performance are all reachable.
Related
Muse can already use your apps. MCP Ads gives it every ad account you run - and a reason to check on them before you ask.
One MCP server that gives Grok live access to every ad account you run - and gives Grok Bot something worth scheduling.
Ask what a competitor is running and get their live ads back - from Google's Ads Transparency Center and Meta's Ad Library, in the same chat you plan campaigns in.
Connect an account and try it
Add MCP Ads to Claude or ChatGPT with one URL, authorise an ad account in the browser, and ask it something.