Model Context Protocol (MCP) เป็นมาตรฐานแบบเปิดที่ช่วยให้ Large Language Model (LLM) โต้ตอบกับข้อมูลและแอปพลิเคชันภายนอกได้อย่างปลอดภัย เซิร์ฟเวอร์ Google Ads MCP เป็นสะพานเชื่อมมาตรฐานกับ Google Ads API ซึ่งช่วยให้ AI Agent วิเคราะห์และดึงข้อมูลแคมเปญโดยใช้ภาษาธรรมชาติได้
แหล่งข้อมูลและการสนับสนุนจากชุมชน
ที่เก็บ GitHub: ค้นหาการสาธิต ตัวอย่าง และรายงานข้อบกพร่องหรือแนะนำ ฟีเจอร์ในที่เก็บ google-ads-mcp
ใช้แท็บ Issues เพื่อรายงานข้อบกพร่อง และส่งคำขอฟีเจอร์
ชุมชน: เข้าร่วมแชแนล
#ads-api-ai-toolsใน Google Advertising Community Discord
ภาพรวมด้านเทคนิค
การติดตั้งใช้งานเซิร์ฟเวอร์ MCP นี้จะช่วยให้คุณไม่ต้องเขียน "โค้ดกาว" ที่กำหนดเองสำหรับการตรวจสอบสิทธิ์ Google Ads API, การดึงข้อมูลทรัพยากร และการแยกวิเคราะห์ข้อมูล เซิร์ฟเวอร์จะแสดงเครื่องมือ เฉพาะที่ LLM ค้นพบและเรียกใช้ได้โดยอัตโนมัติ
ข้อกำหนดที่สำคัญ
- โปรโตคอล: MCP (Model Context Protocol)
- โหมด: อ่านอย่างเดียว (เวอร์ชันปัจจุบัน)
- ภาษา: Python
- การรับส่ง: อินพุต/เอาต์พุตมาตรฐาน (
stdio) หรือ HTTP ที่สตรีมได้ (streamable-http/ Cloud Run) - การตรวจสอบสิทธิ์: OAuth 2.0 หรือบัญชีบริการ
วิธีการทำงานของลูปการโต้ตอบ
- คำขอ: ผู้ใช้ส่งคำค้นหา เช่น "ประสิทธิภาพของแคมเปญของฉัน ในสัปดาห์นี้เป็นอย่างไรบ้าง"
- การค้นพบ: LLM จะตรวจสอบเครื่องมือที่พร้อมใช้งานและระบุความสามารถในการค้นหา
google-ads-mcp - การดำเนินการ: เซิร์ฟเวอร์ MCP จะเรียกใช้ตรรกะ Python ที่อยู่เบื้องหลังเพื่อค้นหา Google Ads API
- การแทรกบริบท: ระบบจะส่งคืนผลลัพธ์ที่มีโครงสร้างไปยังหน้าต่างบริบทของ LLM
- คำตอบ: LLM จะสังเคราะห์ข้อมูลเป็นคำตอบที่มนุษย์อ่านได้
เริ่มต้นใช้งาน
ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่าและใช้เซิร์ฟเวอร์ Google Ads MCP
ข้อกำหนดเบื้องต้น
ก่อนการกำหนดค่า โปรดตรวจสอบว่าคุณมีข้อมูลเข้าสู่ระบบต่อไปนี้จาก Google คอนโซล Cloud:
- รหัสโปรเจ็กต์: รหัสโปรเจ็กต์ Google Cloud (
GOOGLE_PROJECT_ID) ตรวจสอบ หน้าภาพรวม Google Ads APIเพื่อให้แน่ใจว่าโปรเจ็กต์ของคุณมี ระดับการเข้าถึง Explorer, ระดับการเข้าถึงพื้นฐาน หรือระดับการเข้าถึงมาตรฐาน หากไม่มี ให้ สมัครขอระดับการเข้าถึงระดับใดระดับหนึ่ง โปรดทราบว่า โทเค็นของนักพัฒนา (GOOGLE_ADS_DEVELOPER_TOKEN) เลิกใช้งานแล้วเมื่อวันที่ 9 กันยายน 2026 และไม่จำเป็นต้องใช้ใน เซิร์ฟเวอร์ Google Ads MCP เวอร์ชันล่าสุดอีกต่อไป เนื่องจากระดับการเข้าถึง API เชื่อมโยง กับโปรเจ็กต์ Google Cloud - ข้อมูลเข้าสู่ระบบ OAuth: รหัสไคลเอ็นต์/รหัสลับไคลเอ็นต์ OAuth 2.0 หรือ ชุดข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน
การกำหนดค่า
หากต้องการผสานรวมเซิร์ฟเวอร์เข้ากับโฮสต์ที่เข้ากันได้กับ MCP ให้เพิ่มรายการต่อไปนี้ลงในไฟล์การกำหนดค่า MCP ของโฮสต์ เช่น settings.json และชี้ GOOGLE_APPLICATION_CREDENTIALS ไปยังไฟล์ JSON ของ ADC (หรือกำหนดค่า ADC เริ่มต้นด้วย gcloud auth application-default login) หากคุณเข้าถึงบัญชีผ่านบัญชีดูแลจัดการ คุณยังตั้งค่า GOOGLE_ADS_LOGIN_CUSTOMER_ID ได้ด้วย
โปรดดูตำแหน่งและชื่อไฟล์ที่แน่นอนของการกำหนดค่านี้ในเอกสารประกอบของโฮสต์
{
"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_APPLICATION_CREDENTIALS": "/path/to/credentials.json"
}
}
}
}
การติดตั้งใช้งานบน Google Cloud
คุณสามารถโฮสต์เซิร์ฟเวอร์ MCP นี้บน Google Cloud Run หรือโครงสร้างพื้นฐานระบบคลาวด์อื่นๆ แทนการโฮสต์ในเครื่อง ซึ่งจะเป็นประโยชน์หากคุณต้องการแชร์เซิร์ฟเวอร์ระหว่าง Agent ต่างๆ หรือเรียกใช้เป็นบริการเว็บ
ข้อกำหนดเบื้องต้น
- โปรเจ็กต์ 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ไปที่ไดเรกทอรีโปรเจ็กต์
cd <full path>/google-ads-mcpสร้างและส่งอิมเมจโดยทำดังนี้
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 ซึ่งมีระดับการเข้าถึง API ที่เหมาะสมGOOGLE_ADS_MCP_OAUTH_CLIENT_ID: รหัสไคลเอ็นต์ OAuth 2.0 (กำหนดค่าเป็นเว็บแอปพลิเคชัน ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google) สำหรับการตรวจสอบสิทธิ์ OAuth ระดับแอปพลิเคชัน ตรวจสอบว่าคุณได้ดำเนินการต่อไปนี้- เพิ่ม URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตที่เหมาะสมสำหรับไคลเอ็นต์ AI ที่คุณวางแผนจะเชื่อมต่อ (เช่น
https://claude.ai/api/mcp/auth_callback,https://chatgpt.com/connector_platform_oauth_redirectหรือhttps://antigravity.google/oauth-callback) - เพิ่มขอบเขต
https://www.googleapis.com/auth/adwordsลงในหน้าจอขอความยินยอม OAuth ในส่วนAPI และบริการ > หน้าจอขอความยินยอม OAuth > การเข้าถึงข้อมูล (เพิ่มหรือนำขอบเขตออก) - หากสถานะการเผยแพร่หน้าจอขอความยินยอม OAuth ตั้งค่าเป็นการทดสอบ (ค่าเริ่มต้น) คุณได้เพิ่มบัญชี Google ที่เชื่อมต่อกับเซิร์ฟเวอร์ MCP เป็นผู้ใช้ทดสอบ ในส่วนAPI และบริการ > หน้าจอขอความยินยอม OAuth > กลุ่มเป้าหมาย (ผู้ใช้ทดสอบ > + เพิ่มผู้ใช้)
- เพิ่ม URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตที่เหมาะสมสำหรับไคลเอ็นต์ AI ที่คุณวางแผนจะเชื่อมต่อ (เช่น
GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: รหัสลับไคลเอ็นต์ OAuth ที่สอดคล้องกับรหัสไคลเอ็นต์ OAuthGOOGLE_ADS_MCP_BASE_URL: URL ฐานสาธารณะที่เข้าถึงเซิร์ฟเวอร์ MCP ได้ (เช่นhttps://google-ads-mcp-xyz-uc.a.run.app) เนื่องจาก Google Cloud Run จะสร้าง URL นี้ระหว่างการติดตั้งใช้งานครั้งแรก ให้ติดตั้งใช้งานโดยไม่มีตัวแปรนี้ก่อน แล้วอัปเดตบริการหลังการติดตั้งใช้งานFASTMCP_HOST: ตั้งค่าเป็น0.0.0.0เพื่ออนุญาตให้ FastMCP ยอมรับการเชื่อมต่อจากที่อยู่ IP ทั้งหมด
ติดตั้งใช้งานบริการกับ Google Cloud Run โดยทำดังนี้
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_MCP_OAUTH_CLIENT_ID=YOUR_CLIENT_ID,GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=YOUR_CLIENT_SECRET,FASTMCP_HOST=0.0.0.0"
หลังจาก Cloud Run ติดตั้งใช้งานเสร็จแล้ว ให้ดึงข้อมูล URL ของบริการที่กำหนดและอัปเดตบริการด้วยตัวแปรสภาพแวดล้อม GOOGLE_ADS_MCP_BASE_URL โดยทำดังนี้
gcloud run services update google-ads-mcp \
--region us-central1 \
--update-env-vars="GOOGLE_ADS_MCP_BASE_URL=https://your-cloud-run-url.a.run.app"
โมเดลการตรวจสอบสิทธิ์และความปลอดภัย
การติดตั้งใช้งานด้วย --allow-unauthenticated จะปิดใช้การตรวจสอบ IAM ระดับโครงสร้างพื้นฐานของ Cloud Run (roles/run.invoker) เพื่อให้ไคลเอ็นต์ AI ภายนอกเชื่อมต่อได้โดยไม่ต้องใช้โทเค็นบัญชีบริการ Google Cloud
ระบบจะมอบสิทธิ์การตรวจสอบสิทธิ์ให้กับเลเยอร์ของแอปพลิเคชัน แทน โดยทำดังนี้
- เมื่อมีการระบุ
GOOGLE_ADS_MCP_OAUTH_CLIENT_IDและGOOGLE_ADS_MCP_OAUTH_CLIENT_SECRETเซิร์ฟเวอร์ MCP จะบังคับใช้ Google OAuth 2.0 กับคำขอขาเข้าทั้งหมด โดยจะแจ้งให้ผู้โทรที่ไม่ได้รับการตรวจสอบสิทธิ์ทราบด้วยการตอบกลับ HTTP 401 คำขอเครื่องมือทั้งหมดจะดำเนินการภายใต้ข้อมูลประจำตัว OAuth ของผู้โทรที่ได้รับการตรวจสอบสิทธิ์เท่านั้น - การละเว้น
--allow-unauthenticatedจะบังคับใช้ IAM โครงสร้างพื้นฐานของ Cloud Run ซึ่งกำหนดให้ผู้โทรต้องส่งโทเค็นข้อมูลประจำตัว OIDC ของ Google Cloud ไปกับคำขอแต่ละรายการ เนื่องจากไคลเอ็นต์ AI มาตรฐาน (เช่น Claude และ ChatGPT) จะตรวจสอบสิทธิ์โดยใช้ OAuth ของผู้ใช้ปลายทางแทนโทเค็นข้อมูลประจำตัว IAM ของ Google Cloud การเชื่อมต่อโดยตรงจากแพลตฟอร์มเหล่านี้จึงต้องใช้--allow-unauthenticatedกับ OAuth ระดับแอปพลิเคชัน
กำหนดค่าไคลเอ็นต์ MCP
หลังจากติดตั้งใช้งานแล้ว ให้กำหนดค่าไคลเอ็นต์ MCP ด้วย URL ของ Cloud Run เนื่องจากเซิร์ฟเวอร์ต้องใช้การตรวจสอบสิทธิ์ OAuth 2.0 ไคลเอ็นต์จึงต้องรองรับโฟลว์ OAuth ของ MCP หรือระบุโทเค็นสำหรับผู้ถือที่ได้รับอนุญาต
- ไคลเอ็นต์ที่เปิดใช้ OAuth: สำหรับไคลเอ็นต์ที่รองรับการค้นพบ OAuth ของ MCP (เช่น Antigravity) การเชื่อมต่อกับปลายทางจะทริกเกอร์ข้อความแจ้งการตรวจสอบสิทธิ์ให้ลงชื่อเข้าใช้ด้วย Google และให้สิทธิ์ขอบเขต
https://www.googleapis.com/auth/adwords(แสดงเป็น.../auth/adwordsในคอนโซล Google Cloud) - แพลตฟอร์ม AI ของบุคคลที่สาม (Claude, ChatGPT): ในการตั้งค่าตัวเชื่อมต่อ
หรือการผสานรวมของไคลเอ็นต์ ให้เพิ่มตัวเชื่อมต่อที่กำหนดเองซึ่งชี้ไปยัง URL ของ Cloud Run
ที่มีเส้นทาง
/mcp(เช่นhttps://your-cloud-run-url.a.run.app/mcp) เลือกการตรวจสอบสิทธิ์ OAuth 2.0 (โดยใช้รหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ OAuth ของคุณเอง) และตรวจสอบว่าได้เพิ่ม URI การเรียกกลับของไคลเอ็นต์ลงใน URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตของไคลเอ็นต์ OAuth แล้ว (ผู้เข้าร่วมที่ได้รับอนุญาตของโปรแกรมนำร่องปลายทางที่โฮสต์ยังดู คู่มือการตั้งค่า MCP ที่โฮสต์ได้ด้วย) - ไคลเอ็นต์ที่ไม่รองรับ OAuth: ไคลเอ็นต์ที่ไม่รองรับโฟลว์ OAuth ของ HTTP จะได้รับการตอบกลับ HTTP 401 Unauthorized สำหรับเครื่องมือเหล่านี้ ให้ใช้ การกำหนดค่า stdio ในเครื่องแทน
ตัวอย่างการกำหนดค่าสำหรับไคลเอ็นต์ที่รองรับ OAuth (เช่น ~/.gemini/settings.json)
{
"mcpServers": {
"google-ads-mcp": {
"httpUrl": "https://your-cloud-run-url.a.run.app/mcp"
}
}
}
ความสามารถหลัก (เครื่องมือ)
เซิร์ฟเวอร์จะแสดงเครื่องมือที่ออกแบบมาสำหรับการค้นพบบัญชีและการรายงานประสิทธิภาพ ดังนี้
list_accessible_customers: แสดงรายการรหัสลูกค้า Google Ads และชื่อบัญชีที่ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เข้าถึงได้search: เรียกใช้คำขอ Google Ads Query Language (GAQL) เพื่อดึงข้อมูลเมตริกทรัพยากร งบประมาณ และสถานะget_resource_metadata: ดึงข้อมูลเมตาเกี่ยวกับประเภททรัพยากร Google Ads API เช่น"campaign"ซึ่งจะเป็นประโยชน์ในการทำความเข้าใจโครงสร้างของข้อมูลและฟิลด์ที่ใช้ได้สำหรับการค้นหา
ตัวอย่างพรอมต์เพื่อเริ่มต้นใช้งาน
ถามสิ่งที่เซิร์ฟเวอร์ทำได้:
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