ai-google-analytics-mcp

ai-google-analytics-mcp

Provisions Google Analytics 4 for local AI/web projects by creating properties and web data streams, injecting gtag snippets, and saving configuration.

Category
Visit Server

README

ai-google-analytics-mcp

MCP server to provision Google Analytics 4 for local AI/web projects: create properties and web data streams, capture measurement IDs, inject gtag into HTML, and write .ga4.config.json in project roots.

For reporting and monitoring, use Google's official read-only analytics-mcp alongside this server (see CONTEXT.md).

Tools

Tool Purpose
get_ga4_auth_setup_instructions gcloud ADC + API enablement steps
list_ga_account_summaries Discover accounts/properties (readonly Admin API)
provision_ga4_property Create GA4 property under an account
create_web_data_stream Create web stream → G-XXXXXXXX
render_ga4_gtag_snippet HTML snippet for a measurement ID
inject_ga4_gtag_into_file Patch a local HTML/layout file
render_ga4_nextjs_component Next.js GoogleAnalytics.tsx source (env or inline id)
scaffold_ga4_nextjs_tracking Write component, wire layout.tsx, set .env.local
save_project_ga4_config Write .ga4.config.json in a project dir
provision_project_ga4_setup Property + stream + optional config/inject (+ optional registry_slug, tracking_mode)
scan_local_ga4_configs Filesystem inventory of .ga4.config.json under scan roots
list_projects_needing_ga4 Registry projects missing GA4 config/metadata
detect_project_tracking_stack Recommend html vs nextjs wiring for a repo
get_analytics_monitoring_companion_guide Pair with official read-only analytics-mcp
get_ga4_integration_status Whether launcher/keymaster hooks are configured
list_registry_projects_for_ga4 Registry projects + .ga4.config.json / .keymaster hints
resolve_project_for_ga4 Slug and/or path → website_url, web roots, agent hints
sync_ga4_to_launcher_registry Write analytics.ga4 on registry row (opt-in write)

Optional: launcher registry & keymaster

Public-repo safe: no hardcoded paths, no imports from sibling repos. Set env on your MCP host only if you use these services:

  • GA4_LAUNCHER_REGISTRY_JSON — read launcher registry.json (same format as launcher-project-registry)
  • GA4_LAUNCHER_REGISTRY_WRITABLE=true — allow sync_ga4_to_launcher_registry / registry_slug on provision
  • GA4_KEYMASTER_DATABASE or GA4_KEYMASTER_HINTS=true — status hints only; secrets stay in keymaster MCP (keymaster_register_key for GA service accounts). Measurement IDs remain in .ga4.config.json.

See docs/adr/0003-optional-registry-keymaster-hooks.md.

Quick start

cd /path/to/ai-google-analytics-mcp
uv sync
uv run pytest -q
uv run ga4-provision-mcp

Authentication

Full walkthrough: Google Analytics GA4 Service Account Setup Guide — GCP project, enable Admin (and optional Data) API, create a service account, grant GA account access, and point GOOGLE_APPLICATION_CREDENTIALS at the JSON key.

If gcloud auth application-default login shows "This app is blocked", use a service account (recommended): see also research/notes/gcloud-this-app-is-blocked.md.

# After SA JSON is on disk and SA email has Editor on your GA account:
export GOOGLE_APPLICATION_CREDENTIALS=~/.config/ga4/ga4-provisioner-sa.json

Copy .env.example → .env and set GOOGLE_APPLICATION_CREDENTIALS + optional GA4_DEFAULT_ACCOUNT_ID.

Hermes / MCP config (stdio)

# ~/.hermes/config.yaml (example)
mcp_servers:
  ga4_provision:
    command: uv
    args:
      - run
      - --directory
      - /path/to/ai-google-analytics-mcp
      - ga4-provision-mcp

Companion (read-only reports):

  google_analytics:
    command: pipx
    args: ["run", "analytics-mcp"]
    env:
      CLOUDSDK_CORE_PROJECT: your-gcp-project-id

Agent workflow example

"Provision GA4 for this repo: production URL https://my-app.example, inject into public/index.html, save config in project root."

The agent calls provision_project_ga4_setup with project_dir and inject_html_path.

Docs

  • SECURITY.md — transport (stdio), trust model, credentials, safe deployment
  • google-analytics-ga4-service-account-setup-guide.md — step-by-step Google Cloud + GA4 + service account setup
  • CONTEXT.md — rules and architecture
  • HERMES.md — agent smoke + guardrails
  • docs/adr/ — durable decisions
  • research/ — external references (official analytics-mcp, etc.)
  • BRIEF.md — original Gemini conversation blueprint

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured