本项目是一个用于与Google Ads API交互的管理客户平台(MCP)的实现,允许您通过Claude Desktop和Cursor进行配置和控制,具备广告系列管理、广告组管理等多种核心功能。
git clone https://github.com/your-username/google-ads-mcp.git
cd google-ads-mcp
pip install -r requirements.txt
.env文件:GOOGLE_ADS_CREDENTIALS_PATH=/path/to/your/google-ads.json
CLAUDE_API_KEY=your_api_key_here
python -m google_ads_mcp.mcp --config config.json
git clone https://github.com/your-username/google-ads-mcp.git
cd google-ads-mcp
pip install -r requirements.txt
创建并编辑.env文件:
GOOGLE_ADS_CREDENTIALS_PATH=/path/to/your/google-ads.json
CLAUDE_API_KEY=your_api_key_here
在google_ads_mcp/mcp.py中添加Claude API调用:
from claude_api import ClaudeAPI
class GoogleAdsMCP:
def __init__(self):
self.claude = ClaudeAPI(your_api_key)
# 其他方法...
在Caulde Desktop中注册您的服务:
创建新的Python文件claude_plugin.py:
from google_ads_mcp.mcp import GoogleAdsMCP
class GoogleAdsPlugin:
def __init__(self, api_key):
self.mcp = GoogleAdsMCP()
def get_advertising_campaigns(self):
return self.mcp.list_campaigns()
在Cursor中使用MCP,创建google_ads_mcp/cursor_extension.py:
from .mcp import GoogleAdsMCP
class GoogleAdsExtension:
def __init__(self):
self.mcp = GoogleAdsMCP()
def get_campaigns(self):
return self.mcp.list_campaigns()
在项目根目录创建setup.py:
from setuptools import setup, find_packages
setup(
name="google-ads-mcp",
version="1.0.0",
packages=find_packages(),
install_requires=[
"google-ads",
"claude_api"
]
)
google-ads-mcp/
├── google_ads_mcp/
│ ├── __init__.py
│ ├── mcp.py # 核心MCP实现
│ ├── services/ # 所有服务的定义
│ │ └── ads_service.py # Google Ads API服务
│ └── tests/ # 测试文件
│ ├── test_google_ads_mcp.py # 主要测试文件
│ └── test_token_refresh.py # 认证和令牌刷新测试
├── .env # 环境变量文件
├── config.json # MCP配置文件
├── requirements.txt # 项目依赖项
└── README.md # 项目说明文档
编辑tests/test_google_ads_mcp.py:
import os
from unittest.mock import patch
from google_ads_mcp.mcp import GoogleAdsMCP
def test_init():
with patch.dict('os.environ', {
'GOOGLE_ADS_CREDENTIALS_PATH': '/path/to/google-ads.json',
'CLAUDE_API_KEY': 'test_key'
}):
mcp = GoogleAdsMCP()
assert mcp.credentials_path == '/path/to/google-ads.json'
assert mcp.claude_api_key == 'test_key'
运行以下命令:
python -m pytest tests/
.env文件路径是否正确。config.json{
"google_ads": {
"client_id": "your_client_id",
"client_secret": "your_client_secret"
},
"claude": {
"api_key": "your_api_key_here"
}
}
项目使用MIT许可证。请查看LICENSE文件获取详细信息。
如需反馈,请联系:
ernesto@ixigo.com