Skip to main content
Hướng dẫn cài 2 MCP server chạy local trên máy bạn: Google Ads MCP và Google Analytics MCP (GA4). Chia 3 phần: cài đặt, cách dùng, và quyền & lỗi. Cả hai đều chỉ đọc (read-only) — an toàn để khám phá dữ liệu.

6 giá trị bạn sẽ thu thập

Làm theo Phần A, ghi lại 6 giá trị bên dưới. Đến Bước 10 bạn điền chúng vào file config là xong.
BiếnTênLấy ở đâu
GOOGLE_PROJECT_IDProject IDID project Google Cloud (Bước 1)
client_secret.jsonFile OAuth clientTải về ở Bước 4
GOOGLE_ADS_DEVELOPER_TOKENDeveloper TokenAds API Center (Bước 5)
GOOGLE_ADS_LOGIN_CUSTOMER_IDLogin Customer ID (MCC)ID tài khoản quản lý (Bước 5)
GA4 Property IDProperty IDTrong GA Admin (Bước 6)
GOOGLE_APPLICATION_CREDENTIALSĐường dẫn ADCTự sinh ở Bước 8

Phần A — Chuẩn bị trên Google (trên trình duyệt)

1

Tạo project Google Cloud

Project là nơi bật API và tạo khóa đăng nhập cho cả 2 MCP.
  1. Mở trang Tạo project, đăng nhập bằng Google account quản lý shop.
  2. Nhập Project name (ví dụ MCP Ads Analytics), bấm Create.
  3. Đợi vài giây, chọn project vừa tạo ở thanh chọn project trên cùng.
  4. Copy Project ID (khác tên hiển thị, dạng mcp-ads-analytics-471203). Ghi lại làm GOOGLE_PROJECT_ID.

Tạo project

Console tạo project Google Cloud
2

Bật 3 API cần thiết

Bật đúng project. Mở lần lượt 3 link dưới rồi bấm nút Enable ở mỗi trang.
  1. Kiểm tra thanh trên cùng đang chọn đúng project ở Bước 1.
  2. Mở từng link, bấm Enable. Nếu nút hiện Manage nghĩa là đã bật rồi.

Google Ads API

Analytics Admin API

Analytics Data API

3

Cấu hình màn hình đồng ý OAuth

Bước này cho phép app đăng nhập vào tài khoản Google của bạn.
  1. Mở trang OAuth consent screen.
  2. Chọn User type: External, bấm Create.
  3. Điền App name, User support email, Developer contact email, rồi Save.
  4. Vào mục Test users / Audience, bấm Add users, thêm chính email Google của bạn.
Để chế độ Testing thì khóa đăng nhập (ADC) hết hạn khoảng 7 ngày, phải đăng nhập lại. Muốn dùng ổn định lâu dài, bấm Publish app để chuyển sang Production.
4

Tạo OAuth client & tải file JSON

  1. Mở trang Credentials.
  2. Bấm Create Credentials, chọn OAuth client ID.
  3. Application type chọn Desktop app, đặt tên, bấm Create.
  4. Bấm Download JSON, lưu vào nơi dễ nhớ, ví dụ ~/google/client_secret.json.
Tôi vừa tải file client_secret.json về thư mục Downloads. Tạo thư mục ~/google
rồi di chuyển file vào đó, và cho tôi đường dẫn đầy đủ để dùng cho bước đăng nhập.
5

Lấy Developer Token & Login Customer ID (Google Ads)

  1. Cần một tài khoản MCC (Manager Account). Chưa có thì tạo mới.
  2. Trong MCC, vào Tools & Settings, mở API Center.
  3. Copy Developer token, ghi lại làm GOOGLE_ADS_DEVELOPER_TOKEN.
  4. Token mới thường ở mức Test; muốn query tài khoản thật, xin duyệt Basic access ngay trong API Center.
  5. Ghi lại Login Customer ID = ID của MCC (dạng 123-456-7890; khi điền config bỏ gạch nối thành 1234567890).
Token mới = mức Test (chỉ query test account). Muốn đọc tài khoản thật, xin duyệt Basic access — xem phần Quyền & Lỗi bên dưới.
6

Lấy Property ID (Google Analytics GA4)

  1. Mở Google Analytics, đăng nhập tài khoản có quyền xem property.
  2. Bấm Admin (bánh răng góc dưới trái).
  3. Ở cột Property, chọn đúng property rồi mở Property settings.
  4. Copy Property ID (dạng số như 255854183). Ghi lại.
  5. Đảm bảo tài khoản của bạn có quyền Viewer trở lên với property đó.

Phần B — Cài trên máy (Terminal)

1

Cài uv và gcloud CLI

uv để cài server Python; gcloud để đăng nhập Google.
Terminal
# Cài uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Cài Google Cloud CLI (Homebrew)
brew install --cask google-cloud-sdk
Kiểm tra máy đã có uv và gcloud CLI chưa. Cái nào thiếu thì cài giúp và xác nhận version.
2

Đăng nhập ADC với đủ scope

Cả 2 MCP dùng chung một credential. Đăng nhập một lần kèm đủ 3 scope, nếu thiếu sẽ làm hỏng cái còn lại. Thay /path/to/client_secret.json bằng đường dẫn file ở Bước 4.
Terminal
gcloud auth application-default login \
  --scopes=https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform \
  --client-id-file="/path/to/client_secret.json"
  1. Trình duyệt mở ra, chọn đúng tài khoản Google, bấm Allow.
  2. Terminal in ra dòng Credentials saved to file: […]. Ghi lại đường dẫn đó làm GOOGLE_APPLICATION_CREDENTIALS (thường là ~/.config/gcloud/application_default_credentials.json).
3

Cài 2 MCP server (local, từ PyPI)

Cài mỗi server vào một venv riêng để chạy thẳng binary local, khởi động tức thì, không phụ thuộc git hay mạng.
Terminal
# Google Ads MCP
uv venv ~/.local/share/google-ads-mcp/venv
uv pip install --python ~/.local/share/google-ads-mcp/venv/bin/python google-ads-mcp

# Google Analytics MCP (bản chính thức của Google)
uv venv ~/.local/share/analytics-mcp/venv
uv pip install --python ~/.local/share/analytics-mcp/venv/bin/python analytics-mcp
Cài giúp tôi 2 MCP server vào venv local từ PyPI: google-ads-mcp và analytics-mcp.
Test mỗi binary bằng MCP initialize handshake để xác nhận chạy được, rồi cho tôi đường dẫn binary đầy đủ.
4

Khai báo vào config MCP

  1. Với Claude Desktop: Settings → Developer → Local MCP servers → Edit Config. Với Claude Code: mở file ~/.claude.json.
  2. Dán khối JSON dưới vào mục mcpServers.
  3. Thay các giá trị YOUR_... và đường dẫn /Users/YOU/... bằng 6 giá trị bạn đã ghi ở Phần A.
claude_desktop_config.json
{
  "mcpServers": {
    "google-ads-mcp": {
      "command": "/Users/YOU/.local/share/google-ads-mcp/venv/bin/google-ads-mcp",
      "args": [],
      "env": {
        "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_MCC_ID",
        "GOOGLE_APPLICATION_CREDENTIALS": "/Users/YOU/.config/gcloud/application_default_credentials.json"
      }
    },
    "analytics-mcp": {
      "command": "/Users/YOU/.local/share/analytics-mcp/venv/bin/analytics-mcp",
      "args": [],
      "env": {
        "GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
        "GOOGLE_APPLICATION_CREDENTIALS": "/Users/YOU/.config/gcloud/application_default_credentials.json"
      }
    }
  }
}
Thêm 2 MCP server (google-ads-mcp, analytics-mcp) trỏ vào binary local vừa cài,
vào cả ~/.claude.json và claude_desktop_config.json. Điền env: project id,
developer token, login customer id (MCC), đường dẫn ADC. Giữ nguyên các server và cấu hình có sẵn.
5

Khởi động lại & kiểm tra

  1. Thoát hẳn Claude bằng Cmd+Q, rồi mở lại (khởi động lại mới nạp server).
  2. Vào Settings → Developer → Local MCP servers, thấy 2 server là được.
  3. Mở một task Cowork mới và chạy prompt kiểm tra bên dưới.
Kiểm tra kết nối 2 MCP: liệt kê các tài khoản Google Ads tôi truy cập được,
và liệt kê các property Google Analytics của tôi. Nếu lỗi thì chẩn đoán giúp.
Gặp lỗi invalid_grant sau vài ngày? Đó là ADC hết hạn (app OAuth ở chế độ Testing). Chạy lại lệnh đăng nhập ở Bước 8 (giữ đủ 3 scope). Muốn khỏi hết hạn, publish app OAuth sang Production ở Bước 3.

Dùng 2 MCP để làm gì?


Quyền truy cập & xử lý lỗi

Quyền OAuth (scope)

Cả 2 MCP dùng chung một credential ADC. Một lần đăng nhập cấp đủ 3 scope sau. Thiếu scope nào thì MCP tương ứng sẽ báo lỗi quyền.
ScopeDành choCấp quyền gì
adwordsGoogle AdsTruy cập Google Ads API. MCP chỉ dùng để đọc, không ghi.
analytics.readonlyAnalyticsĐọc dữ liệu Google Analytics (chỉ đọc, không sửa cấu hình).
cloud-platformCả haiXác thực với Cloud project (quota, billing của API).
Ngoài scope, còn cần quyền tài khoản: tài khoản Google đăng nhập phải có quyền trên tài khoản Ads (qua MCC) và quyền Viewer trở lên trên property GA4.

Mỗi MCP đọc được dữ liệu gì

Google Ads MCP

  • Cấu trúc tài khoản: campaign, ad group, quảng cáo, keyword, asset, ngân sách, chiến lược giá thầu
  • Chỉ số hiệu suất: impressions, clicks, cost, conversions, giá trị chuyển đổi, CTR, CPC, ROAS
  • Search terms: cụm từ khách thực sự gõ, kèm keyword_view
  • Phân khúc: theo ngày, thiết bị, mạng, vị trí địa lý, khung giờ, đối tượng
  • Cây MCC: liệt kê toàn bộ tài khoản con (customer_client)
  • Lịch sử thay đổi: ai đổi gì, khi nào (change_event)

Google Analytics MCP

  • Danh mục (Admin API): account, property, cấu hình, custom dimensions/metrics, liên kết Google Ads
  • Báo cáo linh hoạt: ghép mọi dimension × metric qua run_report
  • Nguồn & chiến dịch: source/medium, campaign, landing page, referrer
  • Hành vi: trang xem, sự kiện, engagement, thời lượng phiên
  • Thương mại: đơn hàng, doanh thu, sản phẩm, phễu mua hàng
  • Realtime & đối tượng: người đang online, thiết bị, khu vực, khách mới/quay lại
Cả 2 đều chỉ đọc (read-only): không tạo, sửa, xóa campaign hay đổi cấu hình. An toàn để khám phá dữ liệu.

Đăng ký Developer Token (Basic access)

Token mới trong API Center mặc định ở mức Test (chỉ query test account). Để đọc tài khoản quảng cáo thật, phải xin duyệt Basic access. Google xét đơn thường trong 1–3 ngày.
  1. Mở API Center trong tài khoản MCC.
  2. Ở mục Access level, bấm Apply for Basic access.
  3. Điền form theo file mẫu (đã soạn sẵn nội dung, chỉ sửa tên công ty/website).
  4. Chờ email duyệt. Token không đổi, chỉ mức truy cập được nâng lên nên không cần sửa config.

Lỗi thường gặp & cách sửa

Triệu chứng: Query báo invalid_grant: Token has been expired or revoked. Đang chạy được rồi tự nhiên lỗi sau vài ngày.Nguyên nhân: App OAuth ở chế độ Testing nên credential ADC hết hạn sau khoảng 7 ngày.Cách sửa: Chạy lại lệnh đăng nhập ADC ở Bước 8 (giữ đủ 3 scope). Dứt điểm: Publish app OAuth sang Production ở Bước 3.
Triệu chứng: Query tài khoản thật báo token chưa được duyệt, hoặc chỉ chạy được với test account.Nguyên nhân: Developer token mới mặc định ở mức Test.Cách sửa: Xin Basic access trong API Center (dùng file mẫu ở mục trên). Trong lúc chờ chỉ query được test account.
Triệu chứng: Mục Local MCP servers trống, hoặc task Cowork mới không có tool của MCP.Nguyên nhân: Chưa khai vào claude_desktop_config.json (nơi session mới đọc), chưa khởi động lại, hoặc app tự ghi đè mất mcpServers.Cách sửa: Thêm server qua Edit Config rồi Cmd+Q khởi động lại ngay. Nếu bị xóa lại, thêm lại và restart liền trước khi app kịp ghi đè.
Triệu chứng: USER_PERMISSION_DENIED (Ads) hoặc lỗi 403 (GA4).Nguyên nhân: Tài khoản đăng nhập ADC không có quyền trên tài khoản Ads/property, hoặc sai Login Customer ID.Cách sửa: Đăng nhập đúng tài khoản có quyền. Kiểm tra Login Customer ID = ID của MCC (bỏ gạch nối). GA4 cần quyền Viewer trở lên.
Triệu chứng: API has not been used in project ... or it is disabled.Nguyên nhân: Chưa bật API tương ứng trong Google Cloud project.Cách sửa: Bật lại 3 API ở Bước 2 (Google Ads, Analytics Admin, Analytics Data).
Triệu chứng: Ads OK nhưng GA4 báo thiếu quyền (hoặc ngược lại).Nguyên nhân: Lần đăng nhập ADC thiếu scope (chỉ có adwords hoặc chỉ có analytics).Cách sửa: Đăng nhập lại đủ cả 3 scope trong một lệnh (adwords + analytics.readonly + cloud-platform). Đừng đăng nhập riêng lẻ vì lần sau sẽ ghi đè lần trước.
Triệu chứng: Server báo lỗi khởi động, hoặc command not found.Nguyên nhân: Sai đường dẫn binary trong config, hoặc chưa cài venv.Cách sửa: Kiểm tra lại command trong config trỏ đúng binary, cài lại ở Bước 9 nếu cần.
MCP Google Ads (hoặc Analytics) đang báo lỗi khi tôi query. Chẩn đoán giúp:
kiểm tra config, scope của ADC, API đã bật chưa, binary có chạy được không, rồi chỉ tôi cách sửa.