Google Ads API连接器

一个远程MCP服务器,封装Google Ads API,可通过对话创建和管理Google Ads广告系列。

  • by Codyp10
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Codyp10/Google-Ads-MCP

使用说明

谷歌广告MCP服务器

包装Google Ads API的远程MCP(模型上下文协议)服务器。将其作为自定义连接器连接到Claude.ai,通过对话创建和管理谷歌广告活动。

特性

  • 多账户支持 --管理MCC下所有帐户的活动
  • 16工具 涵盖整个活动生命周期:
    • 账户管理(列出账户,设置活动账户)
    • 活动创建(搜索、显示、性能最大值)
    • 广告组、关键词、负面关键词
    • 带有标题/描述固定功能的响应式搜索广告
    • 资产(站点链接、标注、调用、结构化片段、图像)
    • 批量结构预览和推送
  • 默认安全 --除非另有明确说明,否则所有创建的活动均已暂停
  • 可流式HTTP传输 --与Claude.ai定制MCP连接器兼容

项目结构

├── main.py                     # Entry point
├── src/
│   ├── server.py               # MCP server definition (all 16 tools)
│   ├── tools/
│   │   ├── accounts.py         # list_accessible_accounts, set_active_account
│   │   ├── campaigns.py        # create_campaign
│   │   ├── ad_groups.py        # create_ad_group
│   │   ├── keywords.py         # add_keywords, add_negative_keywords
│   │   ├── ads.py              # create_rsa
│   │   ├── assets.py           # sitelinks, callouts, call, snippets, images
│   │   ├── pmax.py             # create_pmax_campaign, create_asset_group
│   │   └── structure.py        # preview_structure, push_structure
│   └── utils/
│       └── google_ads_client.py # Google Ads API client wrapper
├── scripts/
│   ├── get_refresh_token.py    # OAuth2 flow to generate refresh token
│   └── verify_connection.py    # Test API connection
├── google-ads.yaml             # Local credentials (gitignored)
├── Dockerfile                  # Container config
├── railway.toml                # Railway deployment config
├── render.yaml                 # Render deployment config
├── requirements.txt            # Python dependencies
└── .env.example                # Environment variable template

本地设置

先决条件

  • Python 3.10+(推荐3.12)
  • Google Ads开发者令牌(Explorer Access或更高版本)
  • 来自Google Cloud控制台的OAuth2凭据JSON

1.安装依赖项

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2.生成OAuth2刷新令牌

将您的OAuth2凭据JSON放入项目根目录,然后运行:

python scripts/get_refresh_token.py

这将打开一个谷歌登录浏览器,并将刷新令牌保存到 google-ads.yaml.

3.配置google-ads.yaml

填写您的开发者令牌和MCC客户ID:

developer_token: "YOUR_DEVELOPER_TOKEN"
client_id: "your-client-id.apps.googleusercontent.com"
client_secret: "GOCSPX-..."
refresh_token: "1//0..."
login_customer_id: "1234567890"
use_proto_plus: true

4.验证连接

python scripts/verify_connection.py

5.在本地运行

# HTTP mode (for testing with Claude.ai)
python main.py

# Stdio mode (for local MCP clients)
python main.py --stdio

服务器启动于 http://0.0.0.0:8000 MCP端点位于 /mcp.

部署到铁路

  1. 将您的代码推送到GitHub存储库(凭据为gitignored)。

  2. 在上创建新项目 铁路 并连接您的仓库。

  3. 在Railway的仪表板中添加以下环境变量:

    变量 值
    GOOGLE_ADS_DEVELOPER_TOKEN 您的开发者令牌
    GOOGLE_ADS_CLIENT_ID 您的OAuth2客户端ID
    GOOGLE_ADS_CLIENT_SECRET 您的OAuth2客户端机密
    GOOGLE_ADS_REFRESH_TOKEN 您的刷新令牌
    GOOGLE_ADS_LOGIN_CUSTOMER_ID 您的MCC客户ID(无破折号)
    PORT 8000
  4. Railway将自动检测Dockerfile并进行部署。您的MCP终点将是:

    https://your-app.up.railway.app/mcp
    

部署以渲染

  1. 将代码推送到GitHub存储库。

  2. 创建新 网络服务 上 渲染 并连接您的仓库。

  3. 渲染将检测 render.yaml。在渲染仪表板中添加与上述相同的环境变量(标记 sync: false 为了安全起见,请使用render.yaml)。

  4. 您的MCP终点将是:

    https://your-app.onrender.com/mcp
    

连接到Claude.ai

  1. 将服务器部署到Railway或Render(见上文)。

  2. 在Claude.ai中,请访问 设置>MCP连接器>添加连接器.

  3. 输入已部署的MCP端点URL:

    https://your-app.up.railway.app/mcp
    
  4. 克劳德将自动发现所有16个工具。

  5. 开始对话:

    “列出我的Google Ads帐户” “将活动帐户设置为We Paint Texas” “创建一个名为‘春季大甩卖’的搜索活动,每天预算20美元,针对美国”

可用工具

工具 说明
tool_list_accessible_accounts 列出MCC下的所有帐户
tool_set_active_account 设置目标帐户
tool_create_campaign 创建搜索/展示/购物活动
tool_create_ad_group 创建链接到活动的广告组
tool_add_keywords 将关键字添加到广告组
tool_add_negative_keywords 在活动或广告组级别添加负面内容
tool_create_rsa 创建响应式搜索广告
tool_add_sitelinks 添加站点链接资产
tool_add_callouts 添加调出资源
tool_add_call_asset 添加电话号码资产
tool_add_structured_snippets 添加结构化代码段资产
tool_add_image_asset 从文件或URL上传图像
tool_create_pmax_campaign 创建Performance Max活动
tool_create_asset_group 使用创意创建PMax资产组
tool_preview_structure 预览完整的活动结构(模拟运行)
tool_push_structure 将完整的广告系列结构推送到Google Ads

备注

  • 所有活动都已创建 已暂停 默认情况下
  • 每个工具都接受一个可选 customer_id 针对任何帐户
  • 预算值使用 微型 (1美元=1000000微)
  • 这 push_structure 该工具按以下顺序创建实体:活动->广告组->关键字->广告->资产
  • Explorer Access开发人员令牌可以读取和创建,但有每日限制