MCP Ecommerce

Installation guide

How to install gmc-mcp (Google Merchant Center)

In Claude, ChatGPT, Gemini, Microsoft Copilot, Perplexity, Cursor and Claude Code, with what to check before you start and the first prompts to run.

gmc-mcp is a community-built, MIT-licensed server that you install and run yourself with `pip install gmc-mcp`. It wraps Google's Merchant API v1 and authenticates with a Google Cloud service account JSON key, so there is no vendor-hosted endpoint and no sign-in screen. Google does not publish its own Merchant Center MCP server. The project is small, so review the code before pointing it at a live feed.

This is best done by a developer or technical marketer who has access to the Google Cloud project and a Merchant Center account where they can manage users. The service account needs Admin access in Merchant Center according to the documentation, so use a test account first if you have one. Start with `GMC_DRY_RUN` set to `true` so writes are only recorded in the audit log, and use read-only prompts until you trust the setup.

gmc-mcp (Google Merchant Center) setup guide: Community's MCP documentation page on github.com, shown in a browser frame (advertising MCP server for e-commerce)
gmc-mcp (Google Merchant Center) setup guide preview: Community’s documentation on github.com, captured Oct 13, 2026. The page may have changed since; the link opens the live version.

Before you start

  • Python and pip on the machine that will run the server.
  • A Google Cloud project with the Merchant API enabled, plus a service account and a downloaded JSON key stored outside any shared folder.
  • A Merchant Center user who can open Account access and add the service account email with Admin access, and your 10-digit Merchant Center ID.
  • A developer email address for the one-time gmc-mcp register-gcp command.
  • Ideally a Merchant Center test account, since the server can write to products, inventory, promotions and account settings.
How it runs
Local, runs on your machine
Access
Read and write
Server address
Copy it from the vendor documentation

gmc-mcp (Google Merchant Center) in Claude

  1. Install the server with pip install gmc-mcp on the machine that runs Claude Desktop.
  2. In Google Cloud, enable the Merchant API, create a service account (the docs name it gmc-mcp) and download a JSON key. In Merchant Center, go to Account access, add the service account email and grant Admin. Note the 10-digit ID.
  3. Copy .env.example to .env, set GMC_ACCOUNT_ID and GMC_SERVICE_ACCOUNT_KEY, then run gmc-mcp register-gcp --developer-email you@example.com once. Confirm the setup with gmc-mcp describe and python examples/quickstart.py.
  4. Open claude_desktop_config.json (the docs give %APPDATA%/Claude/claude_desktop_config.json for Windows) and add the gmc entry from the snippet, using your own ID and absolute key path. Keep GMC_DRY_RUN as true while testing.
  5. Fully restart Claude Desktop. The local command works in the desktop app. The Claude.ai web connector flow expects a remote URL, and the docs do not cover it.
  6. Ask "What account am I connected to?" It should call gmc_describe_server.
claude_desktop_config.json
{
  "mcpServers": {
    "gmc": {
      "command": "gmc-mcp",
      "args": [
        "run"
      ],
      "env": {
        "GMC_ACCOUNT_ID": "1234567890",
        "GMC_SERVICE_ACCOUNT_KEY": "/abs/path/to/service-account.json",
        "GMC_DRY_RUN": "true"
      }
    }
  }
}

gmc-mcp (Google Merchant Center) in ChatGPT

  1. The documentation does not cover ChatGPT. ChatGPT connectors in Developer mode need a remote MCP server URL, and gmc-mcp runs locally over stdio by default.
  2. The docs describe an SSE mode (gmc-mcp run --transport sse --port 8000) and a Docker image built from the repository Dockerfile. They do not give a public URL or any hosting guidance.
  3. If you host the SSE transport yourself, you are responsible for HTTPS and access control. Nothing in the docs describes authentication on that endpoint, so do not expose a server that holds Admin credentials publicly.
  4. In ChatGPT, enable Developer mode and add a custom MCP connector using your own server URL, following OpenAI's current instructions.
  5. For a simpler setup, use Claude Desktop, Claude Code or Cursor with the local stdio command.

gmc-mcp (Google Merchant Center) in Gemini

  1. The documentation does not cover Gemini. Gemini CLI can start local servers through mcpServers in its settings file, so the same command should apply.
  2. Complete the Google Cloud, Merchant Center, .env and gmc-mcp register-gcp steps first, and check gmc-mcp describe works in your terminal.
  3. Open your Gemini CLI settings file and add the gmc entry from the snippet, using your ID and absolute key path.
  4. Keep GMC_DRY_RUN as true while testing.
  5. Restart Gemini CLI and ask which Merchant Center account it is connected to. It should call gmc_describe_server.
Gemini CLI settings (mcpServers)
{
  "mcpServers": {
    "gmc": {
      "command": "gmc-mcp",
      "args": [
        "run"
      ],
      "env": {
        "GMC_ACCOUNT_ID": "1234567890",
        "GMC_SERVICE_ACCOUNT_KEY": "/abs/path/to/service-account.json",
        "GMC_DRY_RUN": "true"
      }
    }
  }
}

gmc-mcp (Google Merchant Center) in Microsoft Copilot

  1. The documentation does not cover Copilot. GitHub Copilot in VS Code can run a local command from .vscode/mcp.json, which suits gmc-mcp.
  2. Complete the Google Cloud, Merchant Center, .env and gmc-mcp register-gcp steps first, and check gmc-mcp describe works in your terminal.
  3. Create or edit .vscode/mcp.json and add the gmc entry from the snippet. Keep the key file path outside the repository so it is never committed.
  4. Keep GMC_DRY_RUN as true while testing, then start the server from the MCP controls in VS Code and use Copilot Chat in agent mode.
  5. Microsoft Copilot Studio expects a remote MCP endpoint. The docs give no public URL for this server, so it is not a straightforward fit.
.vscode/mcp.json
{
  "servers": {
    "gmc": {
      "command": "gmc-mcp",
      "args": [
        "run"
      ],
      "env": {
        "GMC_ACCOUNT_ID": "1234567890",
        "GMC_SERVICE_ACCOUNT_KEY": "/abs/path/to/service-account.json",
        "GMC_DRY_RUN": "true"
      }
    }
  }
}

gmc-mcp (Google Merchant Center) in Perplexity

  1. The documentation does not cover Perplexity. Perplexity connectors are generally added by remote URL, and gmc-mcp runs locally over stdio by default.
  2. Check Perplexity's current documentation for whether the desktop app can start a local command-based MCP server on your operating system.
  3. If it can, complete the Google Cloud, Merchant Center, .env and gmc-mcp register-gcp steps first. Then enter the command gmc-mcp with the argument run.
  4. Provide GMC_ACCOUNT_ID, GMC_SERVICE_ACCOUNT_KEY and GMC_DRY_RUN=true as environment variables in the connector settings.
  5. If only remote URLs are accepted, use a client that supports local servers instead. The docs do not give a hosted URL.

gmc-mcp (Google Merchant Center) in Cursor

  1. Install the server with pip install gmc-mcp, then complete the Google Cloud, Merchant Center and .env steps.
  2. Run gmc-mcp register-gcp --developer-email you@example.com once, then confirm with gmc-mcp describe.
  3. Open Cursor's MCP settings and edit the MCP config JSON (a global file or a project .cursor file, as you prefer).
  4. Add the gmc entry from the snippet with your account ID and absolute key path. Keep GMC_DRY_RUN as true while testing. The docs do not cover Cursor, so this uses the standard format.
  5. Reload Cursor, confirm gmc shows as connected in the MCP settings, then ask which account you are connected to.
Cursor MCP config (mcpServers)
{
  "mcpServers": {
    "gmc": {
      "command": "gmc-mcp",
      "args": [
        "run"
      ],
      "env": {
        "GMC_ACCOUNT_ID": "1234567890",
        "GMC_SERVICE_ACCOUNT_KEY": "/abs/path/to/service-account.json",
        "GMC_DRY_RUN": "true"
      }
    }
  }
}

gmc-mcp (Google Merchant Center) in Claude Code

  1. Install the server with pip install gmc-mcp, then complete the Google Cloud, Merchant Center and .env steps.
  2. Run gmc-mcp register-gcp --developer-email you@example.com once, then gmc-mcp describe and python examples/quickstart.py to confirm one read call works.
  3. Export GMC_ACCOUNT_ID, GMC_SERVICE_ACCOUNT_KEY and GMC_DRY_RUN in your shell, then register the server with claude mcp add gmc -- gmc-mcp run.
  4. Alternatively, use the JSON block from the documentation in ~/.claude/settings.json with the same mcpServers entry and an env section.
  5. Start Claude Code and ask "What account am I connected to?" It should call gmc_describe_server.
Terminal
export GMC_ACCOUNT_ID=1234567890
export GMC_SERVICE_ACCOUNT_KEY=/abs/path/to/service-account.json
export GMC_DRY_RUN=true
claude mcp add gmc -- gmc-mcp run

Check that it works

Start with questions that only read data. If these answer from your real account, the connection is good.

  • What account am I connected to? (it should call `gmc_describe_server`)
  • List my disapproved products and group them by issue code.
  • Show me my last 5 GMC writes. (it should call `gmc_audit_tail`, and the list will be empty if nothing has been written yet)

Troubleshooting

+Why do Merchant API calls fail right after setup?

The documentation says a one-time registration is required before any v1 Merchant API call works for a new project. Run `gmc-mcp register-gcp --developer-email you@example.com` with your own email. Also confirm the Merchant API is enabled in the Google Cloud project that issued the service account key.

+Why do I get permission or access errors from Merchant Center?

Check that the service account email is added under Account access in Merchant Center with Admin access, as the docs require. Confirm `GMC_ACCOUNT_ID` is the 10-digit ID of the right account, and that `GMC_SERVICE_ACCOUNT_KEY` is an absolute path to the JSON key. Run `gmc-mcp describe` to see the resolved config.

+Why does my client not list the server or fail to start it?

The client launches `gmc-mcp` itself, so it must be on that client's PATH. Run `which gmc-mcp` (or `where gmc-mcp` on Windows) and use the full path in `command` if needed. Check the JSON is valid, then restart the client fully. Set `GMC_LOG_LEVEL` to `DEBUG` for more detail.

Written Oct 13, 2026 from the vendor documentation. Exact menus, addresses and commands change; the official documentation is the source of truth.