Skip to main content
Glama
devopsbrandmirchi

GA4 Analytics MCP V3

GA4 Analytics MCP V3

True Model B connector: one MCP operator can own multiple independent Google OAuth connections. Each GA4 query is executed with the Google credential that has access to that property.

This is a new application. It does not modify V2 and does not use Firestore (default) (reserved for V1).

Local development

cd D:\MCP_Servers\Ga4McpV3
npm install
copy .env.example .env.local
# Fill secrets. Set FIRESTORE_DATABASE_ID=ga4-mcp-v3 (never (default)).
npm test
npm run dev
  • App: http://localhost:3000

  • MCP: http://localhost:3000/mcp

  • Health: http://localhost:3000/health

Related MCP server: GA4 MCP Server

Claude Custom Connector

URL: https://<v3-host>/mcp

  1. Claude starts MCP OAuth 2.1 (same V2 flow).

  2. The first Google sign-in bootstraps an internal operatorId.

  3. After that, connect additional Google Accounts from the connections page or ga4_start_google_connection.

  4. The MCP JWT sub is always operatorId, never a Google OpenID sub.

Connect a second or third Google Account

From Claude, call ga4_start_google_connection and open the returned URL. Or use Connect another Google Account on the connections page during authorize. Each authorization is an independent OAuth identity.

Property routing

property_id → this operator's ga4_properties row → connection_id → encrypted refresh token → GA4 API

The server never uses the current browser Google login, Claude email, or property name to pick a credential.

Operator isolation

Operator A cannot load Operator B's connections by guessing a connectionId. Ownership is checked server-side on every sensitive operation.

Cloud Run

.\scripts\cloud-run-setup.ps1 -ProjectId YOUR_PROJECT_ID
.\scripts\cloud-run-deploy.ps1 -ProjectId YOUR_PROJECT_ID
.\scripts\cloud-run-set-env.ps1 `
  -ProjectId YOUR_PROJECT_ID `
  -AppBaseUrl https://YOUR_V3_CLOUD_RUN_URL `
  -GoogleClientId ... -GoogleClientSecret ... `
  -McpTokenSecret ... -OauthStateSecret ... -TokenEncryptionKey ...

Create a named Firestore database ga4-mcp-v3 before first use. Use a separate Google OAuth web client from V1/V2.

Docs

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables interaction with Google Analytics 4 to manage accounts, run standard or realtime reports, and validate event parameters. It supports dual authentication methods and integrates with GTM for end-to-end data collection orchestration.
    8
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to securely manage Google Workspace services (Gmail, Calendar, Drive, Sheets, Contacts) with persistent multi-account OAuth. Uses OS keychain for credential storage with health monitoring and granular business rules for enterprise security.

View all related MCP servers

Related MCP Connectors

  • Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.

  • Self-hosted federated MCP gateway: one OAuth 2.1 MCP server in front of N apps, user-level scopes.

  • Connect your AI assistants to Keboola and expose your data, transformations, SQL queries, ...

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devopsbrandmirchi/Ga4McpV3'

If you have feedback or need assistance with the MCP directory API, please join our Discord server