Google E-commerce (GA4, Search Console, Merchant Center)

io.github.MoonEyesv0.1.4Updated Oct 4, 2026

Read-only GA4, Search Console, Merchant Center, Tag Manager, Indexing and PageSpeed for shops.

Overview

AI-generated overview

Read-only access to Google Analytics 4, Search Console, Merchant Center, Tag Manager, Indexing and PageSpeed data for an online shop.

What it does
Exposes read-only tools over six Google services used by e-commerce sites. Tools include ga4_report and ga4_realtime for traffic, revenue and live activity; gsc_performance, gsc_inspect_url and gsc_sitemaps for search clicks, indexing and sitemaps; merchant_data_sources, merchant_product_issues and merchant_report_query for feeds and disapprovals; plus gtm_inventory, indexing_status and pagespeed. A server_status tool reports which services are configured and whether the token works.
When to use it
Useful when you want an assistant to answer questions about your own shop's Google data, such as organic traffic, disapproved Merchant Center products, or whether GA4 is loaded twice on a page. It suits shop owners who check these services regularly and want one server instead of several.
Requirements
Runs locally over stdio, installed from PyPI with uvx or pip. Needs a Google Cloud project with the relevant APIs enabled and an OAuth desktop client JSON; the browser consent flow stores a token in the OS keyring. Optional environment variables name the property, site, account and container: GA4_PROPERTY_ID, GSC_SITE_URL, MERCHANT_ACCOUNT_ID, GTM_CONTAINER_ID, plus PAGESPEED_API_KEY and GOOGLE_TOKEN_FILE. One property, site, account and container per instance.
Before you install
The OAuth token is sensitive: scopes are read-only except Merchant Center (content) and Indexing API (indexing), which have no read-only equivalent, so remove those scopes if unused. PAGESPEED_API_KEY is an optional secret. The server is documented as never calling write endpoints, but it reads your Google account data and sends requests directly to Google. Revoke access from your Google account at any time.

Installation

In SourceWeft

  1. Open Google E-commerce (GA4, Search Console, Merchant Center) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

google-ecommerce-mcp

One read-only MCP server for the Google services an online shop lives on: GA4, Search Console, Merchant Center, Tag Manager, Indexing API and PageSpeed.

Ask your AI assistant "how much organic traffic did we get this month?", "which products are disapproved in Merchant Center?" or "is GA4 loaded twice on my site?" and it answers from your own Google accounts.

Built by MoonEyes, a small French shop selling 3D-printed tabletop terrain, because no existing MCP server covered GA4, Search Console and Merchant Center together.

[tests] [license] [python] [PyPI] [MCP Registry]

[Architecture overview]

Documentation

PageWhat is in it
ArchitectureComponents, a tool call step by step, design choices, sequence diagrams
Tool referenceEvery tool: parameters, output, example questions
Google Cloud setupOAuth client, APIs to enable, where to find each id
Security modelScopes, token storage, threats, how to revoke
TroubleshootingEvery error we have met and its fix
Example promptsQuestions that work well, by use case
Client configsClaude Desktop (one or two shops), Claude Code

Why this one

  • All-in-one for e-commerce. Other MCP servers cover one or two of these services. This one covers the six a shop owner checks every week.
  • Read-only by design. No tool creates, updates, publishes or deletes anything. A test enforces it.
  • Token in your OS keyring. The OAuth token goes to Windows Credential Manager, macOS Keychain or Secret Service, not to a plain file (a file is still possible if you prefer).
  • No third party. Requests go straight from your machine to Google.

Tools

ToolServiceWhat it answers
server_statusAllWhich services are configured, does the token work
ga4_reportGA4Any report: channels, landing pages, purchases, revenue, by period
ga4_realtimeGA4Last 30 minutes, e.g. to check a page view is counted once
gsc_performanceSearch ConsoleClicks, impressions, CTR, position by query, page, country, device, date
gsc_inspect_urlSearch ConsoleIs this URL indexed, which canonical did Google pick, last crawl
gsc_sitemapsSearch ConsoleDeclared sitemaps, last download, errors
merchant_data_sourcesMerchant CenterFeeds, labels, countries, fetch URLs
merchant_product_issuesMerchant CenterProducts with disapprovals or warnings, all pages
merchant_report_queryMerchant CenterAny Merchant Query Language report
gtm_inventoryTag ManagerTags, triggers, variables, live version
indexing_statusIndexing APIWhat Google knows about a submitted URL
pagespeedPageSpeed InsightsLighthouse performance and SEO scores, Core Web Vitals

Quick install

Create your Google OAuth client first (step 1 below), then run one line. The installer installs uv if needed, asks your ids, opens the Google consent screen and adds the server to Claude Desktop (your previous config is backed up).

Windows (PowerShell):

powershell
irm https://raw.githubusercontent.com/MoonEyes/google-ecommerce-mcp/main/install.ps1 | iex

macOS / Linux:

bash
curl -LsSf https://raw.githubusercontent.com/MoonEyes/google-ecommerce-mcp/main/install.sh | sh

Then quit Claude Desktop completely and reopen it. Prefer to read a script before running it? Download it, read it, then run it with options, for example .\install.ps1 --ga4 123456789 --gsc sc-domain:example.com --client-secret client_secret.json. Run google-ecommerce-mcp install --help for every option.

Setup, step by step

If you used the quick install, you only need step 1. The steps below are the manual path.

1. Google Cloud (once, about 10 minutes)

Full walkthrough with every click explained: docs/SETUP-GOOGLE-CLOUD.md. Short version:

  1. In Google Cloud Console, create or pick a project.
  2. Enable the APIs you need: Google Analytics Data API, Google Search Console API, Merchant API, Tag Manager API, Web Search Indexing API, PageSpeed Insights API.
  3. Configure the OAuth consent screen (External, add yourself as a test user).
  4. Create an OAuth client of type Desktop app and download its JSON file.
  5. Merchant API only: register your Cloud project with your Merchant Center account.
  6. Optional: create an API key restricted to PageSpeed Insights (the anonymous quota is shared and often exhausted).

2. Install and authorize

bash
# with uv (recommended): nothing to install, uvx fetches the package from PyPIuvx google-ecommerce-mcp setup --client-secret path/to/client_secret.json
# or with pippip install google-ecommerce-mcpgoogle-ecommerce-mcp setup --client-secret path/to/client_secret.json

Latest development version: uvx --from git+https://github.com/MoonEyes/google-ecommerce-mcp google-ecommerce-mcp.

Your browser opens the Google consent screen. The token is then stored in your OS keyring. Check everything with google-ecommerce-mcp check.

3. Add it to your MCP client

Claude Desktop (claude_desktop_config.json):

json
{  "mcpServers": {    "google-ecommerce": {      "command": "uvx",      "args": ["google-ecommerce-mcp"],      "env": {        "GA4_PROPERTY_ID": "123456789",        "GSC_SITE_URL": "sc-domain:example.com",        "MERCHANT_ACCOUNT_ID": "1234567890",        "GTM_CONTAINER_ID": "GTM-XXXXXXX",        "PAGESPEED_API_KEY": ""      }    }  }}

Claude Code:

bash
claude mcp add google-ecommerce -e GA4_PROPERTY_ID=123456789 -e GSC_SITE_URL=sc-domain:example.com \  -e MERCHANT_ACCOUNT_ID=1234567890 -e GTM_CONTAINER_ID=GTM-XXXXXXX \  -- uvx google-ecommerce-mcp

Every variable is optional: a tool for a service you did not configure simply answers not_configured.

VariableExampleUsed by
GA4_PROPERTY_ID123456789 (numeric property id)GA4 tools
GSC_SITE_URLsc-domain:example.com or https://www.example.com/Search Console tools
MERCHANT_ACCOUNT_ID1234567890Merchant tools
GTM_CONTAINER_IDGTM-XXXXXXXgtm_inventory
PAGESPEED_API_KEYAPI keypagespeed
GOOGLE_TOKEN_FILE~/.config/google-ecommerce-mcp/token.jsonstore the token in a file instead of the keyring

How a call works

[Sequence of one tool call]

Security notes

Details: docs/SECURITY.md.

  • The server never calls a write endpoint (no Tag Manager publish, no feed upload, no sitemap submission). tests/test_server.py::test_every_call_is_read_only checks every outgoing call.
  • Scopes are read-only except Merchant Center (content) and Indexing API (indexing): Google has no read-only scope for these. The server does not use them to write, but treat the token as sensitive, or remove those scopes if you do not need the services.
  • Revoke access at any time from your Google account permissions.

Limitations

  • The Merchant API is recent and Google keeps changing it; the older Content API for Shopping is being shut down. Open an issue if a call breaks.
  • One property, site, Merchant account and container per server instance. Run several instances for several shops.
  • GA4 Data API quotas apply to ga4_report.

Contributing

See CONTRIBUTING.md. Security reports: SECURITY.md.

Development

bash
pip install -e ".[dev]"pytest

Tests run offline with a fake HTTP session; no Google account needed.

License

MIT, see LICENSE.

Source: README.md at commit 28afc2d

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.1.4LatestOct 4, 2026