Google广告管理服务器

一个基于Node.js的Google广告活动管理服务器,提供广告活动管理、分析报告和实时数据功能。

  • by samihalawa
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 samihalawa/google-ads-mcp-server

使用说明

谷歌广告MCP服务器(Node.js)

一个模型上下文协议(MCP)服务器,用于以编程方式管理谷歌广告活动,使用Node.js构建。

特性

活动管理

  • ✅ 获取活动绩效数据
  • ✅ 获取详细的活动信息
  • ✅ 暂停/启用活动
  • ✅ 更新活动预算

分析和报告

  • ✅ 绩效总结
  • ✅ 最佳绩效分析
  • ✅ 导出为CSV/JSON
  • ✅ 自定义日期范围

实时数据

  • ✅ 实时API集成
  • ✅ 最新指标
  • ✅ 转化跟踪
  • ✅ 预算监控

安装

全局安装(建议用于CLI)

npm install -g @samihalawa/google-ads-mcp-server

本地安装(用于项目集成)

npm install @samihalawa/google-ads-mcp-server

或者使用pnpm:

pnpm add @samihalawa/google-ads-mcp-server

配置

简单的.env配置(不需要YAML文件!)

创建一个 .env 将您的Google Ads API凭证作为内联JSON文件:

# Google Ads API Configuration (JSON format - all in one line)
GOOGLE_ADS_CONFIG='{"client_id":"YOUR_CLIENT_ID.apps.googleusercontent.com","client_secret":"YOUR_CLIENT_SECRET","developer_token":"YOUR_DEVELOPER_TOKEN","refresh_token":"YOUR_REFRESH_TOKEN","login_customer_id":"YOUR_MANAGER_CUSTOMER_ID"}'

# Customer ID to query (without dashes)
GOOGLE_ADS_CUSTOMER_ID=1234567890

就是这样! 不需要单独的YAML文件。一切都在你的 .env 文件。

配置示例

GOOGLE_ADS_CONFIG='{"client_id":"963208150325-mmhibhl91g39ma9jsvrgacpleraq4nfu.apps.googleusercontent.com","client_secret":"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","developer_token":"i525AeFTAacFOtQtWBjY6g","refresh_token":"1//04OmKZJ58yhQaCgYIARAAGAQSNwF-L9IrfyrhE7W2zk00iStBE8dCRazdeUgXiMVxH-WIr9PEh6W3_RvjRKSZx-FH3l3Dun5vWOc","login_customer_id":"4850172260"}'
GOOGLE_ADS_CUSTOMER_ID=1248495560

用法

运行服务器

# Load .env and run
node server.js

或者使用npx(无需安装):

npx @samihalawa/google-ads-mcp-server

与MCP客户端一起使用

添加到您的MCP客户端配置中(例如,Claude Desktop):

{
  "mcpServers": {
    "google-ads": {
      "command": "npx",
      "args": ["@samihalawa/google-ads-mcp-server"],
      "env": {
        "GOOGLE_ADS_CONFIG": "{\"client_id\":\"YOUR_CLIENT_ID\",\"client_secret\":\"YOUR_SECRET\",\"developer_token\":\"YOUR_TOKEN\",\"refresh_token\":\"YOUR_REFRESH\",\"login_customer_id\":\"YOUR_MANAGER_ID\"}",
        "GOOGLE_ADS_CUSTOMER_ID": "1234567890"
      }
    }
  }
}

与manus-mcp-cli一起使用

# Set environment variables
export GOOGLE_ADS_CONFIG='{"client_id":"...","client_secret":"...","developer_token":"...","refresh_token":"...","login_customer_id":"..."}'
export GOOGLE_ADS_CUSTOMER_ID="1234567890"

# List available tools
manus-mcp-cli tool list --server google-ads

# Get campaigns
manus-mcp-cli tool call get_campaigns --server google-ads --input '{"days": 30}'

# Get performance summary
manus-mcp-cli tool call get_performance_summary --server google-ads --input '{"days": 7}'

# Pause a campaign
manus-mcp-cli tool call pause_campaign --server google-ads --input '{"campaign_id": "23207843655"}'

可用工具

1.get_campaigns

获取所有具有绩效指标的活动。

参数:

  • days (数字,可选):回顾的天数(默认值:30)
  • status (字符串,可选):按状态筛选-已启用、已暂停、已删除或全部(默认值:已启用)

例子:

{
  "days": 30,
  "status": "ENABLED"
}

2.get_campaign_details

获取特定活动的详细信息。

参数:

  • campaign_id (字符串,必填):活动ID
  • days (数字,可选):回顾的天数(默认值:30)

例子:

{
  "campaign_id": "23207843655",
  "days": 30
}

3.get_performance_summary

获取整体客户绩效摘要。

参数:

  • days (数字,可选):回顾的天数(默认值:30)

例子:

{
  "days": 7
}

4.get_top_performers

按指定指标获取表现最佳的活动。

参数:

  • metric (字符串,可选):按-ctr、转换、成本、点击、展示(默认值:ctr)进行排名的指标
  • limit (数字,可选):要返回的顶级活动数量(默认值:5)
  • days (数字,可选):回顾的天数(默认值:30)

例子:

{
  "metric": "ctr",
  "limit": 5,
  "days": 30
}

5.贫困运动

暂停特定活动。

参数:

  • campaign_id (字符串,必填):要暂停的活动ID

例子:

{
  "campaign_id": "23207843655"
}

6.enable_campaign

启用/恢复暂停的活动。

参数:

  • campaign_id (字符串,必填):要启用的活动ID

例子:

{
  "campaign_id": "23207843655"
}

7.update_campaign_budget

更新活动的每日预算。

参数:

  • campaign_id (字符串,必填):活动ID
  • budget_euros (数字,必填):新的每日预算(欧元)

例子:

{
  "campaign_id": "23207843655",
  "budget_euros": 20.00
}

8.出口报告

将活动数据导出为CSV或JSON格式。

参数:

  • format (字符串,必填):导出格式为csv或json
  • days (数字,可选):回顾的天数(默认值:30)

例子:

{
  "format": "csv",
  "days": 30
}

示例工作流

日常活动监控

# Get performance summary
manus-mcp-cli tool call get_performance_summary --server google-ads --input '{"days": 1}'

# Check top performers
manus-mcp-cli tool call get_top_performers --server google-ads --input '{"metric": "conversions", "limit": 3, "days": 7}'

活动优化

# Get campaign details
manus-mcp-cli tool call get_campaign_details --server google-ads --input '{"campaign_id": "23207843655", "days": 30}'

# Update budget if performing well
manus-mcp-cli tool call update_campaign_budget --server google-ads --input '{"campaign_id": "23207843655", "budget_euros": 25.00}'

# Pause if underperforming
manus-mcp-cli tool call pause_campaign --server google-ads --input '{"campaign_id": "23207843655"}'

报告

# Export to CSV
manus-mcp-cli tool call export_report --server google-ads --input '{"format": "csv", "days": 30}'

# Export to JSON
manus-mcp-cli tool call export_report --server google-ads --input '{"format": "json", "days": 7}'

故障排除

“GOOGLE_ADS_CONFIG环境变量是必需的”

  • 确保您已设置 GOOGLE_ADS_CONFIG 环境变量
  • 检查JSON是否有效并正确转义
  • 确保所有必填字段都存在

“初始化Google Ads客户端失败”

  • 验证所有凭据是否正确
  • 确保刷新令牌仍然有效
  • 检查JSON格式是否正确

“未找到活动”

  • 验证活动ID是否正确
  • 检查您是否有权访问该活动
  • 确保活动未被删除

“未经授权”的错误

  • 刷新令牌可能已过期-生成新令牌
  • 检查开发人员令牌是否已批准
  • 验证OAuth凭据是否正确

API费率限制

Google Ads API有费率限制:

  • 基本访问权限: 每天15000次操作
  • 标准访问: 每天40000次操作

MCP服务器自动处理速率限制和重试。

安全

  • 永不承诺 .env 到版本控制
  • 安全地存储凭据
  • 对敏感数据使用环境变量
  • 定期轮换刷新令牌
  • 这 .gitignore 文件已排除 .env 文件

支持

对于问题或疑问:

  1. 检查 Google Ads API文档
  2. 查看 MCP规范
  3. 检查服务器日志中的错误消息
  4. 打开一个问题 GitHub

许可证

MIT许可证-有关详细信息,请参阅许可证文件

版本历史记录

1.1.0 (2025-11-24)

  • 突破性变化: 在.env中从YAML切换到内联JSON配置
  • 删除js-yaml依赖项
  • 简化的配置-不需要单独的文件
  • 更新文件

1.0.0 (2025-11-24)

  • Node.js初始版本
  • 活动管理的8个核心工具
  • 实时API集成
  • CSV/JSON导出支持
  • 完整的文件