Google Analytics Mcp

io.github.surendranb由 GitHub 账号 surendranb 发布v2.11.7更新于 Nov 3, 2026

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

已验证STDIO仅桌面数据与分析商业与电商

概览

AI 生成的概览

本地 MCP 服务器,让助手发现 GA4 媒体资源的字段结构,并用正确的维度和指标名称运行 Google Analytics 4 报表。

可以做什么
  • 发现字段:按关键词搜索维度与指标、浏览维度与指标分类,或获取完整属性结构。
  • 查询数据:按日期范围和条数上限运行多维 GA4 报表,支持服务端聚合与总计。
  • 查看资源:列出当前凭据可访问的 GA4 媒体资源和账户。
  • 获取指引:检索分析技能与操作手册,以及针对配置、IAM 和字段错误的排障指南。
  • 修复配置:交互式处理缺失的属性 ID 或凭据问题,并检查是否有新版本。
适用场景
适合让助手基于 Google Analytics 4 回答网站或应用流量、渠道、转化和电商相关问题,并避免猜测在 Universal Analytics 停用后已变化的字段名。也适合按手册进行流量下滑诊断等分析。
运行要求
以 stdio 在本地运行,通常通过 uvx、npx 或 Python 模块启动。需要 GA4_PROPERTY_ID 提供媒体资源 ID,并通过 GOOGLE_APPLICATION_CREDENTIALS 指定 Google Cloud 服务账号 JSON 密钥文件路径,且该服务账号需被授予该资源的访问权限。需要访问 Google API 的网络连接。
安装前请注意
需要服务账号密钥文件,其路径由 GOOGLE_APPLICATION_CREDENTIALS 指定,应视为机密并仅授予只读 GA4 权限。服务器默认上报匿名诊断遥测,可通过 DO_NOT_TRACK 或 MCP_TELEMETRY_OPT_OUT 关闭。README 中部分工具会从 GitHub 加载技能,完整属性结构可能非常庞大。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Google Analytics Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[Google Analytics MCP Logo]

Google Analytics 4 (GA4) MCP Server 📊

Model Context Protocol (MCP) server for Google Analytics 4: real-time query exploration, schema discovery, metric aggregation, and audience insights for AI agents.

[CI] [PyPI version] [npm version] [OpenSSF Scorecard] [License: MIT]

🌐 Live Documentation & Web Portal: https://ga4mcp.com/


⚡ Quickstart

bash
# 1-Line Universal Installer (Auto-configures Claude Desktop, Cursor, Claude Code, Antigravity, VS Code, Zed, Windsurf)curl -fsSL "https://ga4.builditwithai.xyz/install" | bash
# Or run directly via your preferred runtime:uvx google-analytics-mcpuvx --from google-analytics-mcp ga4-mcp-serverpython -m ga4_mcpnpx -y @surendranb/google-analytics-mcp


🤖 Client Setup

A. Claude Code (CLI)

bash
claude mcp add google-analytics -- uvx google-analytics-mcp

B. Cursor & Google Antigravity (mcp.json)

json
{  "mcpServers": {    "google-analytics": {      "command": "uvx",      "args": ["google-analytics-mcp"]    }  }}

C. Claude Desktop (claude_desktop_config.json)

json
{  "mcpServers": {    "google-analytics": {      "command": "uvx",      "args": ["google-analytics-mcp"],      "env": {        "GA4_PROPERTY_ID": "your_ga4_property_id",        "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/service_account.json"      }    }  }}

D. VS Code (Cline / Roo Code / Continue)

json
{  "mcpServers": {    "google-analytics": {      "command": "npx",      "args": ["-y", "@surendranb/google-analytics-mcp"]    }  }}

🛠️ Tools & Capabilities

Tool NameParametersDescriptionReturn Type
get_ga4_datadimensions (list), metrics (list), date_ranges (list), limit (int)Runs multi-dimensional GA4 reports with automated metric totals and server-side aggregation.JSON / Markdown
list_accounts(none)Lists all accessible Google Analytics accounts and permission levels.JSON
list_propertiesaccount_id (optional)Lists all GA4 properties associated with an account.JSON
get_property_metadataproperty_id (optional)Fetches complete dimension and metric schemas, custom definitions, and compatibility rules.JSON
run_realtime_reportmetrics (list), dimensions (list)Queries real-time active users and event counts from the last 30 minutes.JSON
search_skillsquery (string)Searches built-in GA4 analytical playbooks (e-commerce, channel attribution, bot filtering).Markdown
skill_readskill_name (string)Dynamically loads procedural skills and analytical guides from GitHub.Markdown
skills_list(none)Lists all available live GA4 analytical skills.JSON

🧠 Dynamic Skills & Guided Playbooks

This server ships with built-in analytical recipes that load dynamically from GitHub:

  • traffic-diagnosis: Step-by-step root cause analysis for sudden traffic drops.
  • channel-acquisition: Best-practice channel grouping and attribution modeling.
  • ecommerce-analysis: Revenue, item purchase rate, and conversion funnel analysis.
  • ai-referral-analysis: Tracks and isolates referral traffic from ChatGPT, Claude, Perplexity, and Gemini.

🔒 Telemetry & Privacy

This package collects anonymous, non-PII diagnostic telemetry (command executions, latency, error codes) to improve tool reliability. No queries, user credentials, personal data, source code, or environment variables are ever collected or stored.

You can opt out anytime by setting either of the following environment variables:

bash
export DO_NOT_TRACK=1# orexport MCP_TELEMETRY_OPT_OUT=1

📄 License

MIT License. See LICENSE for details.

来源:README.md,提交 d8afdf5

工具

12

check_for_updates

Check PyPI for newer versions of this MCP server and get upgrade instructions.

无需输入参数。

list_properties

List all GA4 properties associated with an account.

输入参数account_id

search_schema

Search for a keyword across all dimensions and metrics for this property. Returns a ranked list of up to 10 matching fields scored by relevance. Returns: {"top_results": {"DIMENSION: api_name": score, "METRIC: api_name": score, ...}} Use this when you have a concept ("engagement", "revenue", "channel") and need exact API field names before calling get_ga4_data. Use list_dimension_categories or list_metric_categories instead if you want to browse all available fields without a specific keyword. Args: keyword: One or more keywords to search for (e.g., "user", "campaign revenue").

输入参数keyword必填

get_property_schema

Returns the complete schema for the configured GA4 property, including all available dimensions and metrics (standard and custom). Warning: This can be a very large object (10k+ tokens). Use search_schema for most discovery tasks.

无需输入参数。

list_dimension_categories

List all dimension categories for this GA4 property, with a count of dimensions in each category. Returns: {"dimension_categories": {"Category Name": count, ...}} Use this as the first step in dimension exploration — browse categories, then call get_dimensions_by_category with the name that fits your analysis. Use search_schema instead if you already have a keyword to search for.

无需输入参数。

list_metric_categories

List all metric categories for this GA4 property, with a count of metrics in each category. Returns: {"metric_categories": {"Category Name": count, ...}} Use this as the first step in metric exploration — browse categories, then call get_metrics_by_category with the name that fits your analysis. Use search_schema instead if you already have a keyword to search for.

无需输入参数。

get_dimensions_by_category

Return all dimensions in a specific category with their API names and descriptions. Returns: {"dimension_api_name": "description", ...} The category name must exactly match a value returned by list_dimension_categories. Use search_schema instead if you already have a keyword — it is faster and more targeted than browsing by category. Args: category: Exact category name from list_dimension_categories (case-insensitive).

输入参数category必填

get_metrics_by_category

Return all metrics in a specific category with their API names and descriptions. Returns: {"metric_api_name": "description", ...} The category name must exactly match a value returned by list_metric_categories. Use search_schema instead if you already have a keyword — it is faster and more targeted than browsing by category. Args: category: Exact category name from list_metric_categories (case-insensitive).

输入参数category必填

get_ga4_data

Retrieve GA4 data with built-in intelligence for better and safer results. Returns on success: {"data": [...], "metadata": {...}, "_skills_tip": "..."}. For multi-row pulls (a time series like ['date'], or any breakdown) the result also carries "totals": {metric: value} — GA4 server-side aggregates across all rows. Read the period figure from "totals"; do NOT sum the rows yourself. (Additive metrics sum; rate metrics are period-computed by GA4.) Returns on volume warning: {"warning": "...", "estimated_rows": N, "suggestions": [...]} Returns on error: {"error": "..."} CRITICAL WORKFLOW — follow this sequence every time: 1. DISCOVER FIELDS: NEVER guess dimension or metric names. Call `search_schema`, `list_dimension_categories`, or `list_metric_categories` FIRST to verify exact API names for this property. Guessing costs you a failed round-trip. 2. DISCOVER PATTERN: For any domain-specific analysis, call `search_skills('<topic>')` BEFORE querying to get the proven methodology — correct dimensions, metrics, filters, and how to interpret the result. One extra call prevents multiple failures. Use for: traffic diagnosis, attribution, ecommerce, channel acquisition, content performance, geo/device segmentation, AI referrals, bot detection. 3. RETRIEVE: Call get_ga4_data with the verified fields and the skill's pattern. 4. TROUBLESHOOT: On schema error, invalid field, or filter parse error — do NOT retry by guessing. Your training may predate current GA4 (UA was sunset 2023-07-01). Call `search_schema('<keyword>')` to find the current name in THIS property, or `search_skills('ua-to-ga4' | 'common-metric-names' | 'filter-structures')` for the mapping. FIELD NAMES — GA4 API names vs common wrong guesses: - 'screenPageViews' not 'uniquePageviews' or 'pageViews' - 'totalUsers' not 'users' - 'keyEvents'

输入参数limitintentmetricsdimensionsestimate_onlydate_range_enddate_range_startdimension_filterenable_aggregationproceed_with_large_dataset

get_troubleshooting_guide

Returns the troubleshooting/setup guide for a topic, served from inside the server (no network needed). Use whenever you hit a schema error, dimension_filter parse error, IAM / 403 authorization error, or a boot-time setup error. Args: topic: One of "setup", "iam", or "schema".

输入参数topic必填

search_skills

Fetch analytical recipes and how-to guides from the GA4 skills library. Skills are domain-specific playbooks for common GA4 analysis patterns — exact dimensions, metrics, filters, and interpretation logic for each use case. Call this BEFORE querying get_ga4_data for any domain-specific analysis. Available skills: gcp-setup, traffic-diagnosis, attribution-scope, channel-acquisition, content-performance, geo-device-segmentation, ecommerce-analysis, ai-referral-analysis, bot-traffic-detection, common-metric-names, filter-structures, custom-dimensions, compatible-combinations, ua-to-ga4, date-ranges, ga4-limitations. Usage: - search_skills("") → returns full index of all skills - search_skills("gcp-setup") → returns the GCP service-account setup playbook - search_skills("ecommerce") → returns the ecommerce-analysis skill - search_skills("ua-to-ga4") → returns the UA→GA4 field name mapping Args: query: A skill name (exact slug) or empty string to browse the full index.

输入参数query必填

setup_ga4_access

Interactively fix a broken GA4 MCP setup (missing property ID, missing or expired credentials, or missing GA4 access) by asking the user for the needed input through the client, then re-initializing without a restart. Call this whenever a configuration or authentication error is reported.

无需输入参数。

版本历史

2
  1. v2.11.7最新Oct 29, 2026
  2. v2.8.2Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分