ga-gsc-analytics
Enables read-only access to Google Analytics 4 and Google Search Console data, allowing users to run reports, query search analytics, and generate combined snapshots for reporting.
README
ga-gsc-analytics
Read-only MCP server exposing Google Analytics 4 and Google Search Console data
(analytics.readonly + webmasters.readonly scopes) to Claude Code / Codex.
New here? Follow ONBOARDING.md for a zero-to-working walkthrough
(install Claude Code, get credentials, authorize, verify). The rest of this file is
reference material.
AI agents: this file doubles as
AGENTS.md— start here for setup, then readskills/analyze-ga-gsc/SKILL.mdfor how to use the tools (access checks, default date ranges, GA4 vs. GSC semantics, presentation handoff format). Never ask a user to paste credentials into chat.
Tools
analytics_auth_start/analytics_auth_status— local OAuth flow + status checkanalytics_list_sources— list GA4 properties and GSC sites available to the authorized accountga_run_report— run a GA4 reportgsc_query_search_analytics— query Search Console dataanalytics_presentation_snapshot— combined GA4 + GSC snapshot for reporting
Setup (per user)
Each user authorizes with their own Google account and keeps their own local
token — never share client_secret.json secrets or tokens.json between machines.
- Google Cloud OAuth client: create (or reuse an existing) OAuth 2.0 Desktop
client in Google Cloud Console and download its
client_secret.json. If the consent screen is in "Testing" publishing status, add each new user's Google account as a test user first, or auth will fail with access-denied. - Place the credentials at
~/.config/ga-gsc-analytics/client_secret.json(or pointGA_GSC_CLIENT_SECRETat a custom path). - Grant data access: the authorizing Google account needs real permissions on the target GA4 property (Analytics Admin → Property Access Management) and the GSC site (Search Console → Settings → Users and permissions).
- Build the server (only needed if you change
mcp/server.mjs; the repo ships a prebuiltmcp/server.bundle.cjs):pnpm install pnpm run build # bundles mcp/server.mjs -> mcp/server.bundle.cjs - Register the MCP server. Either:
- Claude Code, user-level:
claude mcp add ga-gsc-analytics -- node /path/to/ga-gsc-analytics/mcp/server.bundle.cjs - Claude Code / Codex, project-scoped: this repo already ships a relative
.mcp.json({"mcpServers": {"ga_gsc_analytics": {"command": "node", "args": ["./mcp/server.bundle.cjs"]}}}) — copy it into a project, or symlink/vendor this whole folder in, and it's picked up automatically when that project is opened.
- Claude Code, user-level:
- Authorize: call the
analytics_auth_starttool from within your AI tool — it opens a local browser OAuth flow and writes~/.config/ga-gsc-analytics/tokens.json. - Verify: call
analytics_auth_status(should reportauthorized: true), thenanalytics_list_sourcesto confirm the expected GA4 properties / GSC sites show up.
Config overrides
| Env var | Default |
|---|---|
GA_GSC_CONFIG_DIR |
~/.config/ga-gsc-analytics |
GA_GSC_CLIENT_SECRET |
$GA_GSC_CONFIG_DIR/client_secret.json |
GA_GSC_TOKEN_PATH |
$GA_GSC_CONFIG_DIR/tokens.json |
Development
pnpm run check # syntax check
pnpm test # node --test tests/*.test.mjs
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.