Google Ads API集成服务器

通过模型上下文协议(MCP)为AI助手提供全面的Google Ads API集成,支持管理广告活动、分析性能和执行自然语言命令。

  • by anegash
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 anegash/google-ads-mcp-server

使用说明

谷歌广告MCP服务器🚀

通过模型上下文协议(MCP)为人工智能助手提供全面的Google Ads API集成。该服务器使Claude AI和其他兼容MCP的客户端能够管理Google广告活动、分析性能,并使用自然语言命令执行GAQL查询。

非常适合数字营销机构 -管理多个客户帐户,自动化活动操作,并通过人工智能对话获得即时见解。

🌟 特性

当前版本(v1.0.0)- 82可用工具

  • 完整的活动管理:涵盖全面谷歌广告运营的全部82个工具
  • 多种身份验证方法:OAuth 2.0和服务帐户身份验证
  • MCP兼容:适用于Claude AI和任何兼容MCP的客户端
  • TypeScript:全类型安全和出色的开发人员体验
  • NPM包:易于部署 npx 命令
  • 全面的错误处理:详细的错误消息和验证

✅ 全部9个阶段完成 (新增66个工具)

  • 🔥 第一阶段:转化跟踪和归因(6个工具)✅
  • 🎯 第2阶段:受众管理和目标定位(8个工具)✅
  • 📊 第三期:增强的报告和分析(8个工具)✅
  • 💰 阶段4:预算和投标管理(7个工具)✅
  • 🖼️ Phase 5:资产管理(7个工具)✅
  • 🚀 第6阶段:高级活动类型(6个工具)✅
  • 📍 第7阶段:地理和人口定位(6个工具)✅
  • 🔧 第8阶段:扩展和建议(8个工具)✅
  • 📋 第9阶段:组织和管理工具(6个工具)✅

从16→ 82 工具(413%增长)|85%+谷歌广告API覆盖率

📦 快速开始

安装

# Install globally (recommended for CLI usage)
npm install -g @hapotech/google-ads-mcp

# Or use with npx (no installation required)
npx @hapotech/google-ads-mcp

Claude桌面配置

  1. 获取您的Claude Desktop配置位置:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加Google Ads MCP服务器:

{
  "mcpServers": {
    "google-ads": {
      "command": "npx",
      "args": ["@hapotech/google-ads-mcp"],
      "env": {
        "GOOGLE_ADS_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
        "GOOGLE_ADS_CLIENT_SECRET": "your-client-secret",
        "GOOGLE_ADS_REFRESH_TOKEN": "your-refresh-token",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "your-developer-token",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "123-456-7890"
      }
    }
  }
}
  1. 重新启动克劳德桌面 并开始与您的Google Ads数据聊天!

克劳德代码配置(VS代码扩展)

  1. 打开VS代码 安装了Claude Code扩展
  2. 创建/编辑 .mcp.json 在项目根目录中:
{
  "mcp": {
    "servers": {
      "google-ads": {
        "command": "npx",
        "args": ["@hapotech/google-ads-mcp"],
        "env": {
          "GOOGLE_ADS_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
          "GOOGLE_ADS_CLIENT_SECRET": "your-client-secret",
          "GOOGLE_ADS_REFRESH_TOKEN": "your-refresh-token",
          "GOOGLE_ADS_DEVELOPER_TOKEN": "your-developer-token",
          "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "123-456-7890"
        }
      }
    }
  }
}
  1. 重新加载窗口 或重新启动Claude Code以加载MCP服务器

🔐 身份验证设置

先决条件

  1. Google广告帐户 启用API访问
  2. 谷歌云项目 启用了Google Ads API
  3. 开发者令牌 来自Google Ads(可能需要1-2个工作日才能获得批准)

分步身份验证设置

第一步:获取开发者代币

  1. 登录谷歌广告 在 ads.google.com
  2. 引导到:工具和设置→ 设置→ API中心
  3. 请求访问权限 等待批准(1-2个工作日)
  4. 复制您的开发者令牌 一旦批准

步骤2:设置OAuth 2.0凭据

  1. 转到谷歌云控制台:

  2. 启用Google Ads API:

    • 转到API和服务→ 图书馆
    • 搜索“Google Ads API”并启用它
  3. 创建OAuth 2.0凭据:

    • 转到API和服务→ 凭证
    • 点击“创建凭据”→ “OAuth 2.0客户端ID”
    • 选择“桌面应用程序”
    • 下载JSON凭据
  4. 生成刷新令牌:

    选项A:使用OAuth游乐场

    • 首选 OAuth2游乐场
    • 在设置中,选中“使用您自己的OAuth凭据”
    • 输入您的客户端ID和客户端密码
    • 添加范围: https://www.googleapis.com/auth/adwords
    • 按照流程获取刷新令牌

    选项B:使用此辅助脚本:

    npx @hapotech/google-ads-mcp --generate-token
    # Follow the prompts to get your refresh token
    

步骤3:配置经理帐户(适用于代理机构)

如果您管理多个客户帐户:

  1. 查找您的经理帐户ID:

    • 登录谷歌广告
    • 查找顶部的10位数字(格式:XXX-XXX-XXXX)
    • 这将成为你的 GOOGLE_ADS_LOGIN_CUSTOMER_ID
  2. 链接客户端帐户:

    • 在Google广告中,转到工具和设置→ 账户管理
    • 向客户帐户发送邀请
    • 一旦被接受,您就可以通过API对其进行管理

环境变量摘要

# Required for OAuth (Recommended Method)
GOOGLE_ADS_CLIENT_ID="123456789012-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com"
GOOGLE_ADS_CLIENT_SECRET="GOCSPX-AbCdEfGhIjKlMnOpQrStUvWxYz"
GOOGLE_ADS_REFRESH_TOKEN="1//04AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIjKlMnOpQrStUvWxYz"
GOOGLE_ADS_DEVELOPER_TOKEN="AbCdEfGhIjKlMnOpQrStUvWxYz"

# Optional: For manager accounts managing multiple clients
GOOGLE_ADS_LOGIN_CUSTOMER_ID="123-456-7890"

# Alternative: Service Account (Advanced)
GOOGLE_ADS_SERVICE_ACCOUNT_KEY_PATH="/path/to/service-account.json"
GOOGLE_ADS_DEVELOPER_TOKEN="AbCdEfGhIjKlMnOpQrStUvWxYz"

🛠️ 可用工具- 82总计

📊 核心活动管理(16个工具)

原始工具 描述 类别
list_accounts 列出可访问的Google Ads帐户 帐户管理
get_campaigns 使用绩效指标获取活动 活动数据
get_campaign_performance 详细的活动绩效分析 报告
get_ad_groups 检索包含竞价信息的广告组 广告组管理
get_ads 查看广告和创意资产 广告管理
get_keywords 获取匹配类型和出价的关键字 关键字管理
execute_gaql_query 运行自定义GAQL查询 高级查询
get_image_assets 查看上传的图像和徽标 资产管理
create_campaign 创建新活动(暂停状态) 活动创建
update_campaign_status 启用/暂停/删除活动 活动管理
create_ad_group 创建新的广告组(暂停状态) 广告组创建
create_responsive_search_ad 创建RSA广告(暂停状态) 广告创建
add_keywords 添加带有验证的阳性关键字 关键字管理
add_negative_keywords 添加负面关键字以防止不必要的流量 流量控制
update_ad_group_bids 修改广告组竞价策略 竞价管理
pause_ad_group 暂停/启用广告组 广告组控制

🔥 新增:转化跟踪和归因(6个工具)

工具 描述 业务影响
get_conversions 检索转换操作和性能指标 ROI测量和分析
create_conversion_action 设定新的转化跟踪目标 跟踪业务目标
update_conversion_action 修改转换设置和归因 优化跟踪配置
get_conversion_attribution 分析归因模型和客户旅程 了解转化路径
get_conversion_path_data 详细的客户旅程洞察 客户行为分析
import_offline_conversions 上传离线转化数据(店铺访问、通话) 完成转化图片

🎯 新增:受众管理和目标定位(8个工具)

工具 描述 业务影响
get_audiences 列出所有可用的受众群体 受众策略概述
create_custom_audience 创建自定义受众列表和细分 高级定位
add_audience_to_campaign 将受众定位应用于活动 精准定位
remove_audience_from_campaign 删除受众定位 活动优化
get_audience_insights 受众表现和人口统计分析 数据驱动的决策
create_customer_match_list 从数据中创建客户匹配受众 第一方数据定位
upload_customer_match_data 上传客户电子邮件/电话进行匹配 CRM集成
create_lookalike_audience 基于现有数据创建类似受众 受众扩展

📊 新增:增强的报告和分析(8个工具)

工具 描述 业务影响
get_search_term_report 搜索查询性能和负面关键字机会 查询优化
get_demographic_report 年龄、性别和人口统计表现细分 受众洞察
get_geographic_report 基于位置的性能分析 地理优化
get_auction_insights 竞争格局和印象分享分析 竞争情报
get_change_history 账户修改审计跟踪 变更跟踪
generate_forecast_metrics 交通和转换预测 预算规划
get_click_view_report 详细的点击率数据和用户行为 深入分析
get_video_report 视频活动绩效指标 视频优化

💰 新增:预算与招标管理(7个工具)

工具 描述 业务影响
get_shared_budgets 列出共享活动预算池 预算组织
create_shared_budget 跨活动创建共享预算池 预算效率
get_bidding_strategies 列出自动竞价策略 竞价优化
create_bidding_strategy 创建智能竞价策略(目标CPA、ROAS) 自动优化
get_bid_simulations 预测投标影响和绩效变化 投标计划
update_bid_adjustments 设备、位置和人口统计出价修改 精细控制
get_budget_recommendations 谷歌的人工智能预算建议 性能改进

🖼️ 新增:资产管理(7种工具)

工具 描述 业务影响
upload_image_asset 上传和管理广告的图像资产 创意管理
get_video_assets 检索视频资产库 视频活动支持
create_asset_group 创建Performance Max资产组 Performance Max活动
get_asset_performance 资产级绩效指标 创造性优化
create_sitelink_assets 创建站点链接扩展 广告可见性增强
create_callout_assets 创建标注扩展 突出价值主张
create_structured_snippet_assets 创建结构化代码段扩展 详细的产品/服务信息

🚀 新增:高级活动类型(6个工具)

工具 描述 业务影响
create_performance_max_campaign 通过AI优化创建Performance Max广告系列 谷歌AI驱动的广告系列
create_demand_gen_campaign 创建需求生成活动 品牌知名度和发现
create_app_campaign 创建应用推广活动 移动应用营销
create_smart_campaign 为小型企业创建智能活动 简化活动管理
get_campaign_experiments 列出活动A/B测试和实验 测试和优化
create_campaign_experiment 创建活动实验进行测试 拆分测试功能

📍 新增:地理和人口定位(6个工具)

工具 描述 业务影响
get_geographic_performance 位置性能细分和见解 本地优化
add_location_targets 地理定位管理 基于位置的活动
add_demographic_targets 年龄、性别和人口定位 受众精准度
get_location_insights 定位建议 地理扩展
set_location_bid_adjustments 基于位置的投标修改 本地投标优化
manage_language_targets 语言目标管理 多语言活动

🔧 新增:扩展和建议(8个工具)

工具 描述 业务影响
create_sitelink_extensions Sitelink扩展管理 增强的广告资源
create_call_extensions 呼叫分机设置和管理 电话潜在客户开发
create_callout_extensions 标注扩展创建 突出价值主张
get_extension_performance 扩展性能指标 扩展优化
get_recommendations 谷歌的人工智能优化建议 自动化改进
apply_recommendation 自动应用谷歌推荐 一键优化
dismiss_recommendation 删除不相关的建议 建议管理
get_keyword_ideas 关键字研究和扩展建议 关键字发现

📋 新增:组织和管理工具(6个工具)

工具 描述 业务影响
create_labels 为资源创建组织标签 帐户组织
apply_labels 将标签应用于活动、广告组等。 资源分类
get_labeled_resources 按标签筛选器查找资源 快速访问资源
bulk_edit_operations 跨多个资源的批处理操作 效率提高
get_account_hierarchy 账户结构可视化 账户管理
manage_link_invitations 帐户链接和邀请管理 多帐户管理

🎯 总计:82个综合工具,覆盖85%以上的Google Ads API功能

💬 对话示例

获取活动概述

You: "Show me all campaigns for account 1234567890 with their performance metrics"

Claude: I'll get your campaigns and their performance data.
[Uses get_campaigns and get_campaign_performance tools]

Results:
• Campaign "Holiday Sale 2024": 15,432 impressions, 1,234 clicks (8.0% CTR)
• Campaign "Brand Awareness": 8,901 impressions, 456 clicks (5.1% CTR)
• Total spend: $2,847.32 this month

安全创建新活动

You: "Create a search campaign called 'New Product Launch' with $100 daily budget for account 1234567890"

Claude: I'll create a new search campaign for you. For safety, it will be created in PAUSED state.
[Uses create_campaign tool]

✅ Campaign created successfully!
• Name: "New Product Launch"
• Budget: $100/day
• Status: PAUSED (ready for you to review and enable)
• Campaign ID: 987654321

分析关键字性能

You: "What are the top performing keywords for campaign 987654321?"

Claude: I'll analyze the keyword performance for that campaign.
[Uses execute_gaql_query tool with custom GAQL]

Top performing keywords:
1. "premium software solution" - 2,341 impressions, 187 clicks (8.0% CTR)
2. "best project management" - 1,876 impressions, 134 clicks (7.1% CTR)
3. "business automation tool" - 1,432 impressions, 89 clicks (6.2% CTR)

机构多账户管理

You: "Show me a summary of all my client accounts' performance this month"

Claude: I'll get performance data across all your managed accounts.
[Uses list_accounts and get_campaign_performance for each]

Account Performance Summary:
📊 Client A (Account: 1111111111): $12,340 spent, 234 conversions
📊 Client B (Account: 2222222222): $8,750 spent, 156 conversions
📊 Client C (Account: 3333333333): $15,680 spent, 289 conversions
📈 Total: $36,770 spent, 679 conversions across all accounts

🔍 高级GAQL查询

服务器支持用于高级分析的自定义GAQL查询:

活动绩效分析

SELECT
  campaign.name,
  campaign.status,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.cost_micros,
  metrics.conversions,
  metrics.conversions_value
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
  AND campaign.status = 'ENABLED'
ORDER BY metrics.cost_micros DESC

关键字性能与质量分数

SELECT
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type,
  ad_group_criterion.quality_info.quality_score,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.average_cpc
FROM ad_group_criterion
WHERE ad_group_criterion.type = 'KEYWORD'
  AND segments.date DURING LAST_7_DAYS
  AND metrics.impressions > 100
ORDER BY metrics.ctr DESC

广告性能比较

SELECT
  ad_group_ad.ad.responsive_search_ad.headlines,
  ad_group_ad.ad.responsive_search_ad.descriptions,
  metrics.impressions,
  metrics.clicks,
  metrics.ctr,
  metrics.conversions
FROM ad_group_ad
WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD'
  AND segments.date DURING LAST_14_DAYS
  AND metrics.impressions > 1000
ORDER BY metrics.conversions DESC

🔍 GAQL(谷歌广告查询语言)

服务器包括内置的GAQL参考和示例:

-- Get campaign performance
SELECT
  campaign.name,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

-- Get keyword performance
SELECT
  ad_group_criterion.keyword.text,
  ad_group_criterion.keyword.match_type,
  metrics.impressions,
  metrics.clicks
FROM ad_group_criterion
WHERE ad_group_criterion.type = 'KEYWORD'
  AND segments.date DURING LAST_7_DAYS

🏗️ 建筑

graph TD
    A[Claude AI] --> B[MCP Protocol]
    B --> C[Google Ads MCP Server]
    C --> D[Authentication Manager]
    C --> E[Google Ads API Client]
    D --> F[OAuth 2.0]
    D --> G[Service Account]
    E --> H[Google Ads API v19]

    C --> I[82 Available Tools]
    I --> J[Read Operations]
    I --> K[Write Operations]

    J --> L[Campaigns, Ads, Keywords]
    K --> M[Create, Update, Manage]

🚀 发展

设置开发环境

# Clone and setup
git clone https://github.com/anegash/google-ads-mcp-server.git
cd google-ads-mcp-server

# Install dependencies
npm install

# Setup environment
cp .env.example .env
# Edit .env with your credentials

# Development mode
npm run dev

# Build
npm run build

# Test
npm test

项目结构

src/
├── api/
│   └── client.ts          # Google Ads API client with 82 tools
├── auth/
│   └── credentials.ts     # Authentication management
├── types/
│   ├── index.ts          # Main type exports
│   ├── conversions.ts    # Conversion tracking types
│   ├── audiences.ts      # Audience management types
│   ├── reporting.ts      # Enhanced reporting types
│   ├── budgets.ts        # Budget & bidding types
│   ├── assets.ts         # Asset management types
│   ├── campaigns.ts      # Advanced campaign types
│   ├── targeting.ts      # Geographic & demographic types
│   ├── extensions.ts     # Extensions & recommendations
│   └── management.ts     # Organization & management types
├── server.ts             # MCP server with all 82 tools
├── cli.ts                # Command-line interface
└── index.ts              # Package exports

⚙️ 配置选项

环境变量

变量 描述 必填 示例
GOOGLE_ADS_CLIENT_ID OAuth客户端ID 是* 123...apps.googleusercontent.com
GOOGLE_ADS_CLIENT_SECRET OAuth客户端机密 是* GOCSPX-...
GOOGLE_ADS_REFRESH_TOKEN OAuth刷新令牌 是* 1//04...
GOOGLE_ADS_DEVELOPER_TOKEN 开发者令牌 是 abc123...
GOOGLE_ADS_LOGIN_CUSTOMER_ID 经理帐户ID 否 123-456-7890
GOOGLE_ADS_SERVICE_ACCOUNT_KEY_PATH 服务帐户文件 是** /path/to/key.json
GOOGLE_ADS_SERVICE_ACCOUNT_KEY 内联服务帐户 是** {\"type\":\"service_account\"...}

*OAuth身份验证所必需的 **服务帐户身份验证所需

命令行选项

npx @hapotech/google-ads-mcp --help

Options:
  -c, --config                    Path to config file
  --client-id                     Google Ads Client ID
  --client-secret                 Google Ads Client Secret
  --refresh-token                 Google Ads Refresh Token
  --developer-token               Google Ads Developer Token
  --login-customer-id             Google Ads Login Customer ID
  --service-account-key-path      Path to service account key file
  --use-keyword-sandbox           Use keyword planning sandbox
  --help                          Show help

🛡️ 安全功能

  • ✅ 无硬编码凭据:来自environment/config的所有凭据
  • ✅ 安全写入操作:所有创建的资源都以PAUSED状态开始
  • ✅ 输入验证:对所有输入进行全面验证
  • ✅ 误差边界:详细的错误处理和报告
  • ✅ 许可证管理:自动刷新OAuth令牌
  • ✅ 路径保护:安全的文件路径处理

📊 监控与调试

启用调试日志记录

# Set log level
export LOG_LEVEL=debug

# Enable debug output
export DEBUG=google-ads-mcp:*

🛠️ 故障排除

常见问题及解决方法

身份验证错误

问题: Error: Request failed with status code 401

✅ Solutions:
• Verify your developer token is approved and active
• Check OAuth credentials (client ID, client secret, refresh token)
• Ensure the refresh token hasn't expired
• Verify Google Ads API is enabled in Google Cloud Console

问题: Error: Request failed with status code 403

✅ Solutions:
• Check if you have access to the customer account
• Verify GOOGLE_ADS_LOGIN_CUSTOMER_ID is set for manager accounts
• Ensure your developer token has the necessary permissions
• Check if the account is properly linked in Google Ads

经理账户问题

问题:“无法访问托管帐户”

✅ Solutions:
• Set GOOGLE_ADS_LOGIN_CUSTOMER_ID to your manager account ID
• Verify the managed account is linked under your manager account
• Check account permissions in Google Ads → Account Management
• Ensure the managed account accepted your invitation

API配额和费率限制

问题: Error: Quota exceeded 或速率限制

✅ Solutions:
• Google Ads API has daily and per-minute quotas
• Implement delays between requests
• Monitor usage in Google Cloud Console → APIs & Services → Quotas
• Contact Google support for quota increases if needed

配置问题

问题:“在Claude中找不到Google Ads MCP服务器”

✅ Solutions:
• Restart Claude Desktop after configuration changes
• Verify .mcp.json or claude_desktop_config.json syntax
• Check file permissions and paths
• Ensure npx can access @hapotech/google-ads-mcp

问题:未加载环境变量

✅ Solutions:
• Use absolute paths for service account keys
• Quote environment variables with special characters
• Restart the application after setting environment variables
• Check that variable names match exactly (case-sensitive)

调试模式

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

# For CLI usage
DEBUG=google-ads-mcp:* npx @hapotech/google-ads-mcp

# For environment
export DEBUG=google-ads-mcp:*
export LOG_LEVEL=debug

验证命令

测试您的配置:

# Test authentication
npx @hapotech/google-ads-mcp --test-auth

# Validate configuration
npx @hapotech/google-ads-mcp --validate-config

# List available accounts (requires working auth)
npx @hapotech/google-ads-mcp --list-accounts

🤝 贡献

  1. 分叉存储库
  2. 创建特征分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

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

🚀 下一步和路线图

🎯 直接机会

现在有82个工具可用,您可以:

  • 完整的活动管理:创建、优化和分析端到端的营销活动
  • 高级归因:跟踪整个客户旅程中的转化率
  • 受众智能:精准地建立和定位自定义受众
  • 自动化优化:利用谷歌的人工智能竞价策略
  • 专业报道:生成全面的绩效报告

🔮 未来增强功能(v2.0)

  • AI驱动的洞察:超出谷歌建议的机器学习建议
  • 多平台集成:扩展到脸书广告、领英广告、推特广告
  • 实时监控:活动性能警报和异常检测
  • 批量操作:增强企业账户的批处理
  • 自定义仪表板:个性化报告和数据可视化

💡 立即开始

# Test the complete toolset
npx @hapotech/google-ads-mcp

# Try advanced conversions
"Show me conversion attribution for account 1234567890"

# Create custom audiences
"Create a customer match list for my email database"

# Generate comprehensive reports
"Give me a complete performance analysis across all campaigns"

📚 文档

🔗 链接

🆘 支持


由以下材料制成❤️ 靠近 哈波泰克

使人工智能助手能够使用自然语言命令管理谷歌广告活动!