Connectors · Commerce
Google Merchant API MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Google Merchant API and the rest of your systems. It gives your agent 132 Google Merchant API actions (61 reads, 53 writes and 18 that wait for a confirmation) and holds the Google Merchant API credential itself, so the agent never does. It paces Google Merchant API's limits and records every call. Connecting Google Merchant API needs your own Google Merchant API OAuth app and one admin sign-in.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "google_merchant_center.accounts.list", intent: "check which Google Merchant API account is connected"}# Accounts: list · read · 1 upstream call- 132actionsin one signed file
- 61readlook, never change
- 53writecreate and update
- 18wait for a yesdestructive, confirmed first
Set up
Connect Google Merchant API in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Google Merchant API.
OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Google Merchant API, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Google Merchant API needs an OAuth app of your own, registered in its developer portal. actionlake has no Google Merchant API app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idGoogle OAuth client id (Google Cloud console > APIs & Services > Credentials; enable the Merchant API on the project)client_secretGoogle OAuth client secret
account { op: "connections.requirements", service: "google_merchant_center" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "google_merchant_center.accounts.list" }# accounts: list · read · 1 upstream callcheck { action: "google_merchant_center.users.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Google Merchant API at a glance
- Sign-in
- OAuth 2.0, authorization code with PKCE. You register your own OAuth app with Google Merchant API, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Limits we pace to
- 600 calls a minute, per connection
- API covered
- Merchant API v1 sub-APIs + reviews v1beta (Discovery revision 20261021)
merchantapi.googleapis.com - Built from
- Google Merchant API's documentation, read 23 October 2026merchantapi.googleapis.commerchantapi.googleapis.commerchantapi.googleapis.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 61 of 61 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 2, so ask can line Google Merchant API up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Google Merchant API.
132 actions in 13 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 61readlook, never change
- 53writecreate and update
- 18destructivewait for a confirmation
Accounts
7634 read · 33 write · 9 destructive
Accounts: list · Accounts: get · Accounts: create and configure · Accounts: create test account
Reviews
84 read · 2 write · 2 destructive
Merchant reviews: insert · Merchant reviews: list · Product reviews: insert · Product reviews: list
Datasources
73 read · 3 write · 1 destructive
Data sources: create · Data sources: list · Data sources: fetch · Data sources: get
LFP
73 read · 3 write · 1 destructive
Lfp inventories: insert · Lfp sales: insert · Lfp stores: insert · Lfp stores: list
Conversions
62 read · 3 write · 1 destructive
Conversion sources: create · Conversion sources: list · Conversion sources: get · Conversion sources: undelete
Inventories
62 read · 2 write · 2 destructive
Products local inventories: insert · Products local inventories: list · Products regional inventories: insert · Products regional inventories: list
Notifications
52 read · 2 write · 1 destructive
Notificationsubscriptions: create · Notificationsubscriptions: list · Notificationsubscriptions: get · Notificationsubscriptions: delete
Products
52 read · 2 write · 1 destructive
Products: list · Products: get · Product inputs: insert · Product inputs: delete
5 more areas · 12 actions
- Issueresolution 4
- Promotions 3
- Quota 3
- Ordertracking 1
- Reports 1
Top actions
The Google Merchant API API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 4 of Google Merchant API's 4 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
google_merchant_center.products.listProducts: list | Lists the processed products in your Merchant Center account. | read | commerce.product.list112 connectors |
google_merchant_center.accounts.listAccounts: list | Note: For the `accounts.list` method, quota and limits usage are charged for each user, and not for the Merchant Center ID or the advanced account ID. | read | commerce.store.list17 connectors |
google_merchant_center.products.getProducts: get | Retrieves the processed product from your Merchant Center account. | read | commerce.product.get112 connectors |
google_merchant_center.accounts.getAccounts: get | Retrieves an account from your Merchant Center account. | read | commerce.store.get20 connectors |
google_merchant_center.users.listUsers: list | Lists all users of a Merchant Center account. | read | this connector |
google_merchant_center.issues.listIssues: list | Lists all account issues of a Merchant Center account. | read | this connector |
google_merchant_center.users.createUsers: create | Creates a Merchant Center account user. | write | this connector |
google_merchant_center.reports.searchReports: search | Retrieves a report defined by a search query. | read | this connector |
google_merchant_center.promotions.listPromotions: list | Lists the promotions in your Merchant Center account. | read | this connector |
google_merchant_center.promotions.insertPromotions: insert | Inserts a promotion for your Merchant Center account. | write | this connector |
google_merchant_center.data_sources.createData sources: create | Creates the new data source configuration for the given account. | write | this connector |
google_merchant_center.users.deleteUsers: delete | Deletes a Merchant Center account user. | destructive | this connector |
Try it
Prompts to paste into Claude.
Each one names the Google Merchant API actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Google Merchant API products have no price or are out of stock?
calls
google_merchant_center.products.list - Writewrite
Users: create in Google Merchant API. Show me exactly what you will send before you save it.
calls
google_merchant_center.users.create
Governance for Google Merchant API
Destructive actions wait for a yes.
18 Google Merchant API actions are destructive. These are all of them:
- Users: delete
google_merchant_center.users.delete - Accounts: delete
google_merchant_center.accounts.delete - Data sources: delete
google_merchant_center.data_sources.delete - Product inputs: delete
google_merchant_center.product_inputs.delete - Product reviews: delete
google_merchant_center.product_reviews.delete - Merchant reviews: delete
google_merchant_center.merchant_reviews.delete - Products local inventories: delete
google_merchant_center.products_local_inventories.delete - Products regional inventories: delete
google_merchant_center.products_regional_inventories.delete - Regions: delete
google_merchant_center.regions.delete - Homepage: unclaim
google_merchant_center.homepage.unclaim - Programs: disable
google_merchant_center.programs.disable - Lfp stores: delete
google_merchant_center.lfp_stores.delete - Regions: batch delete
google_merchant_center.regions.batch_delete - Conversion sources: delete
google_merchant_center.conversion_sources.delete - Online return policies: delete
google_merchant_center.online_return_policies.delete - Notificationsubscriptions: delete
google_merchant_center.notificationsubscriptions.delete - Developer registration: unregister gcp
google_merchant_center.developer_registration.unregister_gcp - Programs checkout settings: delete checkout settings
google_merchant_center.programs_checkout_settings.delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Users: delete?
intent: the user asked me to users: delete
account { op: "keys.create", name: "google-merchant-center-agent", allowed_actions: ["google_merchant_center.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "google_merchant_center.users.delete", approver: "[email protected]" }, { match: "google_merchant_center.accounts.delete", approver: "[email protected]" }, { match: "google_merchant_center.data_sources.delete", approver: "[email protected]" } ]}Cost
What Google Merchant API costs on actionlake.
Every Google Merchant API action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Google Merchant API refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 132 Google Merchant API actions
- 26actions pageeach page of a long list is one call
- 61reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Google Merchant API action.
132 actions by area: the id your agent calls, what it does, and its effect.
Accounts76
google_merchant_center.accounts.create_and_configureAccounts: create and configurewritegoogle_merchant_center.accounts.create_test_accountAccounts: create test accountwritegoogle_merchant_center.accounts.deleteAccounts: deletedestructivegoogle_merchant_center.accounts.getAccounts: getreadgoogle_merchant_center.accounts.listAccounts: listreadgoogle_merchant_center.accounts.list_subaccountsAccounts: list subaccountsreadgoogle_merchant_center.accounts.patchAccounts: patchwritegoogle_merchant_center.autofeed_settings.getAutofeed settings: get autofeed settingsreadgoogle_merchant_center.autofeed_settings.updateAutofeed settings: update autofeed settingswritegoogle_merchant_center.automatic_improvements.getAutomatic improvements: get automatic improvementsreadgoogle_merchant_center.automatic_improvements.updateAutomatic improvements: update automatic improvementswritegoogle_merchant_center.business_identity.getBusiness identity: get business identityreadgoogle_merchant_center.business_identity.updateBusiness identity: update business identitywritegoogle_merchant_center.business_info.getBusiness info: get business inforeadgoogle_merchant_center.business_info.updateBusiness info: update business infowritegoogle_merchant_center.developer_registration.getDeveloper registration: get developer registrationreadgoogle_merchant_center.developer_registration.get_account_for_gcp_registrationDeveloper registration: get account for gcp registrationreadgoogle_merchant_center.developer_registration.register_gcpDeveloper registration: register gcpwritegoogle_merchant_center.developer_registration.unregister_gcpDeveloper registration: unregister gcpdestructivegoogle_merchant_center.email_preferences.getEmail preferences: get email preferencesreadgoogle_merchant_center.email_preferences.updateEmail preferences: update email preferenceswritegoogle_merchant_center.gbp_accounts.link_gbp_accountGbp accounts: link gbp accountwritegoogle_merchant_center.gbp_accounts.listGbp accounts: listreadgoogle_merchant_center.homepage.claimHomepage: claimwritegoogle_merchant_center.homepage.getHomepage: get homepagereadgoogle_merchant_center.homepage.unclaimHomepage: unclaimdestructivegoogle_merchant_center.homepage.updateHomepage: update homepagewritegoogle_merchant_center.issues.listIssues: listreadgoogle_merchant_center.omnichannel_settings.createOmnichannel settings: createwritegoogle_merchant_center.omnichannel_settings.getOmnichannel settings: getreadgoogle_merchant_center.omnichannel_settings.listOmnichannel settings: listreadgoogle_merchant_center.omnichannel_settings.patchOmnichannel settings: patchwritegoogle_merchant_center.omnichannel_settings.request_inventory_verificationOmnichannel settings: request inventory verificationwritegoogle_merchant_center.omnichannel_settings_lfp_providers.findOmnichannel settings lfp providers: findreadgoogle_merchant_center.omnichannel_settings_lfp_providers.link_lfp_providerOmnichannel settings lfp providers: link lfp providerwritegoogle_merchant_center.online_return_policies.createOnline return policies: createwritegoogle_merchant_center.online_return_policies.deleteOnline return policies: deletedestructivegoogle_merchant_center.online_return_policies.getOnline return policies: getreadgoogle_merchant_center.online_return_policies.listOnline return policies: listreadgoogle_merchant_center.programs.disablePrograms: disabledestructivegoogle_merchant_center.programs.enablePrograms: enablewritegoogle_merchant_center.programs.getPrograms: getreadgoogle_merchant_center.programs.listPrograms: listreadgoogle_merchant_center.programs_checkout_settings.createPrograms checkout settings: createwritegoogle_merchant_center.programs_checkout_settings.deletePrograms checkout settings: delete checkout settingsdestructivegoogle_merchant_center.programs_checkout_settings.getPrograms checkout settings: get checkout settingsreadgoogle_merchant_center.programs_checkout_settings.updatePrograms checkout settings: update checkout settingswritegoogle_merchant_center.regions.batch_createRegions: batch createwritegoogle_merchant_center.regions.batch_deleteRegions: batch deletedestructivegoogle_merchant_center.regions.batch_updateRegions: batch updatewritegoogle_merchant_center.regions.createRegions: createwritegoogle_merchant_center.regions.deleteRegions: deletedestructivegoogle_merchant_center.regions.getRegions: getreadgoogle_merchant_center.regions.listRegions: listreadgoogle_merchant_center.regions.patchRegions: patchwritegoogle_merchant_center.relationships.getRelationships: getreadgoogle_merchant_center.relationships.listRelationships: listreadgoogle_merchant_center.relationships.patchRelationships: patchwritegoogle_merchant_center.services.approveServices: approvewritegoogle_merchant_center.services.getServices: getreadgoogle_merchant_center.services.listServices: listreadgoogle_merchant_center.services.proposeServices: proposewritegoogle_merchant_center.services.rejectServices: rejectwritegoogle_merchant_center.shipping_settings.getShipping settings: get shipping settingsreadgoogle_merchant_center.shipping_settings.insertShipping settings: insertwritegoogle_merchant_center.terms_of_service.acceptTerms of service: acceptwritegoogle_merchant_center.terms_of_service.getTerms of service: getreadgoogle_merchant_center.terms_of_service.retrieve_latestTerms of service: retrieve latestreadgoogle_merchant_center.terms_of_service_agreement_states.getTerms of service agreement states: getreadgoogle_merchant_center.terms_of_service_agreement_states.retrieve_for_applicationTerms of service agreement states: retrieve for applicationreadgoogle_merchant_center.users.createUsers: createwritegoogle_merchant_center.users.deleteUsers: deletedestructivegoogle_merchant_center.users.getUsers: getreadgoogle_merchant_center.users.listUsers: listreadgoogle_merchant_center.users.patchUsers: patchwritegoogle_merchant_center.users_me.verify_selfUsers me: verify selfwrite
Reviews8
google_merchant_center.merchant_reviews.deleteMerchant reviews: deletedestructivegoogle_merchant_center.merchant_reviews.getMerchant reviews: getreadgoogle_merchant_center.merchant_reviews.insertMerchant reviews: insertwritegoogle_merchant_center.merchant_reviews.listMerchant reviews: listreadgoogle_merchant_center.product_reviews.deleteProduct reviews: deletedestructivegoogle_merchant_center.product_reviews.getProduct reviews: getreadgoogle_merchant_center.product_reviews.insertProduct reviews: insertwritegoogle_merchant_center.product_reviews.listProduct reviews: listread
Datasources7
google_merchant_center.data_sources.createData sources: createwritegoogle_merchant_center.data_sources.deleteData sources: deletedestructivegoogle_merchant_center.data_sources.fetchData sources: fetchwritegoogle_merchant_center.data_sources.getData sources: getreadgoogle_merchant_center.data_sources.listData sources: listreadgoogle_merchant_center.data_sources.patchData sources: patchwritegoogle_merchant_center.data_sources_file_uploads.getData sources file uploads: getread
LFP7
google_merchant_center.lfp_inventories.insertLfp inventories: insertwritegoogle_merchant_center.lfp_merchant_states.getLfp merchant states: getreadgoogle_merchant_center.lfp_sales.insertLfp sales: insertwritegoogle_merchant_center.lfp_stores.deleteLfp stores: deletedestructivegoogle_merchant_center.lfp_stores.getLfp stores: getreadgoogle_merchant_center.lfp_stores.insertLfp stores: insertwritegoogle_merchant_center.lfp_stores.listLfp stores: listread
Conversions6
google_merchant_center.conversion_sources.createConversion sources: createwritegoogle_merchant_center.conversion_sources.deleteConversion sources: deletedestructivegoogle_merchant_center.conversion_sources.getConversion sources: getreadgoogle_merchant_center.conversion_sources.listConversion sources: listreadgoogle_merchant_center.conversion_sources.patchConversion sources: patchwritegoogle_merchant_center.conversion_sources.undeleteConversion sources: undeletewrite
Inventories6
google_merchant_center.products_local_inventories.deleteProducts local inventories: deletedestructivegoogle_merchant_center.products_local_inventories.insertProducts local inventories: insertwritegoogle_merchant_center.products_local_inventories.listProducts local inventories: listreadgoogle_merchant_center.products_regional_inventories.deleteProducts regional inventories: deletedestructivegoogle_merchant_center.products_regional_inventories.insertProducts regional inventories: insertwritegoogle_merchant_center.products_regional_inventories.listProducts regional inventories: listread
Notifications5
google_merchant_center.notificationsubscriptions.createNotificationsubscriptions: createwritegoogle_merchant_center.notificationsubscriptions.deleteNotificationsubscriptions: deletedestructivegoogle_merchant_center.notificationsubscriptions.getNotificationsubscriptions: getreadgoogle_merchant_center.notificationsubscriptions.listNotificationsubscriptions: listreadgoogle_merchant_center.notificationsubscriptions.patchNotificationsubscriptions: patchwrite
Products5
google_merchant_center.product_inputs.deleteProduct inputs: deletedestructivegoogle_merchant_center.product_inputs.insertProduct inputs: insertwritegoogle_merchant_center.product_inputs.patchProduct inputs: patchwritegoogle_merchant_center.products.getProducts: getreadgoogle_merchant_center.products.listProducts: listread
Issueresolution4
google_merchant_center.aggregate_product_statuses.listAggregate product statuses: listreadgoogle_merchant_center.issue_resolution.renderaccountissuesIssueresolution: renderaccountissuesreadgoogle_merchant_center.issue_resolution.renderproductissuesIssueresolution: renderproductissuesreadgoogle_merchant_center.issue_resolution.triggeractionIssueresolution: triggeractionwrite
Promotions3
google_merchant_center.promotions.getPromotions: getreadgoogle_merchant_center.promotions.insertPromotions: insertwritegoogle_merchant_center.promotions.listPromotions: listread
Quota3
google_merchant_center.limits.getLimits: getreadgoogle_merchant_center.limits.listLimits: listreadgoogle_merchant_center.quotas.listQuotas: listread
Ordertracking1
google_merchant_center.order_tracking_signals.createOrder tracking signals: createwrite
Reports1
google_merchant_center.reports.searchReports: searchread
Questions
The Google Merchant API MCP server, answered.
Is there a Google Merchant API MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 132 Google Merchant API actions across accounts, reviews, datasources and LFP, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Google Merchant API.
What do I need to connect Google Merchant API?
Your own Google Merchant API OAuth app, registered with Google Merchant API (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Google Merchant API app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "google_merchant_center" } lists exactly what to paste.
Can an AI agent delete or change things in Google Merchant API?
Only if its key allows it, and only with an explicit confirmation. 18 Google Merchant API actions are destructive, including users: delete, accounts: delete and data sources: delete. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Google Merchant API API limit?
actionlake paces every call to the limits in the Google Merchant API service file: 600 calls a minute per connection. Repeated reads are answered from cache (61 Google Merchant API actions can be), which never reaches Google Merchant API.
What does a Google Merchant API action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (26 Google Merchant API actions page). Cache hits, searches, dry runs and calls Google Merchant API refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Google Merchant API API does it cover?
The Merchant API v1 sub-APIs + reviews v1beta (Discovery revision 20261021) at merchantapi.googleapis.com. It is built from Google Merchant API's documentation as read on 23 October 2026. 132 actions in 13 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Google Merchant API data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Google Merchant API credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Google Merchant API today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.