Interact with Google Analytics Admin and Data APIs via natural language.
Google Analytics MCP Server (Experimental)
This repo contains the source code for running a local MCP server that interacts with APIs for Google Analytics.
Join the discussion and ask questions in the š¤-analytics-mcp channel on Discord.
Tools š ļø
The server uses the Google Analytics Admin API and Google Analytics Data API to provide several Tools for use with LLMs.
Retrieve account and property information š
get_account_summaries: Retrieves information about the user's Google Analytics accounts and properties.get_property_details: Returns details about a property.list_google_ads_links: Returns a list of links to Google Ads accounts for a property.
Run core reports š
run_report: Runs a Google Analytics report using the Data API.get_custom_dimensions_and_metrics: Retrieves the custom dimensions and metrics for a specific property.
Run realtime reports ā³
run_realtime_report: Runs a Google Analytics realtime report using the Data API.
Setup instructions š§
⨠Watch the Google Analytics MCP Setup Tutorial on YouTube for a step-by-step walkthrough of these instructions.
Setup involves the following steps:
- Configure Python.
- Configure credentials for Google Analytics.
- Configure Gemini.
Configure Python š
Enable APIs in your project ā
Follow the instructions to enable the following APIs in your Google Cloud project:
Configure credentials š
Configure your Application Default Credentials (ADC). Make sure the credentials are for a user with access to your Google Analytics accounts or properties.
Credentials must include the Google Analytics read-only scope:
https://www.googleapis.com/auth/analytics.readonly
Check out Manage OAuth Clients for how to create an OAuth client.
Here are some sample gcloud commands you might find useful:
Set up ADC using user credentials and an OAuth desktop or web client after downloading the client JSON to
YOUR_CLIENT_JSON_FILE.gcloud auth application-default login \ --scopes https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform \ --client-id-file=YOUR_CLIENT_JSON_FILESet up ADC using service account impersonation.
gcloud auth application-default login \ --impersonate-service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform
When the gcloud auth application-default command completes, copy the
PATH_TO_CREDENTIALS_JSON file location printed to the console in the
following message. You'll need this for the next step!
Credentials saved to file: [PATH_TO_CREDENTIALS_JSON]
Configure Gemini
Install Gemini CLI or Gemini Code Assist.
Create or edit the file at
~/.gemini/settings.json, addin
Tools (6)
get_account_summariesRetrieves information about the user's Google Analytics accounts and properties.get_property_detailsReturns details about a property.list_google_ads_linksReturns a list of links to Google Ads accounts for a property.run_reportRuns a Google Analytics report using the Data API.get_custom_dimensions_and_metricsRetrieves the custom dimensions and metrics for a specific property.run_realtime_reportRuns a Google Analytics realtime report using the Data API.Environment Variables
GOOGLE_APPLICATION_CREDENTIALSrequiredPath to the JSON file containing your Google Cloud service account or OAuth credentials.Configuration
{"mcpServers": {"google-analytics": {"command": "uvx", "args": ["analytics-mcp"], "env": {"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/credentials.json"}}}}