เซิร์ฟเวอร์ Model Context Protocol (MCP) ของ Google Analytics ช่วยให้คุณเชื่อมต่อข้อมูล Google Analytics กับโมเดลภาษาขนาดใหญ่ (LLM) และ AI Agent เช่น Gemini ได้ คุณสามารถใช้เซิร์ฟเวอร์ MCP เพื่อค้นหารายงานในภาษาธรรมชาติ ตรวจสอบการกำหนดค่าพร็อพเพอร์ตี้ และสร้าง Agent การวิเคราะห์ที่กำหนดเองได้
ตั้งค่าเซิร์ฟเวอร์ MCP ดูใน GitHub ดูบทแนะนำการตั้งค่า
ข้อกำหนดเบื้องต้น
ก่อนกำหนดค่าเซิร์ฟเวอร์ MCP ของ Google Analytics โปรดทำตามข้อกำหนดต่อไปนี้ให้เสร็จสมบูรณ์
- ติดตั้ง Python และเครื่องมือรันแพ็กเกจ
- ติดตั้ง Python 3.10 ขึ้นไป
- ติดตั้ง
pipxหรือuv(uvx) เพื่อเรียกใช้เซิร์ฟเวอร์ MCP ในสภาพแวดล้อม Python ที่แยกต่างหาก
เปิดใช้ Google Analytics API ใน :
- สร้างหรือเลือก โปรเจ็กต์
เปิดใช้ทั้ง Google Analytics Admin API (
analyticsadmin.googleapis.com) และ Google Analytics Data API (analyticsdata.googleapis.com) ในโปรเจ็กต์โดยทำดังนี้gcloud services enable analyticsadmin.googleapis.com \ analyticsdata.googleapis.com \ --project=YOUR_PROJECT_ID
ให้สิทธิ์เข้าถึงพร็อพเพอร์ตี้ Google Analytics
- ใน UI ของ Google Analytics ให้มอบบทบาทผู้ดู (
roles/analytics.viewer) เป็นอย่างน้อยในพร็อพเพอร์ตี้ Google Analytics เป้าหมายให้แก่บัญชีผู้ใช้หรือบัญชีบริการ ดูวิธีการได้ที่หัวข้อจัดการการเข้าถึงและการจํากัดข้อมูล
- ใน UI ของ Google Analytics ให้มอบบทบาทผู้ดู (
ตั้งค่าการตรวจสอบสิทธิ์
เซิร์ฟเวอร์ MCP ของ Google Analytics จะตรวจสอบสิทธิ์โดยใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน (ADC) ที่มีขอบเขต OAuth 2.0 ของ Google Analytics แบบอ่านอย่างเดียว ดังนี้
https://www.googleapis.com/auth/analytics.readonly
คุณกำหนดค่า ADC ได้โดยใช้บัญชีผู้ใช้ Google หรือบัญชีบริการ
ตัวเลือกที่ 1: ตรวจสอบสิทธิ์ด้วยข้อมูลเข้าสู่ระบบของผู้ใช้
- ติดตั้งและเริ่มต้น gcloud CLI
เรียกใช้
gcloud auth application-default loginโดยมีขอบเขตที่จำเป็นดังนี้gcloud auth application-default login \ --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform"หากคุณใช้ไฟล์การกำหนดค่าไคลเอ็นต์เดสก์ท็อปหรือเว็บ OAuth 2.0 ที่ดาวน์โหลดมา (ดูจัดการไคลเอ็นต์ OAuth) ให้ส่ง
--client-id-fileดังนี้gcloud auth application-default login \ --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform" \ --client-id-file=YOUR_CLIENT_JSON_FILEเมื่อคำสั่งเสร็จสิ้น ให้คัดลอกเส้นทางข้อมูลเข้าสู่ระบบที่พิมพ์ไปยังคอนโซล (
Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]) คุณจะใช้เส้นทางนี้ในGOOGLE_APPLICATION_CREDENTIALSเมื่อกำหนดค่าไคลเอ็นต์ MCP
ตัวเลือกที่ 2: ตรวจสอบสิทธิ์ด้วยบัญชีบริการ
วิธีตรวจสอบสิทธิ์ด้วยบัญชีบริการที่มีสิทธิ์เข้าถึงระดับผู้ดูในพร็อพเพอร์ตี้ Google Analytics
- ไฟล์คีย์ JSON ของบัญชีบริการ: ตั้งค่า
GOOGLE_APPLICATION_CREDENTIALSในการกำหนดค่าไคลเอ็นต์ MCP เป็น Absolute Path ของไฟล์ JSON ของบัญชีบริการ การแอบอ้างเป็นบัญชีบริการ: สร้างข้อมูลเข้าสู่ระบบ ADC โดยแอบอ้างเป็นบัญชีบริการด้วย gcloud CLI โดยทำดังนี้
gcloud auth application-default login \ --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \ --scopes="https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform"
กำหนดค่าไคลเอ็นต์ MCP
เซิร์ฟเวอร์ได้รับการเผยแพร่ใน PyPI เป็น analytics-mcp และแสดงทั้งสคริปต์คอนโซล analytics-mcp และ google-analytics-mcp
ในการกำหนดค่าต่อไปนี้ ให้แทนที่ค่าต่อไปนี้
PATH_TO_CREDENTIALS_JSONด้วย Absolute Path ไปยังไฟล์ JSON ของ ADC หรือบัญชีบริการYOUR_PROJECT_IDด้วย รหัสโปรเจ็กต์ที่คุณเปิดใช้ Google Analytics API
Antigravity CLI และ Antigravity IDE
- ติดตั้ง Antigravity CLI หรือ Antigravity IDE
เพิ่มเซิร์ฟเวอร์
analytics-mcpไปยัง~/.gemini/config/mcp_config.json(หรือ.agents/mcp_config.jsonในพื้นที่ทำงานของคุณ) โดยทำดังนี้{ "mcpServers": { "analytics-mcp": { "command": "pipx", "args": ["run", "analytics-mcp"], "env": { "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON", "GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID" } } } }ตรวจสอบว่า
analytics-mcpเชื่อมต่ออยู่ โดยทำดังนี้- Antigravity CLI: เรียกใช้
agyแล้วป้อน/mcpเพื่อดูเซิร์ฟเวอร์ MCP ที่กำหนดค่าไว้ - Antigravity IDE: เปิดการตั้งค่า > การปรับแต่ง > เซิร์ฟเวอร์ MCP ที่ติดตั้ง แล้วคลิกรีเฟรช
- Antigravity CLI: เรียกใช้
Claude Desktop และ Claude Code
สำหรับ Claude Desktop ให้เพิ่มเซิร์ฟเวอร์ลงในไฟล์ claude_desktop_config.json
(~/Library/Application Support/Claude/claude_desktop_config.json ใน macOS หรือ
%APPDATA%\Claude\claude_desktop_config.json ใน Windows) ดังนี้
{
"mcpServers": {
"analytics-mcp": {
"command": "pipx",
"args": ["run", "analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
}
}
}
}
สำหรับ Claude Code ให้ลงทะเบียนเซิร์ฟเวอร์โดยใช้เครื่องมือบรรทัดคำสั่งดังนี้
claude mcp add analytics-mcp \
--scope user \
-e GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_CREDENTIALS_JSON" \
-e GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID" \
-- pipx run analytics-mcp
เคอร์เซอร์
เพิ่มเซิร์ฟเวอร์ลงใน .cursor/mcp.json ในไดเรกทอรีโปรเจ็กต์ (หรือ ~/.cursor/mcp.json สำหรับการกำหนดค่าส่วนกลาง) คุณเรียกใช้ google-analytics-mcp ได้โดยใช้ uvx หรือ pipx ดังนี้
{
"mcpServers": {
"google-analytics-mcp": {
"command": "uvx",
"args": ["--from", "analytics-mcp", "google-analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"
}
}
}
}
หากต้องการเรียกใช้เวอร์ชันพัฒนาล่าสุดจาก GitHub โดยตรงโดยใช้ uvx ให้อัปเดต "args" ดังนี้
"args": [
"--from",
"git+https://github.com/googleanalytics/google-analytics-mcp.git",
"google-analytics-mcp"
]
หรือหากต้องการใช้ pipx ให้เปลี่ยน "command" เป็น "pipx" และตั้งค่า "args" เป็นค่าต่อไปนี้
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleanalytics/google-analytics-mcp.git",
"google-analytics-mcp"
]
เครื่องมือ MCP ที่พร้อมใช้งาน
เซิร์ฟเวอร์ MCP ของ Google Analytics ใช้ Admin API และ Data API v1 เพื่อแสดงเครื่องมือแบบอ่านอย่างเดียวต่อไคลเอ็นต์ MCP ดังนี้
- การค้นพบบัญชีและพร็อพเพอร์ตี้ (Admin API):
get_account_summaries: แสดงรายการบัญชีและพร็อพเพอร์ตี้ Google Analytics ที่ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วเข้าถึงได้ (accountSummaries.list)get_property_details: แสดงรายละเอียดการกำหนดค่าสำหรับพร็อพเพอร์ตี้ Google Analytics ที่เฉพาะเจาะจง (properties.get)list_google_ads_links: แสดงรายการลิงก์ไปยังบัญชี Google Ads สำหรับพร็อพเพอร์ตี้ (properties.googleAdsLinks.list)list_property_annotations: แสดงรายการคำอธิบายประกอบที่กำหนดค่าไว้สำหรับพร็อพเพอร์ตี้ (properties.reportingDataAnnotations.list)
- การรายงานและการตรวจสอบสคีมา (Data API v1):
get_custom_dimensions_and_metrics: ดึงข้อมูลมิติข้อมูลและเมตริกที่กำหนดเองซึ่งกำหนดไว้สำหรับพร็อพเพอร์ตี้ (getMetadata)run_report: เรียกใช้รายงาน Google Analytics มาตรฐาน (runReport)run_realtime_report: เรียกใช้รายงานแบบเรียลไทม์ของ Google Analytics (runRealtimeReport)run_funnel_report: เรียกใช้รายงานการสำรวจ Funnel ของ Google Analytics (runFunnelReport)run_conversions_report: เรียกใช้รายงานประสิทธิภาพของ Conversion (runConversionsReport)
ตัวอย่างพรอมต์
เมื่อเชื่อมต่อแล้ว ให้ลองถามคำถามผู้ช่วย AI เช่น
- มีผู้เข้าชมเว็บไซต์ของฉันกี่คนเมื่อวานนี้
- ผลิตภัณฑ์ที่ขายดีที่สุดของฉันเมื่อวานนี้คืออะไร
- ฉันมีงบประมาณด้านการตลาด $5,000/เดือน และต้องการสร้างรายได้เพิ่มขึ้น ช่วยฉันสร้างแผนการตลาดที่อิงตามข้อมูล
- มีการกำหนดค่ามิติข้อมูลและเมตริกที่กำหนดเองใดบ้างในพร็อพเพอร์ตี้ของฉัน
- เหตุการณ์ที่ได้รับความนิยมมากที่สุดในพร็อพเพอร์ตี้ Google Analytics ของฉันในช่วง 90 วันที่ผ่านมาคืออะไร
การแก้ปัญหา
ใช้รายการตรวจสอบต่อไปนี้เพื่อแก้ไขข้อผิดพลาดในการตั้งค่าและข้อผิดพลาดขณะรันไทม์ที่พบบ่อย
403 PERMISSION_DENIED(ไม่ได้เปิดใช้ API หรือสิทธิ์ในพร็อพเพอร์ตี้ไม่เพียงพอ):- ยืนยันว่าทั้ง Google Analytics Admin API (
analyticsadmin.googleapis.com) และ Google Analytics Data API (analyticsdata.googleapis.com) เปิดใช้อยู่ในโปรเจ็กต์ ที่ระบุโดยGOOGLE_CLOUD_PROJECT - ยืนยันว่าผู้ใช้หรือบัญชีบริการที่ตรวจสอบสิทธิ์มีบทบาทผู้ดู (
roles/analytics.viewer) เป็นอย่างน้อยในพร็อพเพอร์ตี้ Google Analytics เป้าหมายใน UI ของ Google Analytics - หากสถานะข้อผิดพลาดระบุว่า
Request had insufficient authentication scopesให้เรียกใช้gcloud auth application-default loginอีกครั้งโดยใช้ขอบเขตhttps://www.googleapis.com/auth/analytics.readonlyและhttps://www.googleapis.com/auth/cloud-platform
- ยืนยันว่าทั้ง Google Analytics Admin API (
ไม่มีโปรเจ็กต์โควต้า (
GOOGLE_CLOUD_PROJECT) หรือ403 ACCESS_NOT_CONFIGURED:คำขอที่ตรวจสอบสิทธิ์ด้วยข้อมูลเข้าสู่ระบบ ADC ของผู้ใช้ต้องมี โปรเจ็กต์โควต้าที่เปิดใช้ Google Analytics API ตั้งค่า
"GOOGLE_CLOUD_PROJECT": "YOUR_PROJECT_ID"ในการกำหนดค่าenvของเซิร์ฟเวอร์ MCP หรือตั้งค่าโปรเจ็กต์โควต้าในไฟล์ ADC ดังนี้gcloud auth application-default set-quota-project YOUR_PROJECT_ID
ไม่พบ
401 UNAUTHENTICATEDหรือไฟล์ข้อมูลเข้าสู่ระบบ:- ใช้ Absolute Path สำหรับ
GOOGLE_APPLICATION_CREDENTIALS(เช่น/Users/username/.config/gcloud/application_default_credentials.json) หลีกเลี่ยงตัวแปร~หรือ$HOMEเนื่องจากโฮสต์ MCP จำนวนมากไม่ขยายตัวแปร Shell ภายในไฟล์การกำหนดค่า JSON - เรียกใช้
gcloud auth application-default loginอีกครั้งหากข้อมูลเข้าสู่ระบบของผู้ใช้หมดอายุแล้ว
- ใช้ Absolute Path สำหรับ
เซิร์ฟเวอร์เปิดไม่สำเร็จ (ข้อผิดพลาดเกี่ยวกับ
spawn pipx ENOENT,uvx: command not foundหรือเวอร์ชัน Python):- ตรวจสอบว่าได้ติดตั้ง Python 3.10 ขึ้นไปแล้ว (
python3 --version) - แอปพลิเคชัน GUI บนเดสก์ท็อป (เช่น Claude Desktop และ Cursor) มักจะไม่รับค่า
PATHของเชลล์แบบอินเทอร์แอกทีฟ แทนที่"pipx"หรือ"uvx"ใน"command"ด้วยเส้นทางไบนารีแบบสัมบูรณ์ที่แสดงผลโดยwhich pipxหรือwhich uvx(เช่น/opt/homebrew/bin/pipxหรือ/Users/username/.local/bin/pipx)
- ตรวจสอบว่าได้ติดตั้ง Python 3.10 ขึ้นไปแล้ว (