Google Ads MCP 服务器

一个连接Google Ads API与Claude Desktop和Cursor等助手的MCP服务器,支持广告系列分析、搜索词检查和自定义GAQL执行。

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

使用说明

用于LLM的Google Ads MCP服务器

MCP服务器,用于连接 谷歌广告API 助理喜欢 克劳德桌面版 和 光标.

它支持在更安全的本地运行时配置上进行活动分析、搜索词检查和自定义GAQL执行 stdio 使用或HTTP部署。

特性

  • google_ads_list_accounts
  • google_ads_list_campaigns
  • google_ads_get_search_terms
  • google_ads_run_gaql

🛠️ 先决条件

  • Python 3.10 或更高。
  • Google广告帐户:已启用API访问的经理帐户(MCC)或标准帐户。
  • API证书:开发人员令牌、客户端ID、客户端密码和刷新令牌。
  • pip 或 uv

🚀 安装

1.克隆存储库

git clone https://github.com/phwtsp/mcp-google-ads.git
cd mcp-google-ads

2.设置虚拟环境

选项A:使用 uv (最快)

uv venv
source .venv/bin/activate

选项B:使用标准Python

python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

3.安装依赖项

pip install -r requirements.txt

⚙️ 配置

环境变量

设置这些环境变量:

变量 描述
GOOGLE_ADS_DEVELOPER_TOKEN 您的谷歌广告开发者令牌
GOOGLE_ADS_CLIENT_ID OAuth2客户端ID
GOOGLE_ADS_CLIENT_SECRET OAuth2客户端密码
GOOGLE_ADS_REFRESH_TOKEN OAuth2刷新令牌
GOOGLE_ADS_LOGIN_CUSTOMER_ID 可选经理帐户ID
ACCOUNTS_JSON 可选的别名到客户ID的JSON映射
MCP_TRANSPORT stdio 或 streamable-http
MCP_MOUNT_PATH HTTP装载路径。违约: /mcp
MCP_API_KEY HTTP模式的可选承载令牌
HOST HTTP绑定主机。违约: 0.0.0.0
PORT HTTP绑定端口。默认值: 8000

帐户映射(accounts.json)

通过将友好名称映射到客户ID,轻松管理多个帐户。创建一个 accounts.json 根目录下的文件:

{
  "My Client A": "123-456-7890",
  "Agency Account": "987-654-3210"
}

服务器会删除连字符,并将最终ID验证为10位数字。

用法

本地 stdio

这是默认模式,是Claude Desktop或Cursor本地进程集成的正确选择。

python3 server.py

当地检查员

mcp dev server.py

HTTP部署

使用明确的传输选择:

export MCP_TRANSPORT=streamable-http
export MCP_API_KEY=change-me
python3 server.py

终点:

  • GET /health
  • GET /ready
  • MCP安装在 ${MCP_MOUNT_PATH:-/mcp}

默认装载路径示例:

  • http://localhost:8000/mcp

光标或Claude桌面配置

将此添加到您的MCP设置中:

{
  "mcpServers": {
    "google-ads": {
      "command": "/absolute/path/to/your/venv/bin/python",
      "args": ["/absolute/path/to/mcp-google-ads/server.py"],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "your_token",
        "GOOGLE_ADS_CLIENT_ID": "your_client_id",
        "GOOGLE_ADS_CLIENT_SECRET": "your_client_secret",
        "GOOGLE_ADS_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

操作说明

  • google_ads_run_gaql 只接受以开头的只读查询 SELECT.
  • google_ads_list_campaigns 大写字母 limit 在 100.
  • google_ads_get_search_terms 大写字母 days 在 365.
  • 原始GAQL响应的上限为 500 每次执行的行数。
  • 在HTTP模式下, /ready 回报 503 如果需要,缺少Google Ads凭据。

许可证

该项目根据 MIT许可证.