使用说明
谷歌广告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(字符串,必填):活动IDdays(数字,可选):回顾的天数(默认值: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(字符串,必填):活动IDbudget_euros(数字,必填):新的每日预算(欧元)
例子:
{
"campaign_id": "23207843655",
"budget_euros": 20.00
}
8.出口报告
将活动数据导出为CSV或JSON格式。
参数:
format(字符串,必填):导出格式为csv或jsondays(数字,可选):回顾的天数(默认值: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文件
支持
对于问题或疑问:
- 检查 Google Ads API文档
- 查看 MCP规范
- 检查服务器日志中的错误消息
- 打开一个问题 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导出支持
- 完整的文件
