MCP-first, read-only

Google Analytics & Search Console MCP

Connect Google Analytics 4 (GA4) and Google Search Console to authorized AI assistants through the Model Context Protocol. Ask about traffic and search performance with read-only, project-scoped access and clear source, date range, and completeness information.

Sessions by channelSample data

GA4 / Jan 1 to Jan 28 / Europe/Lisbon / retrieved Jan 29, 07:42

  • Organic Search4,182
  • Direct2,907
  • Referral1,344
  • Email611
  • Paid Social288

Illustrative figures for a fictional site. Not your data.

One MCP server for GA4 and Google Search Console

Google Analytics MCP: understand your traffic

Use your selected GA4 property to read traffic summaries and channel breakdowns. Explore where sessions come from without changing your Google Analytics configuration. If access or data is missing, the response explains the limitation instead of inventing metrics.

Search Console MCP: understand organic search

Read performance for your selected Search Console site, including clicks, impressions, click-through rate, and average position. Keep search results separate from GA4 traffic so different reporting periods and data freshness remain clear.

Connect an MCP-compatible AI client through OAuth and approve the specific projects it can read. Google sign-in, Google data consent, and each client grant are separate. You control access and can revoke a client without granting write permissions.

Google Analytics & Search Console MCP setup and tool documentation

Three permissions. Never blurred.

01

Identity

Sign in with Google. Your name and email identify your account, and signing out never touches your data access.

02

Data

Read-only analytics.readonly and webmasters.readonly, offered on the same Google screen or later. Stored and revocable on its own. No write scopes exist.

03

MCP clients

Each AI client is granted a project and can be revoked on its own, instantly.

Honest about gaps

GA4 and Search Console run on different clocks. We never merge them or fill holes. If a source is down, unconfigured, or empty, the answer says so, with the reason.

get_search_performanceSample data
{
  "source": "search_console",
  "range": "Jan 1 - Jan 26",
  "timezone": "America/Los_Angeles",
  "completeness": "incomplete",
  "warnings": ["Last 2 days still settling"]
}

One free project. Pro by manual review.

No checkout, no card. Ask for more and a person reads the request.

Start with Google