Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Google Merchant Center in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Run Google Merchant Center from any AI agent through the Merchant API v1: processed products and product inputs, feeds (data sources), product statuses and issues, performance, price competitiveness and best seller reports in Merchant Center Query Language, local and regional inventory, promotions and notifications. OAuth sign-in with Google; deletions install switched off.
Try asking
Example prompts for Google Merchant Center
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Google Merchant Center, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Google Merchant Center + Gemini
Run Google Merchant Center from any AI agent through the Merchant API v1: processed products and product inputs, feeds (data sources), product statuses and issues, performance, price competitiveness and best seller reports in Merchant Center Query Language, local and regional inventory, promotions and notifications. OAuth sign-in with Google; deletions install switched off.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_MERCHANT_ACCOUNT_ID
Step 1 — Get credentials
Setting up takes about 15 minutes, once. You need a Merchant Center account, a Google user with access to it (Admin for the one-time project registration) and a Google Cloud project. The connector uses the Merchant API v1 (https://merchantapi.googleapis.com), which replaced the Content API for Shopping v2.1: Google sunset that API on 18 August 2026, since 1 September 2026 its calls fail more and more often with HTTP 410, and it shuts down completely in early 2027.
- Open https://console.cloud.google.com, pick or create a project, then APIs & Services, Library, and enable Merchant API.
- Under APIs & Services, OAuth consent screen choose Internal on Google Workspace, otherwise External with the publishing status In production. While an app is in Testing, Google revokes its refresh tokens after 7 days and the connector stops working every week.
- Under Credentials, Create credentials, OAuth client ID pick the type Web application and add the authorized redirect URI
<your AnythingMCP URL>/api/mcp-oauth/callback, on AnythingMCP Cloudhttps://cloud.anythingmcp.com/api/mcp-oauth/callback. - Paste the client ID into
GOOGLE_CLIENT_IDand the client secret intoGOOGLE_CLIENT_SECRET. Put the Merchant Center account id intoGOOGLE_MERCHANT_ACCOUNT_ID: the number at the top of Merchant Center next to the store name, or aftera=in its address (merchants.google.com/mc/overview?a=123456789). On an advanced (multi-client) account, use the advanced account's id to manage the account itself, or a sub-account's id for that shop. - On the connector page click Authorize with Provider and sign in with a Google account that is a user of the Merchant Center account: Admin for setup and writes, Standard for products and feeds, Read only for reads (Performance reporting covers only the performance reports).
- Register the Cloud project once: run
google_merchant_center_register_gcp_project, optionally withdeveloper_email. That Google account becomes the technical contact and gets the API developer role; if it is not a user of the account yet, it receives an invitation to accept within 14 days. Until the registration every other call answers 401GCP project with id ... is not registered with the merchant account. It needs an Admin user and is done on the main (advanced or standalone) account, not on each sub-account.google_merchant_center_get_developer_registrationshows the registered project numbers. - Run
google_merchant_center_get_accountto check the connection.
The same Cloud project and OAuth client can serve every Google connector (Gmail, Google Calendar, Google Drive, Google Sheets, Search Console, Analytics, Ads, Merchant Center): enable each API in that project, reuse GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET, and authorize each connector once.
Scope and account: the connector asks for https://www.googleapis.com/auth/content, the only Merchant API scope (read and write). What the AI can do is limited by the Merchant Center access of the signed-in user; for a read-only agent, sign in with a Read only user and switch off every insert, update, create, fetch and register tool. One connector works on the one account in GOOGLE_MERCHANT_ACCOUNT_ID. google_merchant_center_list_accounts lists every account the user can open, google_merchant_center_list_subaccounts the sub-accounts of an advanced account. For another account, install the connector again with that id.
What it reads: the account with time zone and language, business info (address, phone, customer service), the homepage and whether it is verified and claimed, account issues with their severity, programs (free listings, shopping ads, local listings, checkout) with their eligibility, shipping settings, regions, users with their access rights, and the API quotas. The processed products, merged from every data source, with their attributes and productStatus per destination and country, including item-level issues; status counts per reporting context and country with the most frequent issues. Data sources (feeds) and the result of the latest file upload. Local and regional inventory per product, promotions with their approval status, and notification subscriptions. Reports in Merchant Center Query Language: product performance (clicks, impressions, CTR, conversions), status and issues per product, price competitiveness and price insights (suggested_price), best sellers and competitive visibility.
What it writes: product inputs in an API data source (google_merchant_center_insert_product_input creates one or fully replaces it, google_merchant_center_update_product_input changes the fields listed in update_mask, for example product_attributes.price,product_attributes.availability), data sources (create, update, fetch a file feed now), local and regional inventory per store or region (an insert replaces that entry), promotions in a promotion data source, and notification subscriptions that post to an HTTPS callback on PRODUCT_STATUS_CHANGE or ACCOUNT_SERVICE_CHANGE. Products from file feeds or added in the Merchant Center UI cannot be edited here; override their attributes with a supplemental API data source instead. Changes show up in google_merchant_center_get_product after a few minutes, approval for ads and free listings can take a few days, and Google reviews every promotion (the Promotions program must be enabled for the country).
Switched off at install: google_merchant_center_delete_product_input, google_merchant_center_delete_local_inventory, google_merchant_center_delete_regional_inventory and google_merchant_center_delete_notification_subscription. They cannot be undone (a deleted product loses its history and status), so an admin switches them on when the team needs them.
Data formats: a product id is contentLanguage~feedLabel~offerId, for example en~US~sku123; offer ids that contain /, % or ~ are passed as the unpadded base64url encoding of the whole id. Resource names are paths such as accounts/123/dataSources/456, and the tools take the last part as the id. Money is in micros: {"amountMicros": "19990000", "currencyCode": "EUR"} is 19.99 EUR. Large numbers (micros, quantities, ids) arrive as JSON strings. Times are RFC 3339 in UTC; report date values are in the account's time zone. Attribute names are camelCase (title, link, imageLink, availability, condition, gtins, brand, mpn, googleProductCategory, salePrice, shipping).
Reports: google_merchant_center_search_reports takes SELECT fields FROM table WHERE ... ORDER BY ... LIMIT n with snake_case field names. Conditions combine with AND only (use IN instead of OR), and ORDER BY works on selected fields only. product_performance_view and non_product_performance_view need a date condition such as date DURING LAST_30_DAYS and at least one metric. The best seller tables need report_granularity and report_country_code in the filter. Rows come as results[], each holding one object named after the table, such as productPerformanceView.
Paging and limits: list tools return nextPageToken; the AI calls again with page_token until it is missing. google_merchant_center_list_products returns 25 products per page by default and up to 1000; reports return up to 100000 rows per page (default 1000). google_merchant_center_list_quotas shows the daily and per-minute limits and today's usage per method group. Product writes are limited per day relative to the catalog size: spread bulk changes out and prefer one supplemental feed to thousands of single updates.
Common errors: 401 GCP project with id ... is not registered means step 6 is missing; any other 401 means the authorization expired or was revoked (always after 7 days while the consent screen is in Testing): click Authorize with Provider again. 403 The caller does not have access to the accounts means the signed-in user is not a user of that account or GOOGLE_MERCHANT_ACCOUNT_ID is wrong; 403 Merchant API has not been used in project means the API is not enabled (step 1). 400 on a product input means a required attribute is missing or misspelled, or the data source is not an API source. 404 is an unknown product, data source or promotion id. 429 RESOURCE_EXHAUSTED means the quota is used up: check google_merchant_center_list_quotas and retry later.
The connector does not handle orders and returns, does not change shipping or return policies, does not create accounts or manage users, does not read product reviews and does not manage Google Ads campaigns (that is the Google Ads connector).
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Gemini
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart
gemini. - Run
/mcpinside Gemini CLI (orgemini mcp listin your shell):anythingmcpshould show as connected. - Start prompting: Gemini CLI can now call the
Google Merchant Centertools.
Available tools
| Tool | What it does |
|---|---|
google_merchant_center_get_account | Read the configured Merchant Center account: accountId, accountName, time zone, language, adult content flag and whether it is a test… |
google_merchant_center_list_accounts | List every Merchant Center account the signed-in Google user can open (up to 500 per page): standalone accounts, advanced accounts and… |
google_merchant_center_list_subaccounts | List the sub-accounts of the configured account when it is an advanced (multi-client) account, with accountId and accountName |
google_merchant_center_get_business_info | Read the business details of the account: legal address, phone and its verification state, and customer service contact (URI, email, phone) |
google_merchant_center_get_homepage | Read the store's homepage URI and whether it is verified and claimed |
google_merchant_center_list_account_issues | List the account-level issues Merchant Center shows (policy violations, unclaimed website, missing shipping or tax, suspensions): title… |
google_merchant_center_list_programs | List the Merchant Center programs (free-listings, shopping-ads, local listings, checkout...) and, for each, whether it is ENABLED, ELIGIBLE… |
google_merchant_center_get_shipping_settings | Read the shipping settings of the account: shipping services per country with delivery times, rates and rate tables, warehouses and the… |
google_merchant_center_list_regions | List the regions defined in the account (groups of postal codes or geo targets) used for regional inventory, pricing and shipping… |
google_merchant_center_list_users | List the people with access to the account: email, state (PENDING or VERIFIED) and access rights (STANDARD, ADMIN, PERFORMANCE_REPORTING… |
google_merchant_center_get_developer_registration | Show which Google Cloud project numbers are registered with this Merchant Center account |
google_merchant_center_register_gcp_project | One-time setup: register the Google Cloud project of this connector's OAuth client with the Merchant Center account, so the Merchant API… |
google_merchant_center_list_products | List the final, processed products of the account (merged from every data source, up to 1000 per page; default 25): name, offerId… |
google_merchant_center_get_product | Read one processed product with its attributes and productStatus: per destination and country whether it is approved, pending or… |
google_merchant_center_insert_product_input | Create a product, or replace the input of an existing one with the same contentLanguage, feedLabel and offerId, in an API data source |
google_merchant_center_update_product_input | Change some attributes of a product input in its API data source (primary or supplemental), e.g. price or availability. update_mask lists… |
google_merchant_center_delete_product_input | Delete a product input from one API data source |
google_merchant_center_list_data_sources | List the data sources of the account (feeds): name with the numeric id, displayName, input (API, FILE, UI, AUTOFEED) and type… |
google_merchant_center_get_data_source | Read one data source with its type settings and, for file feeds, the fetch schedule and file URL |
google_merchant_center_get_latest_file_upload | Read the result of the latest file upload or fetch of a data source: processingState (SUCCEEDED, FAILED, IN_PROGRESS), uploadTime… |
google_merchant_center_create_data_source | Create a data source |
google_merchant_center_update_data_source | Change a data source's display name, countries or fetch schedule. update_mask lists the fields to change, e.g. "displayName" or… |
google_merchant_center_fetch_data_source | Fetch a file data source from its URL now, outside its schedule |
google_merchant_center_list_aggregate_product_statuses | Count products by status per reporting context (SHOPPING_ADS, FREE_LISTINGS, ...) and country: approved, pending and disapproved counts and… |
google_merchant_center_search_reports | Run a Merchant Center Query Language (MCQL) report: product performance (clicks, impressions, CTR, conversions), product status and issues… |
google_merchant_center_list_local_inventories | List the in-store inventory of one product: per storeCode the price, sale price, availability, quantity and pickup settings |
google_merchant_center_insert_local_inventory | Set the in-store availability and price of a product at one store (creates or replaces that store entry) |
google_merchant_center_delete_local_inventory | Remove the inventory entry of a product at one store; the product then no longer shows as available there |
google_merchant_center_list_regional_inventories | List the regional prices and availability of one product: per region id the price, sale price and availability |
google_merchant_center_insert_regional_inventory | Set the price and availability of a product in one region (creates or replaces that region entry) |
google_merchant_center_delete_regional_inventory | Remove the regional price and availability of a product in one region |
google_merchant_center_list_promotions | List the promotions of the account (up to 250 per page): promotionId, targetCountry, contentLanguage, redemptionChannel, attributes (long… |
google_merchant_center_get_promotion | Read one promotion with its status per destination (pending, approved, rejected) and item-level issues |
google_merchant_center_insert_promotion | Create a promotion, or replace one with the same promotionId, country and language, in a promotion data source |
google_merchant_center_list_notification_subscriptions | List the push notification subscriptions of the account: event (PRODUCT_STATUS_CHANGE, ACCOUNT_SERVICE_CHANGE), callback URL and which… |
google_merchant_center_get_notification_subscription | Read one notification subscription by its id: event type, callback URL and covered accounts |
google_merchant_center_create_notification_subscription | Subscribe an HTTPS callback URL to push notifications, e.g. when a product becomes disapproved |
google_merchant_center_update_notification_subscription | Change the HTTPS callback URL that a notification subscription posts its messages to |
google_merchant_center_delete_notification_subscription | Delete a notification subscription; the callback URL stops receiving messages |
google_merchant_center_list_quotas | Show the Merchant API call quotas of the account per method group: daily limit, per-minute limit and today's usage |
Example prompts
- "Give me a health check of the store: account issues and how many products are disapproved per country."
- "Which products are not eligible or disapproved, and what do I have to fix for each one?"
- "Show the top 20 products by clicks in the last 30 days, with impressions and CTR."
- "Where is my price above the benchmark price? List the products with the biggest gap."
- "Set product en
USsku123 to OUT_OF_STOCK. Show me the change before you send it."
FAQ
Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Meta Muse
- Connect to Microsoft Copilot
Was this guide helpful?