Connector guide15-minute read40 MCP tools7 languages

How to Connect Google Merchant Center to Microsoft Copilot via MCP

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.

HCBy HelpCode teamUpdated 15 min read Open-source on GitHub

No credit card · 7-day trial · Self-host alternative available

Google Merchant Center

Google Merchant Center

Google Merchant Center for AI agents through the Merchant API v1: products and product inputs, feeds (data sources), product statuses and issues, performance and price reports in Merchant Center Query Language, local and regional inventory, promotions and notifications. OAuth2.

tools

40

Region

INTL

Category

E-commerce

Authentication

OAuth 2.0

Required env vars

GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETGOOGLE_MERCHANT_ACCOUNT_ID
Install in one click on Cloud

7-day free trial · No credit card

  • 7-day free trial
    No credit card required
  • GDPR & SOC 2 ready
    EU data residency, audit logs
  • Open-source on GitHub
    Open source · AGPL-3.0
  • Works with ChatGPT, Claude, Gemini
    Any MCP-compatible client

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.

Start free trial

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.

Google Merchant Center · live via MCP
Share
Opus 4.7

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 + Microsoft Copilot

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.

  1. Open https://console.cloud.google.com, pick or create a project, then APIs & Services, Library, and enable Merchant API.
  2. 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.
  3. 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 Cloud https://cloud.anythingmcp.com/api/mcp-oauth/callback.
  4. Paste the client ID into GOOGLE_CLIENT_ID and the client secret into GOOGLE_CLIENT_SECRET. Put the Merchant Center account id into GOOGLE_MERCHANT_ACCOUNT_ID: the number at the top of Merchant Center next to the store name, or after a= 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.
  5. 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).
  6. Register the Cloud project once: run google_merchant_center_register_gcp_project, optionally with developer_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 401 GCP 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_registration shows the registered project numbers.
  7. Run google_merchant_center_get_account to 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 Microsoft Copilot

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 shows YOUR_SERVER_ID.

Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.

  1. In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
  2. Enter a Server name (for example AnythingMCP), a Server description that says what the connector does, and the Server URL https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server.
  3. Under authentication, choose API key, set Type to Header and the header name to X-API-Key, then select Create.
  4. In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
  5. Try it in the agent's Test pane: ask for something that needs the Google Merchant Center tools.
  6. Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.

Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.

Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.

Available tools

ToolWhat it does
google_merchant_center_get_accountRead the configured Merchant Center account: accountId, accountName, time zone, language, adult content flag and whether it is a test…
google_merchant_center_list_accountsList 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_subaccountsList the sub-accounts of the configured account when it is an advanced (multi-client) account, with accountId and accountName
google_merchant_center_get_business_infoRead the business details of the account: legal address, phone and its verification state, and customer service contact (URI, email, phone)
google_merchant_center_get_homepageRead the store's homepage URI and whether it is verified and claimed
google_merchant_center_list_account_issuesList the account-level issues Merchant Center shows (policy violations, unclaimed website, missing shipping or tax, suspensions): title…
google_merchant_center_list_programsList the Merchant Center programs (free-listings, shopping-ads, local listings, checkout...) and, for each, whether it is ENABLED, ELIGIBLE…
google_merchant_center_get_shipping_settingsRead the shipping settings of the account: shipping services per country with delivery times, rates and rate tables, warehouses and the…
google_merchant_center_list_regionsList the regions defined in the account (groups of postal codes or geo targets) used for regional inventory, pricing and shipping…
google_merchant_center_list_usersList the people with access to the account: email, state (PENDING or VERIFIED) and access rights (STANDARD, ADMIN, PERFORMANCE_REPORTING…
google_merchant_center_get_developer_registrationShow which Google Cloud project numbers are registered with this Merchant Center account
google_merchant_center_register_gcp_projectOne-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_productsList 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_productRead one processed product with its attributes and productStatus: per destination and country whether it is approved, pending or…
google_merchant_center_insert_product_inputCreate 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_inputChange 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_inputDelete a product input from one API data source
google_merchant_center_list_data_sourcesList 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_sourceRead one data source with its type settings and, for file feeds, the fetch schedule and file URL
google_merchant_center_get_latest_file_uploadRead the result of the latest file upload or fetch of a data source: processingState (SUCCEEDED, FAILED, IN_PROGRESS), uploadTime…
google_merchant_center_create_data_sourceCreate a data source
google_merchant_center_update_data_sourceChange 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_sourceFetch a file data source from its URL now, outside its schedule
google_merchant_center_list_aggregate_product_statusesCount products by status per reporting context (SHOPPING_ADS, FREE_LISTINGS, ...) and country: approved, pending and disapproved counts and…
google_merchant_center_search_reportsRun a Merchant Center Query Language (MCQL) report: product performance (clicks, impressions, CTR, conversions), product status and issues…
google_merchant_center_list_local_inventoriesList the in-store inventory of one product: per storeCode the price, sale price, availability, quantity and pickup settings
google_merchant_center_insert_local_inventorySet the in-store availability and price of a product at one store (creates or replaces that store entry)
google_merchant_center_delete_local_inventoryRemove the inventory entry of a product at one store; the product then no longer shows as available there
google_merchant_center_list_regional_inventoriesList the regional prices and availability of one product: per region id the price, sale price and availability
google_merchant_center_insert_regional_inventorySet the price and availability of a product in one region (creates or replaces that region entry)
google_merchant_center_delete_regional_inventoryRemove the regional price and availability of a product in one region
google_merchant_center_list_promotionsList the promotions of the account (up to 250 per page): promotionId, targetCountry, contentLanguage, redemptionChannel, attributes (long…
google_merchant_center_get_promotionRead one promotion with its status per destination (pending, approved, rejected) and item-level issues
google_merchant_center_insert_promotionCreate a promotion, or replace one with the same promotionId, country and language, in a promotion data source
google_merchant_center_list_notification_subscriptionsList the push notification subscriptions of the account: event (PRODUCT_STATUS_CHANGE, ACCOUNT_SERVICE_CHANGE), callback URL and which…
google_merchant_center_get_notification_subscriptionRead one notification subscription by its id: event type, callback URL and covered accounts
google_merchant_center_create_notification_subscriptionSubscribe an HTTPS callback URL to push notifications, e.g. when a product becomes disapproved
google_merchant_center_update_notification_subscriptionChange the HTTPS callback URL that a notification subscription posts its messages to
google_merchant_center_delete_notification_subscriptionDelete a notification subscription; the callback URL stops receiving messages
google_merchant_center_list_quotasShow 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 enUSsku123 to OUT_OF_STOCK. Show me the change before you send it."

FAQ

Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.

What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.

The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.

Next steps

Was this guide helpful?

Your Google Merchant Center agent is one click away.

Install the connector, paste the key, prompt Microsoft Copilot. Free for 7 days, no credit card.

Related guides

Connectors

How to Connect Google Merchant Center to ChatGPT via MCP

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.

Connectors

How to Connect Google Merchant Center to Claude via MCP

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.

Connectors

How to Connect Google Merchant Center to Cursor via MCP

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.

Connectors

How to Connect Google Merchant Center to Gemini via MCP

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.

Connectors

How to Connect Google Merchant Center to Meta Muse via MCP

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.

Connectors

Google Merchant Center to MCP: Products, Feeds, Product Issues, Performance Reports and Inventory in any AI Agent

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.