เซิร์ฟเวอร์ MCP ของ Google Ads: คู่มือการผสานรวมสำหรับนักพัฒนาซอฟต์แวร์

Model Context Protocol (MCP) เป็นมาตรฐานแบบเปิดที่ช่วยให้โมเดลภาษาขนาดใหญ่ (LLM) โต้ตอบกับข้อมูลและแอปพลิเคชันภายนอกได้อย่างปลอดภัย เซิร์ฟเวอร์ MCP ของ Google Ads มีสะพานเชื่อมมาตรฐานไปยัง Google Ads API ซึ่งช่วยให้ Agent AI วิเคราะห์และดึงข้อมูลแคมเปญโดยใช้ภาษาธรรมชาติได้

แหล่งข้อมูลและการสนับสนุนจากชุมชน

ภาพรวมทางเทคนิค

การติดตั้งใช้งานเซิร์ฟเวอร์ MCP นี้จะช่วยลดความจำเป็นในการเขียน "โค้ดกาว" ที่กำหนดเองสำหรับการตรวจสอบสิทธิ์ Google Ads API, การดึงข้อมูลทรัพยากร และการแยกวิเคราะห์ข้อมูล เซิร์ฟเวอร์จะแสดงเครื่องมือ เฉพาะที่ LLM ค้นพบและเรียกใช้ได้โดยอัตโนมัติ

ข้อกำหนดที่สำคัญ

  • โปรโตคอล: MCP (Model Context Protocol)
  • โหมด: อ่านอย่างเดียว (เวอร์ชันปัจจุบัน)
  • ภาษา: Python
  • การรับส่งข้อมูล: อินพุต/เอาต์พุตมาตรฐาน (stdio)
  • การตรวจสอบสิทธิ์: OAuth 2.0 หรือบัญชีบริการ

วิธีการทำงานของวงจรการโต้ตอบ

  1. คำขอ: ผู้ใช้ส่งคำค้นหา เช่น "ประสิทธิภาพของแคมเปญ ในสัปดาห์นี้เป็นอย่างไรบ้าง".
  2. การค้นพบ: LLM จะตรวจสอบเครื่องมือที่พร้อมใช้งานและระบุความสามารถในการค้นหา google-ads-mcp
  3. การดำเนินการ: เซิร์ฟเวอร์ MCP จะดำเนินการตรรกะ Python ที่เกี่ยวข้องเพื่อค้นหา Google Ads API
  4. การแทรกบริบท: ระบบจะส่งผลลัพธ์ที่มีโครงสร้างกลับไปยังหน้าต่างบริบทของ LLM
  5. คำตอบ: LLM จะสังเคราะห์ข้อมูลเป็นคำตอบที่มนุษย์อ่านได้

เริ่มต้นใช้งาน

ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่าและใช้เซิร์ฟเวอร์ MCP ของ Google Ads

ข้อกำหนดเบื้องต้น

ก่อนการกำหนดค่า โปรดตรวจสอบว่าคุณมีข้อมูลเข้าสู่ระบบต่อไปนี้จาก คอนโซลนักพัฒนาซอฟต์แวร์ Google Ads

  • โทเค็นของนักพัฒนาซอฟต์แวร์: สตริงการเข้าถึงแบบ 22 อักขระที่ไม่ซ้ำกัน
  • รหัสโปรเจ็กต์: ตัวระบุโปรเจ็กต์ Google Cloud
  • ข้อมูลเข้าสู่ระบบ OAuth: คู่รหัสไคลเอ็นต์/รหัสลับไคลเอ็นต์ OAuth2 หรือชุด ของ ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน

การกำหนดค่า

หากต้องการผสานรวมเซิร์ฟเวอร์เข้ากับโฮสต์ที่เข้ากันได้กับ 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

คุณสามารถโฮสต์เซิร์ฟเวอร์ MCP นี้บน Google Cloud Run หรือโครงสร้างพื้นฐานอื่นๆ ที่อิงตามระบบคลาวด์แทนการโฮสต์ในเครื่อง ซึ่งจะเป็นประโยชน์หากคุณต้องการแชร์เซิร์ฟเวอร์ระหว่าง Agent ต่างๆ หรือเรียกใช้เป็นบริการเว็บ

ข้อกำหนดเบื้องต้น

  1. โปรเจ็กต์ Google Cloud
  2. ติดตั้งและตรวจสอบสิทธิ์เครื่องมือบรรทัดคำสั่ง gcloud แล้ว รวมถึงกำหนดค่าโปรเจ็กต์ที่ใช้งานอยู่

    gcloud config set project YOUR_PROJECT_ID
    

สร้างและพุชอิมเมจ Docker

คุณสามารถใช้ Cloud Build เพื่อสร้างและพุชอิมเมจไปยัง Artifact Registry โดยไม่ต้องติดตั้ง Docker ในเครื่อง

  1. สร้างที่เก็บใน Artifact Registry โดยทำดังนี้

    gcloud artifacts repositories create mcp-servers --repository-format=docker --location=us-central1
    
  2. สร้างและส่งอิมเมจโดยทำดังนี้

    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
  • GOOGLE_ADS_DEVELOPER_TOKEN: โทเค็นของนักพัฒนาซอฟต์แวร์ ที่ต้องการให้เซิร์ฟเวอร์ MCP ใช้
  • GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: รหัสไคลเอ็นต์ OAuth ที่ต้องการให้เซิร์ฟเวอร์ MCP ใช้
  • GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: รหัสลับไคลเอ็นต์ OAuth ที่ต้องการให้เซิร์ฟเวอร์ MCP ใช้
  • GOOGLE_ADS_MCP_BASE_URL: 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) เพื่อใช้ URL ของ Cloud Run

{
  "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 เช่น "แคมเปญ"

    ซึ่งจะเป็นประโยชน์ในการทำความเข้าใจโครงสร้างของข้อมูลและฟิลด์ที่ใช้ได้สำหรับการค้นหา

ตัวอย่างพรอมต์เพื่อเริ่มต้นใช้งาน

ถามสิ่งที่เซิร์ฟเวอร์ทำได้:

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