google-ecommerce-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GSC_SITE_URL | No | Search Console site URL, e.g. sc-domain:example.com or https://www.example.com/. Used by the Search Console tools. Optional; if not set, Search Console tools answer not_configured. | |
| GA4_PROPERTY_ID | No | Numeric GA4 property id, e.g. 123456789. Used by the GA4 tools. Optional; if not set, GA4 tools answer not_configured. | |
| GTM_CONTAINER_ID | No | Google Tag Manager container id, e.g. GTM-XXXXXXX. Used by gtm_inventory. Optional; if not set, gtm_inventory answers not_configured. | |
| GOOGLE_TOKEN_FILE | No | Path to store the OAuth token in a file instead of the OS keyring, e.g. ~/.config/google-ecommerce-mcp/token.json. Optional. | |
| PAGESPEED_API_KEY | No | API key used by pagespeed. Optional; without it, the shared anonymous quota is used. | |
| MERCHANT_ACCOUNT_ID | No | Merchant Center account id, e.g. 1234567890. Used by the Merchant tools. Optional; if not set, Merchant tools answer not_configured. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server_statusA | Which Google services are configured for this server, and whether the stored OAuth token works. Call it first when another tool answers not_configured or not_authenticated. Returns one boolean per service, the token storage (os-keyring or file), "token": "ok" or the error, and the package version. |
| ga4_reportA | Run a Google Analytics 4 report (Data API runReport): traffic, conversions or revenue split by any dimensions over a date range. Returns the top rows ({"rows": [{dimension: value, metric: number}]}), "totals" over every row, "row_count" and "truncated", the unit and definition of each metric under "metrics", the currency, and a "date_range" resolved to calendar dates in the property's timezone with "data_complete". Use ga4_realtime for the last 30 minutes. |
| ga4_realtimeA | GA4 realtime report for the last 30 minutes. Useful to check a tracking change, for example that one page view is counted once and not twice. Returns {"rows": [...], "row_count": n, "totals": {...}, "metrics": {...}}. |
| ga4_propertiesA | GA4 accounts and properties the authorized Google account can read (Admin API accountSummaries), so the assistant can find a property id itself and pass it as property_id to ga4_report or ga4_realtime. Returns {"properties": [{property_id, property_name, property_type, account_id, account_name, configured}], "configured_property_id"}. Needs the Google Analytics Admin API enabled; no extra OAuth scope. |
| gsc_performanceA | Google Search Console search performance for the configured property: clicks, impressions, CTR and average position, split by query, page, country, device or date. Returns the top rows, "totals" for the whole period (same filter, no split), "truncated", the unit and definition of each metric under "metrics", and a "date_range" in Pacific Time (Search Console's timezone) with "data_complete". |
| gsc_inspect_urlA | Google index status of one URL (URL Inspection API): verdict, coverage state, user and Google-selected canonical, robots.txt state, page fetch state and last crawl time. Quota: 2,000 inspections per day. |
| gsc_sitemapsA | Sitemaps declared in Search Console, with last submission, last download, errors and warnings. |
| merchant_data_sourcesB | Merchant Center data sources (feeds): labels, countries, languages, fetch URLs. |
| merchant_product_issuesA | Merchant Center products with their item-level issues (disapprovals, demotions, warnings) per destination, with the attribute to fix. Scans every page of products up to max_pages. Returns {"products": [{offer_id, feed_label, title, link, issues: [{code, severity, description, attribute, destination}]}], "scanned": n, "truncated": bool}. |
| merchant_report_queryA | Run a Merchant Center report (Merchant API reports:search) with an MCQL query, for example product status or free-listing performance. Returns Google's raw result rows. |
| gtm_inventoryA | Tags (type, paused, firing triggers, parameters), triggers and variables of the configured Google Tag Manager container's default workspace, plus the id of the live published version. Built-in trigger ids are translated, e.g. All Pages. Useful to spot a tag configured twice. |
| indexing_statusA | Latest Indexing API notifications (URL_UPDATED / URL_DELETED) Google holds for a URL. Read only: nothing is submitted. Most URLs were never notified, which is reported as such. |
| pagespeedA | Lighthouse performance and SEO scores (0 to 100) plus LCP, CLS and TBT for a URL, and the Chrome UX Report field category when Google has real-user data. Set PAGESPEED_API_KEY to avoid the shared anonymous quota. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Almost every tool targets a distinct service+resource (ga4_report vs ga4_realtime vs ga4_properties; gsc_performance vs gsc_inspect_url vs gsc_sitemaps), and the descriptions reinforce the boundaries. The only mild overlap is between merchant_product_issues and merchant_report_query, since item-level product status could also be surfaced via an MCQL report, but the descriptions differentiate them adequately.
All names use snake_case, and service prefixes (ga4_, gsc_, merchant_, gtm_) are applied predictably to most tools. Minor deviations: server_status, indexing_status and pagespeed lack a service prefix, and a few names are noun-only while others are verb_noun, but the convention remains readable.
13 tools is well-scoped for covering six Google surfaces (Analytics 4, Search Console, Merchant Center, Tag Manager, Indexing, PageSpeed). Each tool maps to a concrete query or inspection and none feels redundant padding.
Read/audit coverage is strong across GA4, GSC, Merchant Center and GTM, with realtime, inspection, sitemaps and feed listings all present. The main gap is that the surface is entirely read-only: there is no way to submit URLs, sitemaps, or push GTM changes, which limits remediation workflows (though some of this appears intentional).