使用说明
谷歌广告MCP服务器🚀
通过模型上下文协议(MCP)为人工智能助手提供全面的Google Ads API集成。该服务器使Claude AI和其他兼容MCP的客户端能够管理Google广告活动、分析性能,并使用自然语言命令执行GAQL查询。
非常适合数字营销机构 -管理多个客户帐户,自动化活动操作,并通过人工智能对话获得即时见解。
🌟 特性
当前版本(v1.0.0)- 82可用工具
- 完整的活动管理:涵盖全面谷歌广告运营的全部82个工具
- 多种身份验证方法:OAuth 2.0和服务帐户身份验证
- MCP兼容:适用于Claude AI和任何兼容MCP的客户端
- TypeScript:全类型安全和出色的开发人员体验
- NPM包:易于部署
npx命令 - 全面的错误处理:详细的错误消息和验证
✅ 全部9个阶段完成 (新增66个工具)
- 🔥 第一阶段:转化跟踪和归因(6个工具)✅
- 🎯 第2阶段:受众管理和目标定位(8个工具)✅
- 📊 第三期:增强的报告和分析(8个工具)✅
- 💰 阶段4:预算和投标管理(7个工具)✅
- 🖼️ Phase 5:资产管理(7个工具)✅
- 🚀 第6阶段:高级活动类型(6个工具)✅
- 📍 第7阶段:地理和人口定位(6个工具)✅
- 🔧 第8阶段:扩展和建议(8个工具)✅
- 📋 第9阶段:组织和管理工具(6个工具)✅
从16→ 82 工具(413%增长)|85%+谷歌广告API覆盖率
📦 快速开始
安装
# Install globally (recommended for CLI usage)
npm install -g @hapotech/google-ads-mcp
# Or use with npx (no installation required)
npx @hapotech/google-ads-mcp
Claude桌面配置
-
获取您的Claude Desktop配置位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
添加Google Ads MCP服务器:
{
"mcpServers": {
"google-ads": {
"command": "npx",
"args": ["@hapotech/google-ads-mcp"],
"env": {
"GOOGLE_ADS_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GOOGLE_ADS_CLIENT_SECRET": "your-client-secret",
"GOOGLE_ADS_REFRESH_TOKEN": "your-refresh-token",
"GOOGLE_ADS_DEVELOPER_TOKEN": "your-developer-token",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "123-456-7890"
}
}
}
}
- 重新启动克劳德桌面 并开始与您的Google Ads数据聊天!
克劳德代码配置(VS代码扩展)
- 打开VS代码 安装了Claude Code扩展
- 创建/编辑
.mcp.json在项目根目录中:
{
"mcp": {
"servers": {
"google-ads": {
"command": "npx",
"args": ["@hapotech/google-ads-mcp"],
"env": {
"GOOGLE_ADS_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GOOGLE_ADS_CLIENT_SECRET": "your-client-secret",
"GOOGLE_ADS_REFRESH_TOKEN": "your-refresh-token",
"GOOGLE_ADS_DEVELOPER_TOKEN": "your-developer-token",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "123-456-7890"
}
}
}
}
}
- 重新加载窗口 或重新启动Claude Code以加载MCP服务器
🔐 身份验证设置
先决条件
- Google广告帐户 启用API访问
- 谷歌云项目 启用了Google Ads API
- 开发者令牌 来自Google Ads(可能需要1-2个工作日才能获得批准)
分步身份验证设置
第一步:获取开发者代币
- 登录谷歌广告 在 ads.google.com
- 引导到:工具和设置→ 设置→ API中心
- 请求访问权限 等待批准(1-2个工作日)
- 复制您的开发者令牌 一旦批准
步骤2:设置OAuth 2.0凭据
-
转到谷歌云控制台:
- 访问 console.cloud.google.com
- 创建新项目或选择现有项目
-
启用Google Ads API:
- 转到API和服务→ 图书馆
- 搜索“Google Ads API”并启用它
-
创建OAuth 2.0凭据:
- 转到API和服务→ 凭证
- 点击“创建凭据”→ “OAuth 2.0客户端ID”
- 选择“桌面应用程序”
- 下载JSON凭据
-
生成刷新令牌:
选项A:使用OAuth游乐场
- 首选 OAuth2游乐场
- 在设置中,选中“使用您自己的OAuth凭据”
- 输入您的客户端ID和客户端密码
- 添加范围:
https://www.googleapis.com/auth/adwords - 按照流程获取刷新令牌
选项B:使用此辅助脚本:
npx @hapotech/google-ads-mcp --generate-token # Follow the prompts to get your refresh token
步骤3:配置经理帐户(适用于代理机构)
如果您管理多个客户帐户:
-
查找您的经理帐户ID:
- 登录谷歌广告
- 查找顶部的10位数字(格式:XXX-XXX-XXXX)
- 这将成为你的
GOOGLE_ADS_LOGIN_CUSTOMER_ID
-
链接客户端帐户:
- 在Google广告中,转到工具和设置→ 账户管理
- 向客户帐户发送邀请
- 一旦被接受,您就可以通过API对其进行管理
环境变量摘要
# Required for OAuth (Recommended Method)
GOOGLE_ADS_CLIENT_ID="123456789012-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.com"
GOOGLE_ADS_CLIENT_SECRET="GOCSPX-AbCdEfGhIjKlMnOpQrStUvWxYz"
GOOGLE_ADS_REFRESH_TOKEN="1//04AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIjKlMnOpQrStUvWxYz"
GOOGLE_ADS_DEVELOPER_TOKEN="AbCdEfGhIjKlMnOpQrStUvWxYz"
# Optional: For manager accounts managing multiple clients
GOOGLE_ADS_LOGIN_CUSTOMER_ID="123-456-7890"
# Alternative: Service Account (Advanced)
GOOGLE_ADS_SERVICE_ACCOUNT_KEY_PATH="/path/to/service-account.json"
GOOGLE_ADS_DEVELOPER_TOKEN="AbCdEfGhIjKlMnOpQrStUvWxYz"
🛠️ 可用工具- 82总计
📊 核心活动管理(16个工具)
| 原始工具 | 描述 | 类别 |
|---|---|---|
list_accounts |
列出可访问的Google Ads帐户 | 帐户管理 |
get_campaigns |
使用绩效指标获取活动 | 活动数据 |
get_campaign_performance |
详细的活动绩效分析 | 报告 |
get_ad_groups |
检索包含竞价信息的广告组 | 广告组管理 |
get_ads |
查看广告和创意资产 | 广告管理 |
get_keywords |
获取匹配类型和出价的关键字 | 关键字管理 |
execute_gaql_query |
运行自定义GAQL查询 | 高级查询 |
get_image_assets |
查看上传的图像和徽标 | 资产管理 |
create_campaign |
创建新活动(暂停状态) | 活动创建 |
update_campaign_status |
启用/暂停/删除活动 | 活动管理 |
create_ad_group |
创建新的广告组(暂停状态) | 广告组创建 |
create_responsive_search_ad |
创建RSA广告(暂停状态) | 广告创建 |
add_keywords |
添加带有验证的阳性关键字 | 关键字管理 |
add_negative_keywords |
添加负面关键字以防止不必要的流量 | 流量控制 |
update_ad_group_bids |
修改广告组竞价策略 | 竞价管理 |
pause_ad_group |
暂停/启用广告组 | 广告组控制 |
🔥 新增:转化跟踪和归因(6个工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
get_conversions |
检索转换操作和性能指标 | ROI测量和分析 |
create_conversion_action |
设定新的转化跟踪目标 | 跟踪业务目标 |
update_conversion_action |
修改转换设置和归因 | 优化跟踪配置 |
get_conversion_attribution |
分析归因模型和客户旅程 | 了解转化路径 |
get_conversion_path_data |
详细的客户旅程洞察 | 客户行为分析 |
import_offline_conversions |
上传离线转化数据(店铺访问、通话) | 完成转化图片 |
🎯 新增:受众管理和目标定位(8个工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
get_audiences |
列出所有可用的受众群体 | 受众策略概述 |
create_custom_audience |
创建自定义受众列表和细分 | 高级定位 |
add_audience_to_campaign |
将受众定位应用于活动 | 精准定位 |
remove_audience_from_campaign |
删除受众定位 | 活动优化 |
get_audience_insights |
受众表现和人口统计分析 | 数据驱动的决策 |
create_customer_match_list |
从数据中创建客户匹配受众 | 第一方数据定位 |
upload_customer_match_data |
上传客户电子邮件/电话进行匹配 | CRM集成 |
create_lookalike_audience |
基于现有数据创建类似受众 | 受众扩展 |
📊 新增:增强的报告和分析(8个工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
get_search_term_report |
搜索查询性能和负面关键字机会 | 查询优化 |
get_demographic_report |
年龄、性别和人口统计表现细分 | 受众洞察 |
get_geographic_report |
基于位置的性能分析 | 地理优化 |
get_auction_insights |
竞争格局和印象分享分析 | 竞争情报 |
get_change_history |
账户修改审计跟踪 | 变更跟踪 |
generate_forecast_metrics |
交通和转换预测 | 预算规划 |
get_click_view_report |
详细的点击率数据和用户行为 | 深入分析 |
get_video_report |
视频活动绩效指标 | 视频优化 |
💰 新增:预算与招标管理(7个工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
get_shared_budgets |
列出共享活动预算池 | 预算组织 |
create_shared_budget |
跨活动创建共享预算池 | 预算效率 |
get_bidding_strategies |
列出自动竞价策略 | 竞价优化 |
create_bidding_strategy |
创建智能竞价策略(目标CPA、ROAS) | 自动优化 |
get_bid_simulations |
预测投标影响和绩效变化 | 投标计划 |
update_bid_adjustments |
设备、位置和人口统计出价修改 | 精细控制 |
get_budget_recommendations |
谷歌的人工智能预算建议 | 性能改进 |
🖼️ 新增:资产管理(7种工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
upload_image_asset |
上传和管理广告的图像资产 | 创意管理 |
get_video_assets |
检索视频资产库 | 视频活动支持 |
create_asset_group |
创建Performance Max资产组 | Performance Max活动 |
get_asset_performance |
资产级绩效指标 | 创造性优化 |
create_sitelink_assets |
创建站点链接扩展 | 广告可见性增强 |
create_callout_assets |
创建标注扩展 | 突出价值主张 |
create_structured_snippet_assets |
创建结构化代码段扩展 | 详细的产品/服务信息 |
🚀 新增:高级活动类型(6个工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
create_performance_max_campaign |
通过AI优化创建Performance Max广告系列 | 谷歌AI驱动的广告系列 |
create_demand_gen_campaign |
创建需求生成活动 | 品牌知名度和发现 |
create_app_campaign |
创建应用推广活动 | 移动应用营销 |
create_smart_campaign |
为小型企业创建智能活动 | 简化活动管理 |
get_campaign_experiments |
列出活动A/B测试和实验 | 测试和优化 |
create_campaign_experiment |
创建活动实验进行测试 | 拆分测试功能 |
📍 新增:地理和人口定位(6个工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
get_geographic_performance |
位置性能细分和见解 | 本地优化 |
add_location_targets |
地理定位管理 | 基于位置的活动 |
add_demographic_targets |
年龄、性别和人口定位 | 受众精准度 |
get_location_insights |
定位建议 | 地理扩展 |
set_location_bid_adjustments |
基于位置的投标修改 | 本地投标优化 |
manage_language_targets |
语言目标管理 | 多语言活动 |
🔧 新增:扩展和建议(8个工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
create_sitelink_extensions |
Sitelink扩展管理 | 增强的广告资源 |
create_call_extensions |
呼叫分机设置和管理 | 电话潜在客户开发 |
create_callout_extensions |
标注扩展创建 | 突出价值主张 |
get_extension_performance |
扩展性能指标 | 扩展优化 |
get_recommendations |
谷歌的人工智能优化建议 | 自动化改进 |
apply_recommendation |
自动应用谷歌推荐 | 一键优化 |
dismiss_recommendation |
删除不相关的建议 | 建议管理 |
get_keyword_ideas |
关键字研究和扩展建议 | 关键字发现 |
📋 新增:组织和管理工具(6个工具)
| 工具 | 描述 | 业务影响 |
|---|---|---|
create_labels |
为资源创建组织标签 | 帐户组织 |
apply_labels |
将标签应用于活动、广告组等。 | 资源分类 |
get_labeled_resources |
按标签筛选器查找资源 | 快速访问资源 |
bulk_edit_operations |
跨多个资源的批处理操作 | 效率提高 |
get_account_hierarchy |
账户结构可视化 | 账户管理 |
manage_link_invitations |
帐户链接和邀请管理 | 多帐户管理 |
🎯 总计:82个综合工具,覆盖85%以上的Google Ads API功能
💬 对话示例
获取活动概述
You: "Show me all campaigns for account 1234567890 with their performance metrics"
Claude: I'll get your campaigns and their performance data.
[Uses get_campaigns and get_campaign_performance tools]
Results:
• Campaign "Holiday Sale 2024": 15,432 impressions, 1,234 clicks (8.0% CTR)
• Campaign "Brand Awareness": 8,901 impressions, 456 clicks (5.1% CTR)
• Total spend: $2,847.32 this month
安全创建新活动
You: "Create a search campaign called 'New Product Launch' with $100 daily budget for account 1234567890"
Claude: I'll create a new search campaign for you. For safety, it will be created in PAUSED state.
[Uses create_campaign tool]
✅ Campaign created successfully!
• Name: "New Product Launch"
• Budget: $100/day
• Status: PAUSED (ready for you to review and enable)
• Campaign ID: 987654321
分析关键字性能
You: "What are the top performing keywords for campaign 987654321?"
Claude: I'll analyze the keyword performance for that campaign.
[Uses execute_gaql_query tool with custom GAQL]
Top performing keywords:
1. "premium software solution" - 2,341 impressions, 187 clicks (8.0% CTR)
2. "best project management" - 1,876 impressions, 134 clicks (7.1% CTR)
3. "business automation tool" - 1,432 impressions, 89 clicks (6.2% CTR)
机构多账户管理
You: "Show me a summary of all my client accounts' performance this month"
Claude: I'll get performance data across all your managed accounts.
[Uses list_accounts and get_campaign_performance for each]
Account Performance Summary:
📊 Client A (Account: 1111111111): $12,340 spent, 234 conversions
📊 Client B (Account: 2222222222): $8,750 spent, 156 conversions
📊 Client C (Account: 3333333333): $15,680 spent, 289 conversions
📈 Total: $36,770 spent, 679 conversions across all accounts
🔍 高级GAQL查询
服务器支持用于高级分析的自定义GAQL查询:
活动绩效分析
SELECT
campaign.name,
campaign.status,
metrics.impressions,
metrics.clicks,
metrics.ctr,
metrics.cost_micros,
metrics.conversions,
metrics.conversions_value
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
AND campaign.status = 'ENABLED'
ORDER BY metrics.cost_micros DESC
关键字性能与质量分数
SELECT
ad_group_criterion.keyword.text,
ad_group_criterion.keyword.match_type,
ad_group_criterion.quality_info.quality_score,
metrics.impressions,
metrics.clicks,
metrics.ctr,
metrics.average_cpc
FROM ad_group_criterion
WHERE ad_group_criterion.type = 'KEYWORD'
AND segments.date DURING LAST_7_DAYS
AND metrics.impressions > 100
ORDER BY metrics.ctr DESC
广告性能比较
SELECT
ad_group_ad.ad.responsive_search_ad.headlines,
ad_group_ad.ad.responsive_search_ad.descriptions,
metrics.impressions,
metrics.clicks,
metrics.ctr,
metrics.conversions
FROM ad_group_ad
WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD'
AND segments.date DURING LAST_14_DAYS
AND metrics.impressions > 1000
ORDER BY metrics.conversions DESC
🔍 GAQL(谷歌广告查询语言)
服务器包括内置的GAQL参考和示例:
-- Get campaign performance
SELECT
campaign.name,
metrics.impressions,
metrics.clicks,
metrics.cost_micros
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
-- Get keyword performance
SELECT
ad_group_criterion.keyword.text,
ad_group_criterion.keyword.match_type,
metrics.impressions,
metrics.clicks
FROM ad_group_criterion
WHERE ad_group_criterion.type = 'KEYWORD'
AND segments.date DURING LAST_7_DAYS
🏗️ 建筑
graph TD
A[Claude AI] --> B[MCP Protocol]
B --> C[Google Ads MCP Server]
C --> D[Authentication Manager]
C --> E[Google Ads API Client]
D --> F[OAuth 2.0]
D --> G[Service Account]
E --> H[Google Ads API v19]
C --> I[82 Available Tools]
I --> J[Read Operations]
I --> K[Write Operations]
J --> L[Campaigns, Ads, Keywords]
K --> M[Create, Update, Manage]
🚀 发展
设置开发环境
# Clone and setup
git clone https://github.com/anegash/google-ads-mcp-server.git
cd google-ads-mcp-server
# Install dependencies
npm install
# Setup environment
cp .env.example .env
# Edit .env with your credentials
# Development mode
npm run dev
# Build
npm run build
# Test
npm test
项目结构
src/
├── api/
│ └── client.ts # Google Ads API client with 82 tools
├── auth/
│ └── credentials.ts # Authentication management
├── types/
│ ├── index.ts # Main type exports
│ ├── conversions.ts # Conversion tracking types
│ ├── audiences.ts # Audience management types
│ ├── reporting.ts # Enhanced reporting types
│ ├── budgets.ts # Budget & bidding types
│ ├── assets.ts # Asset management types
│ ├── campaigns.ts # Advanced campaign types
│ ├── targeting.ts # Geographic & demographic types
│ ├── extensions.ts # Extensions & recommendations
│ └── management.ts # Organization & management types
├── server.ts # MCP server with all 82 tools
├── cli.ts # Command-line interface
└── index.ts # Package exports
⚙️ 配置选项
环境变量
| 变量 | 描述 | 必填 | 示例 |
|---|---|---|---|
GOOGLE_ADS_CLIENT_ID |
OAuth客户端ID | 是* | 123...apps.googleusercontent.com |
GOOGLE_ADS_CLIENT_SECRET |
OAuth客户端机密 | 是* | GOCSPX-... |
GOOGLE_ADS_REFRESH_TOKEN |
OAuth刷新令牌 | 是* | 1//04... |
GOOGLE_ADS_DEVELOPER_TOKEN |
开发者令牌 | 是 | abc123... |
GOOGLE_ADS_LOGIN_CUSTOMER_ID |
经理帐户ID | 否 | 123-456-7890 |
GOOGLE_ADS_SERVICE_ACCOUNT_KEY_PATH |
服务帐户文件 | 是** | /path/to/key.json |
GOOGLE_ADS_SERVICE_ACCOUNT_KEY |
内联服务帐户 | 是** | {\"type\":\"service_account\"...} |
*OAuth身份验证所必需的 **服务帐户身份验证所需
命令行选项
npx @hapotech/google-ads-mcp --help
Options:
-c, --config Path to config file
--client-id Google Ads Client ID
--client-secret Google Ads Client Secret
--refresh-token Google Ads Refresh Token
--developer-token Google Ads Developer Token
--login-customer-id Google Ads Login Customer ID
--service-account-key-path Path to service account key file
--use-keyword-sandbox Use keyword planning sandbox
--help Show help
🛡️ 安全功能
- ✅ 无硬编码凭据:来自environment/config的所有凭据
- ✅ 安全写入操作:所有创建的资源都以PAUSED状态开始
- ✅ 输入验证:对所有输入进行全面验证
- ✅ 误差边界:详细的错误处理和报告
- ✅ 许可证管理:自动刷新OAuth令牌
- ✅ 路径保护:安全的文件路径处理
📊 监控与调试
启用调试日志记录
# Set log level
export LOG_LEVEL=debug
# Enable debug output
export DEBUG=google-ads-mcp:*
🛠️ 故障排除
常见问题及解决方法
身份验证错误
问题: Error: Request failed with status code 401
✅ Solutions:
• Verify your developer token is approved and active
• Check OAuth credentials (client ID, client secret, refresh token)
• Ensure the refresh token hasn't expired
• Verify Google Ads API is enabled in Google Cloud Console
问题: Error: Request failed with status code 403
✅ Solutions:
• Check if you have access to the customer account
• Verify GOOGLE_ADS_LOGIN_CUSTOMER_ID is set for manager accounts
• Ensure your developer token has the necessary permissions
• Check if the account is properly linked in Google Ads
经理账户问题
问题:“无法访问托管帐户”
✅ Solutions:
• Set GOOGLE_ADS_LOGIN_CUSTOMER_ID to your manager account ID
• Verify the managed account is linked under your manager account
• Check account permissions in Google Ads → Account Management
• Ensure the managed account accepted your invitation
API配额和费率限制
问题: Error: Quota exceeded 或速率限制
✅ Solutions:
• Google Ads API has daily and per-minute quotas
• Implement delays between requests
• Monitor usage in Google Cloud Console → APIs & Services → Quotas
• Contact Google support for quota increases if needed
配置问题
问题:“在Claude中找不到Google Ads MCP服务器”
✅ Solutions:
• Restart Claude Desktop after configuration changes
• Verify .mcp.json or claude_desktop_config.json syntax
• Check file permissions and paths
• Ensure npx can access @hapotech/google-ads-mcp
问题:未加载环境变量
✅ Solutions:
• Use absolute paths for service account keys
• Quote environment variables with special characters
• Restart the application after setting environment variables
• Check that variable names match exactly (case-sensitive)
调试模式
启用详细日志以进行故障排除:
# For CLI usage
DEBUG=google-ads-mcp:* npx @hapotech/google-ads-mcp
# For environment
export DEBUG=google-ads-mcp:*
export LOG_LEVEL=debug
验证命令
测试您的配置:
# Test authentication
npx @hapotech/google-ads-mcp --test-auth
# Validate configuration
npx @hapotech/google-ads-mcp --validate-config
# List available accounts (requires working auth)
npx @hapotech/google-ads-mcp --list-accounts
🤝 贡献
- 分叉存储库
- 创建特征分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🚀 下一步和路线图
🎯 直接机会
现在有82个工具可用,您可以:
- 完整的活动管理:创建、优化和分析端到端的营销活动
- 高级归因:跟踪整个客户旅程中的转化率
- 受众智能:精准地建立和定位自定义受众
- 自动化优化:利用谷歌的人工智能竞价策略
- 专业报道:生成全面的绩效报告
🔮 未来增强功能(v2.0)
- AI驱动的洞察:超出谷歌建议的机器学习建议
- 多平台集成:扩展到脸书广告、领英广告、推特广告
- 实时监控:活动性能警报和异常检测
- 批量操作:增强企业账户的批处理
- 自定义仪表板:个性化报告和数据可视化
💡 立即开始
# Test the complete toolset
npx @hapotech/google-ads-mcp
# Try advanced conversions
"Show me conversion attribution for account 1234567890"
# Create custom audiences
"Create a customer match list for my email database"
# Generate comprehensive reports
"Give me a complete performance analysis across all campaigns"
📚 文档
🔗 链接
🆘 支持
由以下材料制成❤️ 靠近 哈波泰克
使人工智能助手能够使用自然语言命令管理谷歌广告活动!