Google Analytics MCP服务器

一个基于FastMCP的Google Analytics 4 API集成服务器,提供自动OAuth 2.0认证、令牌刷新和全面的报告分析功能。

  • by gomarble-ai
  • Python
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 gomarble-ai/google-analytics-mcp-server

使用说明

谷歌分析MCP服务器📊

用于Google Analytics 4 API与自动OAuth 2.0身份验证集成的FastMCP支持的模型上下文协议服务器

通过无缝的OAuth 2.0身份验证、自动令牌刷新、全面的报告和分析功能,将Google Analytics 4数据直接连接到Claude Desktop和其他MCP客户端。

🌟 开源和社区

GoMarble AI开源项目

查看我们的其他开源贡献 GoMarble AI GitHub:

  • 分析工具 -高级分析和报告解决方案
  • 人工智能集成 -将人工智能与营销平台集成的工具
  • MCP服务器 -其他模型上下文协议实现
  • 营销自动化 -开源营销自动化工具

加入我们的社区

在广告中使用人工智能与其他开发人员和营销人员联系:

加入我们的Slack社区-广告中的人工智能

  • 💬 讨论 人工智能在广告中的应用
  • 🤝 分享 您的项目并获得反馈
  • 📚 学习 来自行业专家
  • 🚀 合作 关于开源项目
  • 🔧 得到帮助 技术实施

🚀 尝试我们的一键集成

跳过手动设置,立即开始:

一键式MCP集成 -在几秒钟内将Google Analytics和其他工具连接到Claude Desktop

  • ⚡ 即时设置 -无需手动配置
  • 🔐 安全认证 -内置OAuth处理
  • 📊 多重集成 -谷歌分析、谷歌广告、元广告等
  • 📖 文档 -完整的集成指南,请访问 gomarble.ai/docs

✨ 特性

  • 🔐 自动OAuth 2.0 -具有自动刷新功能的一次性浏览器身份验证
  • 🔄 智能令牌管理 -自动处理过期的令牌
  • 📊 综合报告 -访问所有GA4指标和维度
  • 🏢 物业管理 -列出并管理Google Analytics属性
  • 📈 高级分析 -页面浏览量、用户、事件、流量来源等
  • 🚀 FastMCP框架 -基于现代MCP标准构建
  • 🖥️ 克劳德桌面就绪 -与Claude Desktop直接集成
  • 🛡️ 安全的本地存储 -令牌存储在本地,从不公开

📋 可用工具

工具 说明 参数 示例用法
list_properties 列出所有GA4帐户和属性 account_id (可选) “列出我的所有谷歌分析属性”
get_page_views 获取页面浏览量指标 property_id, start_date, end_date, dimensions (可选) “显示上个月的页面浏览量”
get_active_users 获取活跃用户指标 property_id, start_date, end_date, dimensions (可选) “按天获取上周的活跃用户”
get_events 获取事件指标 property_id, start_date, end_date, dimensions (可选) “显示属性123456789的事件数据”
get_traffic_sources 获取流量源数据 property_id, start_date, end_date, dimensions (可选) “分析过去30天的流量来源”
get_device_metrics 获取基于设备的指标 property_id, start_date, end_date, dimensions (可选) “显示上个月的设备明细”
run_report 全面的自定义报告 property_id, start_date, end_date, metrics, dimensions、过滤器等。 “按国家创建包含会话和转换的自定义报告”

注: 所有工具都自动处理身份验证-不需要令牌参数!

🚀 快速开始

先决条件

在设置MCP服务器之前,您需要:

  • 已安装Python 3.10+
  • Google Cloud Platform帐户
  • 具有数据访问功能的Google Analytics 4属性

🔧 第一步:谷歌云平台设置

1.1创建谷歌云项目

  1. 首选 谷歌云控制台
  2. 创建新项目:
    • 点击“选择项目”→ “新项目”
    • 输入项目名称(例如,“谷歌分析MCP”)
    • 点击“创建”

1.2启用谷歌分析API

  1. 在您的Google Cloud控制台中:
    • 转到“API和服务”→ “图书馆”
    • 搜索“Google Analytics Data API”并启用它

1.3创建OAuth 2.0凭据

  1. 转到“API和服务”→ “凭据”
  2. 点击“+创建信用卡”→ “OAuth 2.0客户端ID”
  3. 配置同意屏幕(如果是第一次):
    • 点击“配置同意屏幕”
    • 选择“外部”(除非您有谷歌工作区)
    • 填写必填字段:
      • 应用程序名称:“谷歌分析MCP”
      • 用户支持电子邮件:您的电子邮件
      • 开发者联系人:您的电子邮件
    • 添加作用域:
      • https://www.googleapis.com/auth/analytics
      • https://www.googleapis.com/auth/analytics.readonly
    • 在所有步骤中单击“保存并继续”
  4. 创建OAuth客户端:
    • 应用程序类型: “桌面应用程序”
    • 名称:“谷歌分析MCP客户端”
    • 点击“创建”
  5. 下载凭据:
    • 点击“下载JSON”按钮
    • 文件另存为 client_secret_[long-string].json 在您的项目目录中

🔧 第二步:谷歌分析访问

2.1确保分析访问

  1. 登录到…… 谷歌分析
  2. 验证您是否有权访问GA4属性
  3. 记下您的房产ID (在GA4管理员中找到→ 属性设置)
  4. 确保您的Google帐户至少具有查看器访问权限 到要查询的属性

🔧 步骤3:安装和设置

3.1克隆和安装

# Clone the repository
git clone https://github.com/yourusername/google-analytics-mcp-server.git
cd google-analytics-mcp-server

# Create virtual environment (recommended)
python3 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

3.2环境配置

创建一个 .env 项目目录中的文件:

# Copy the example file
cp .env.example .env

编辑 .env 使用您的凭据:

# Required: Path to OAuth credentials JSON file (downloaded from Google Cloud)
GOOGLE_ANALYTICS_OAUTH_CONFIG_PATH=/full/path/to/your/client_secret_file.json

示例 .env 文件:

GOOGLE_ANALYTICS_OAUTH_CONFIG_PATH=/Users/john/google-analytics-mcp/client_secret_138737274875-abc123.apps.googleusercontent.com.json

🖥️ 步骤4:克劳德桌面集成

4.1定位克劳德配置

查找您的Claude Desktop配置文件:

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

窗户:

%APPDATA%\Claude\claude_desktop_config.json

4.2添加MCP服务器配置

编辑配置文件并添加您的Google Analytics MCP服务器:

{
  "mcpServers": {
    "google-analytics": {
      "command": "/full/path/to/your/project/.venv/bin/python",
      "args": [
        "/full/path/to/your/project/server.py"
      ]
    }
  }
}

真实示例:

{
  "mcpServers": {
    "google-analytics": {
      "command": "/Users/marble-dev-01/workspace/google_analytics_mcp/.venv/bin/python",
      "args": [
        "/Users/marble-dev-01/workspace/google_analytics_mcp/server.py"
      ]
    }
  }
}

重要提示:

  • 使用 绝对路径 适用于所有文件位置
  • 在Windows上,使用正斜杠 / 或双反睫毛 \\ 在路径

4.3重新启动克劳德桌面

关闭并重新启动Claude Desktop以加载新配置。

🔐 步骤5:首次身份验证

5.1触发OAuth流

  1. 打开克劳德桌面
  2. 尝试任何谷歌分析命令例如:
    "List all my Google Analytics properties"
    

5.2完整身份验证

  1. 浏览器自动打开 转到Google OAuth页面
  2. 登录 使用您的Google帐户(具有Analytics访问权限的帐户)
  3. 授予权限 点击“允许”
  4. 浏览器显示成功页面
  5. 回到克劳德 -您的命令将自动完成!

5.3验证设置

身份验证后,您应该看到:

  • A. google_analytics_token.json 在项目目录中创建的文件
  • Claude的回复中列出了您的Google Analytics属性

📖 使用示例

物业管理

"List all my Google Analytics properties"

"Show me properties for account 123456789"

"What GA4 properties do I have access to?"

页面浏览分析

"Get page views for property 421301275 from 2025-01-01 to 2025-01-31"

"Show me top pages by page views for last month for property 421301275"

"Analyze page performance by country for property 421301275"

用户分析

"Get active users for property 421301275 in the last 7 days"

"Show me user metrics by device category for property 421301275"

"Compare new vs returning users for last month"

交通源分析

"Analyze traffic sources for property 421301275 from 2025-01-01 to 2025-01-31"

"Show me which channels drive the most users to my site"

"Compare organic vs paid traffic performance"

事件跟踪

"Get events data for property 421301275 in the last 30 days"

"Show me conversion events by source/medium"

"Which events are most popular on my site?"

自定义报告

"Create a report for property 421301275 with sessions, users, and page views by country from 2025-01-01 to 2025-01-31"

"Run a custom report showing bounce rate and engagement rate by device category"

"Generate a comprehensive traffic report with sessions, conversions, and revenue by source/medium"

🔍 GA4高级示例

按国家划分的会话和用户

run_report(
    property_id="421301275",
    start_date="2025-01-01",
    end_date="2025-01-31",
    metrics=["sessions", "totalUsers", "screenPageViews"],
    dimensions=["country"],
    limit=20
)

设备性能分析

run_report(
    property_id="421301275",
    start_date="2025-01-01",
    end_date="2025-01-31",
    metrics=["sessions", "bounceRate", "engagementRate"],
    dimensions=["deviceCategory", "operatingSystem"],
    limit=50
)

具有转换的流量来源

run_report(
    property_id="421301275",
    start_date="2025-01-01",
    end_date="2025-01-31",
    metrics=["sessions", "conversions", "totalRevenue"],
    dimensions=["source", "medium", "campaignName"],
    limit=100
)

每日趋势分析

run_report(
    property_id="421301275",
    start_date="2025-01-01",
    end_date="2025-01-31",
    metrics=["sessions", "activeUsers", "screenPageViews"],
    dimensions=["date"],
    limit=31
)

📁 项目结构

google-analytics-mcp-server/
├── server.py                              # Main MCP server
├── oauth/
│   ├── __init__.py                        # Package initialization
│   └── google_auth.py                     # OAuth authentication logic
├── google_analytics_token.json            # Auto-generated token storage (gitignored)
├── client_secret_[long-string].json       # Your OAuth credentials (gitignored)
├── .env                                   # Environment variables (gitignored)
├── .env.example                           # Environment template
├── .gitignore                             # Git ignore file
├── requirements.txt                       # Python dependencies
├── LICENSE                                # MIT License
└── README.md                              # This file

🔒 安全与最佳实践

文件安全性

  • ✅ 凭证文件被忽略 -从未致力于版本控制
  • ✅ 本地令牌存储 -代币存储在 google_analytics_token.json 本地
  • ✅ 环境变量 -敏感数据 .env 文件
  • ✅ 自动刷新 -最小令牌暴露时间

推荐的文件权限

# Set secure permissions for sensitive files
chmod 600 .env
chmod 600 google_analytics_token.json
chmod 600 client_secret_*.json

生产注意事项

  1. 使用环境变量 而不是 .env 生产中的文件
  2. 实施速率限制 遵守API配额
  3. 监控API使用情况 在谷歌云控制台中
  4. 安全令牌存储 有适当的访问控制
  5. 定期代币轮换 增强安全性

🛠️ 故障排除

身份验证问题

问题 症状 解决方案
未找到令牌 “正在启动OAuth流”消息 ✅ 首次设置正常-完成浏览器身份验证
令牌刷新失败 “刷新令牌失败”错误 ✅ 删除 google_analytics_token.json 并重新验证
OAuth流失败 浏览器错误或无响应 检查凭据文件路径和互联网连接
权限不足 浏览器中“拒绝访问” 确保Google帐户具有分析访问权限

配置问题

问题 症状 解决方案
缺少环境变量 “未设置环境变量” 检查 .env 文件和Claude配置 env 部分
文件未找到 “FileNotFoundError” 验证配置中的绝对路径
模块导入错误 “ModuleNotFoundError” 运行 pip install -r requirements.txt
Python路径问题 “找不到命令” 使用Python可执行文件的绝对路径

Claude桌面问题

问题 症状 解决方案
服务器未连接 没有可用的Google Analytics工具 重新启动Claude Desktop,检查配置文件语法
JSON配置无效 Claude启动错误 验证配置文件中的JSON语法
权限错误 启动时“权限被拒绝” 检查文件权限和路径

API问题

问题 症状 解决方案
属性ID无效 “找不到属性” 使用数字格式: 421301275
超过API配额 “超出配额”错误 等待配额重置或请求增加
日期格式无效 “无效日期” 使用YYYY-MM-DD格式: 2025-01-31
未返回数据 空结果 检查日期范围和属性访问

调试模式

启用详细日志以进行故障排除:

# Add to server.py for debugging
import logging
logging.basicConfig(level=logging.DEBUG)

🚀 高级配置

HTTP传输模式

对于web部署或远程访问:

# Start server in HTTP mode
python3 server.py --http

HTTP的Claude桌面配置:

{
  "mcpServers": {
    "google-analytics": {
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

自定义令牌存储

修改中的令牌存储位置 oauth/google_auth.py:

# Custom token file location
def get_token_path():
    return "/custom/secure/path/google_analytics_token.json"

🤝 贡献

我们欢迎捐款!以下是如何开始:

开发设置

# Fork and clone the repository
git clone https://github.com/yourusername/google-analytics-mcp-server.git
cd google-analytics-mcp-server

# Create development environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Set up development environment
cp .env.example .env
# Add your development credentials to .env

进行更改

  1. 创建要素分支: git checkout -b feature/amazing-feature
  2. 进行更改 通过适当的测试
  3. 彻底测试 具有不同的属性配置
  4. 更新文档 根据需要
  5. 提交更改: git commit -m 'Add amazing feature'
  6. 推送到分支: git push origin feature/amazing-feature
  7. 打开拉取请求 附有详细说明

📊 API限制和配额

Google Analytics API配额

  • 核心报告API: 每个项目每天100000个请求
  • 实时API: 每个项目每天10000个请求
  • 请求速率: 每个项目每秒10个查询

API使用的最佳实践

  1. 缓存结果 尽可能减少API调用
  2. 使用适当的日期范围 限制数据量
  3. 批量请求 支持时
  4. 监控使用情况 在谷歌云控制台中
  5. 实现重试逻辑 速率限制错误

配额管理

# Monitor usage in Google Cloud Console
# Go to APIs & Services → Quotas
# Search for "Google Analytics" to see current usage

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。


MIT许可证

Copyright (c) 2025 Google Analytics MCP Server Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

📈 路线图

即将推出的功能

  • 🔄 增强的实时分析 使用流数据
  • 📊 内置数据可视化 有图表和图形
  • 🤖 人工智能驱动的洞察力 异常检测
  • 📝 自定义仪表板创建 工具
  • 🔍 高级细分 能力
  • 🌐 多属性报告

由以下材料制成❤️ 对于MCP社区

将您的Google Analytics 4数据直接连接到人工智能助手,并通过自然语言对话解锁强大的网络分析见解。