Model Context Protocol (MCP) 是一項開放標準,可讓大型語言模型 (LLM) 安全地與外部資料和應用程式互動。Google Ads MCP 伺服器提供 Google Ads API 的標準化橋接器,可讓 AI 代理程式使用自然語言分析及擷取廣告活動資料。
社群資源和支援
GitHub 存放區:在 google-ads-mcp 存放區中尋找試用版和範例,並回報錯誤或建議功能。
社群:加入
#ads-api-ai-tools頻道,前往 Google 廣告社群的 Discord。
技術總覽
導入這個 MCP 伺服器後,您就不必為 Google Ads API 驗證、資源擷取和資料剖析作業編寫自訂「黏合程式碼」。伺服器會公開特定工具,供 LLM 探索及自主叫用。
主要規格
- 通訊協定:MCP (Model Context Protocol)
- 模式: 唯讀 (目前版本)
- 語言:Python
- 傳輸:標準輸入/輸出 (
stdio) - 驗證:OAuth 2.0 或服務帳戶
互動迴圈的運作方式
- 要求:使用者提交查詢,例如「本週廣告活動成效如何?」。
- 探索:LLM 會檢查可用的工具,並找出
google-ads-mcp搜尋功能。 - 執行:MCP 伺服器會執行基礎 Python 邏輯,查詢 Google Ads API。
- 脈絡注入:結構化結果會傳回 LLM 的脈絡視窗。
- 回覆:LLM 會將資料統整為使用者能夠理解的答案。
開始使用
請按照下列步驟設定及使用 Google Ads MCP 伺服器。
必要條件
設定前,請確認您擁有 Google Ads 開發人員控制台的下列憑證:
- 開發人員權杖:您專屬的 22 個字元存取字串。
- 專案 ID:您的 Google Cloud 專案 ID。
- OAuth 憑證:OAuth2 用戶端 ID/用戶端密鑰配對,或一組應用程式預設憑證。
設定
如要將伺服器整合至與 MCP 相容的主機,請在主機的 MCP 設定檔 (例如 settings.json) 中新增下列項目。如要瞭解這個設定的確切位置和檔案名稱,請參閱主機的說明文件。
JSON
{
"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"
}
}
}
}
在 Google Cloud 上部署
您可以在 Google Cloud Run 或任何其他雲端基礎架構上託管這個 MCP 伺服器,不必在本機託管。如果您想在不同代理程式之間共用伺服器,或將伺服器做為網路服務執行,這項功能就非常實用。
必要條件
- Google Cloud 專案。
已安裝
gcloud指令列工具、完成驗證,並設定有效專案:gcloud config set project YOUR_PROJECT_ID
建構及推送 Docker 映像檔
您可以使用 Cloud Build 建構映像檔,並將其推送至 Artifact Registry,不必在本機安裝 Docker。
在 Artifact Registry 中建立存放區:
gcloud artifacts repositories create mcp-servers --repository-format=docker --location=us-central1建構並提交圖片:
gcloud builds submit --tag us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest .請注意,每次想將已部署的伺服器更新至最新版本時,都必須執行這個步驟。
部署到 Google Cloud Run
請務必設定必要的環境變數:
GOOGLE_PROJECT_ID:您的 Google Cloud 專案 ID。GOOGLE_ADS_DEVELOPER_TOKEN:您希望 MCP 伺服器使用的開發人員權杖。GOOGLE_ADS_MCP_OAUTH_CLIENT_ID:MCP 伺服器要使用的 OAuth 用戶端 ID。GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET:MCP 伺服器要使用的 OAuth 用戶端密鑰。GOOGLE_ADS_MCP_BASE_URL:可存取 MCP 伺服器的基本網址:首次部署後,Google Cloud Run 會自動指派這個網址。部署後,您仍可更新環境變數。FASTMCP_HOST:請將此值設為 0.0.0.0,允許 FastMCP 接受來自所有 IP 位址的連線。
gcloud run deploy google-ads-mcp \
--image us-central1-docker.pkg.dev/YOUR_PROJECT_ID/mcp-servers/google-ads-mcp:latest \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars="GOOGLE_PROJECT_ID=YOUR_PROJECT_ID,GOOGLE_ADS_DEVELOPER_TOKEN=YOUR_DEVELOPER_TOKEN,GOOGLE_ADS_MCP_OAUTH_CLIENT_ID=YOUR_CLIENT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET,GOOGLE_ADS_MCP_BASE_URL=YOUR_BASE_URL,FASTMCP_HOST=0.0.0.0"
設定 MCP 用戶端
部署完成後,請更新 MCP 用戶端設定 (例如 ~/.gemini/settings.json),以使用 Cloud Run 網址。
{
"mcpServers": {
"google-ads-mcp": {
"httpUrl": "https://your-cloud-run-url.a.run.app/mcp"
}
}
}
核心功能 (工具)
伺服器會公開專為帳戶探索和成效報表設計的工具:
list_accessible_customers:傳回已通過驗證的使用者可存取的 Google Ads 客戶 ID 和帳戶名稱清單。search:執行 Google Ads 查詢語言 (GAQL) 要求,擷取資源指標、預算和狀態。get_resource_metadata:擷取 Google Ads API 資源類型 (例如「廣告活動」) 的中繼資料。這有助於瞭解資料結構,以及可供查詢的欄位。
入門提示詞範例
詢問伺服器可執行的操作:
What can the google-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?
Give me a report of the top spending campaigns split by device category over the
last 7 days for account 1234567890