广告API交互服务器

一个本地运行的MCP服务器,用于与Google Ads API交互,提供账户信息检索和客户列表查询功能。

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

使用说明

谷歌广告MCP服务器

此存储库包含运行本地 主控程序 与交互的服务器 谷歌广告API.

工具

服务器使用 谷歌广告API 提供几个 工具 用于LLM。

可用工具

  • search:检索有关Google Ads帐户的信息。
  • list_accessible_customers:返回可直接访问的客户名称 通过用户认证呼叫。

备注

  1. MCP服务器会将您的数据暴露给您连接到它的代理或LLM。
  2. 如果您有技术问题,请使用 GitHub问题跟踪器.
  3. 为了帮助我们收集使用数据,您会注意到API调用中添加了一个额外的头,这些数据用于改进产品。

安装说明

安装包括以下步骤:

  1. 配置Python。
  2. 配置开发人员令牌。
  3. 在项目中启用API
  4. 配置凭据。
  5. 配置Gemini。

配置Python

安装管道.

配置开发人员令牌

遵循以下说明 获取开发者令牌.

记录“YOUR_DEVELOPER_TOKEN”,您将需要它来执行下面的“配置Gemini”步骤

在项目中启用API

按照说明 在您的Google Cloud项目中启用以下API:

配置凭据

选项1:使用应用程序默认凭据配置凭据

配置您的 应用程序默认凭据 (ADC). 确保凭据适用于有权访问您的Google Ads的用户 账户或财产。

凭据必须包括Google Ads API范围:

https://www.googleapis.com/auth/adwords

结账 管理OAuth客户端 了解如何创建OAuth客户端。

这里有一些样品 gcloud 您可能会发现有用的命令:

  • 使用用户凭据和OAuth桌面或web客户端设置ADC 将客户端JSON下载到 YOUR_CLIENT_JSON_FILE.

    gcloud auth application-default login \
      --scopes https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform \
      --client-id-file=YOUR_CLIENT_JSON_FILE
    
  • 使用服务帐户模拟设置ADC。

    gcloud auth application-default login \
      --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \
      --scopes=https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform
    

时中 gcloud auth application-default 命令完成,复制 PATH_TO_CREDENTIALS_JSON 打印到控制台的文件位置 以下消息。您将在后续步骤中需要它!

Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]

选项2:使用Google Ads API Python客户端库配置凭据。

按照说明 设置和配置Google Ads API Python客户端库

如果你已经这样做了,并且有一个工作 google-ads.yaml ,您可以重复使用此文件!

在utils.py文件中,更改get_googleads_client()以使用load_from_storage()方法。

配置Gemini

  1. 安装 双子座 命令行界面 或 Gemini代码 协助

  2. 在以下位置创建或编辑文件 ~/.gemini/settings.json,添加您的服务器 到 mcpServers 列表。

  • 选项1:应用程序默认凭据方法

    替换 PATH_TO_CREDENTIALS_JSON 使用您在前面复制的路径 步骤。

    我们还建议您添加 GOOGLE_CLOUD_PROJECT 属性为 env 对象。替换 YOUR_PROJECT_ID 在以下示例中 项目ID 你的 谷歌云项目。

    {
      "mcpServers": {
        "google-ads-mcp": {
          "command": "pipx",
          "args": [
            "run",
            "--spec",
            "git+https://github.com/googleads/google-ads-mcp.git",
            "google-ads-mcp"
          ],
          "env": {
            "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
            "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
            "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN"
          }
        }
      }
    }
    
  • 选项2:Python客户端库方法

    {
      "mcpServers": {
        "google-ads-mcp": {
          "command": "pipx",
          "args": [
            "run",
            "--spec",
            "git+https://github.com/googleads/google-ads-mcp.git",
            "google-ads-mcp"
          ],
          "env": {
            "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
            "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN"
          }
        }
      }
    }
    

登录客户Id

如果您通过经理帐户访问客户帐户,您将 需要将经理帐户的客户ID添加到设置文件中。

看 这里 了解详情。

最终文件看起来像这样:

{
  "mcpServers": {
    "google-ads-mcp": {
      "command": "pipx",
      "args": [
        "run",
        "--spec",
        "git+https://github.com/googleads/google-ads-mcp.git",
        "google-ads-mcp"
      ],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
        "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_MANAGER_CUSTOMER_ID"
      }
    }
  }
}

试试看

启动Gemini Code Assist或Gemini CLI并键入 /mcp你应该看看 google-ads-mcp 列在结果中。

以下是一些示例提示,以帮助您开始:

  • 询问服务器可以做什么:

    what can the ads-mcp server do?
    
  • 询问客户:

    what customers do I have access to?
    
  • 询问活动

    How many active campaigns do I have?
    
    How is my campaign performance this week?
    

关于客户ID的说明

对于大多数提示,您的代理都需要并要求提供客户id。如果你 在多个客户之间移动,包括提示中的客户ID可能 更简单。

How many active campaigns do I have for customer id 1234567890

贡献

欢迎投稿!请参阅 贡献指南.