Google Ads MCP服务器

Google Ads MCP服务器是一个实验性项目,提供与Google Ads API交互的本地MCP服务器,用于支持LLM工具的开发和使用。

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

使用说明

Google Ads MCP 服务器(实验性)

这个仓库包含了运行本地(服务/应用)所需的源代码 MCP(在不同领域可能有不同的含义,但常见翻译为):最小代价路径/最小成本路径(在计算机科学或网络路由中);多细胞聚落(在生物学或组织工程中);或者根据具体上下文可能翻译为其他含义 与(某系统或用户)交互的服务器 谷歌广告API。

工具

服务器使用 谷歌广告API 提供几个 工具 用于与大型语言模型(LLMs)配合使用。

可用的工具

  • search检索有关Google Ads帐户的信息。
  • list_accessible_customers返回可直接访问的客户名称 通过用户对通话进行身份验证。

注释

  1. MCP服务器将把您的数据暴露给您连接到它的代理或大型语言模型(LLM)。
  2. 如果您遇到技术问题,请使用 GitHub 问题追踪器.
  3. 为了帮助我们收集使用数据,您会发现您的API调用中增加了一个额外的头部信息,这些数据将用于改进产品。

设置说明

设置过程包括以下步骤:

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

配置Python

安装 pipx.

配置开发者令牌

按照以下说明操作 获取开发者令牌.

记录“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桌面或网页客户端设置ADC(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. 安装 双子座 CLI(Command Line Interface)即命令行界面 或者 双子座代码 协助

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

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

    替换 PATH_TO_CREDENTIALS_JSON 使用你之前复制的路径 步骤。

    我们还建议您添加一个 GOOGLE_CLOUD_PROJECT 归因于 env 对象。替换 YOUR_PROJECT_ID 在以下示例中,与……一起 项目ID 你的 Google Cloud 项目。

    {
      "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"
      }
    }
  }
}

主题委托(仅限服务帐户)

如果你正在使用服务账户凭据,并且需要冒充特定用户,你可以添加 GOOGLE_ADS_SUBJECT 设置一个环境变量,其中包含要冒充的用户的电子邮件地址。

重要注意事项:

  • 这个功能 仅支持使用服务帐户凭据如果你正在使用OAuth凭据(选项1,即带用户凭据的方式),则subject参数会被记录但会被忽略。
  • 服务帐户必须启用域范围委托,并由工作区管理员授予相应的权限范围。

见 在整个域名范围内进行委托(或权限分配) 了解更多详情。

带有主题委托的示例配置:

{
  "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_SERVICE_ACCOUNT_JSON",
        "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN",
        "GOOGLE_ADS_SUBJECT": "user@example.com"
      }
    }
  }
}

试试看

启动Gemini代码助手或Gemini命令行界面,并输入 /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

贡献;助力

欢迎投稿!详情请见 贡献指南。

致谢/鸣谢

这个项目是基于 Google Ads MCP(Google广告认证营销专业人员) 由Google有限责任公司提供,根据Apache许可证2.0版授权。

许可证

根据Apache许可证,第2版授权。详见 许可证 详情见下文。