Enables listing and accessing Google Ads accounts linked to Google Analytics properties.
Provides tools for retrieving account and property information, running core reports, and accessing realtime analytics data through the Google Analytics Admin API and Data API.
Google Analytics MCP Server (Experimental)
This repo contains the source code for running a local MCP server that interacts with APIs for Google Analytics.
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
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:
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
. - Set up ADC using service account impersonation.
Configure Gemini
- Install Gemini CLI or Gemini Code Assist
- Create or edit the file at
~/.gemini/settings.json
, adding your server to themcpServers
list. - Optional: Configure the
GOOGLE_APPLICATION_CREDENTIALS
environment variable in Gemini settings. You may want to do this if you always want to use a specific set of credentials, regardless of which Application Default Credentials are selected in your current environment.In~/.gemini/settings.json
, add aGOOGLE_APPLICATION_CREDENTIALS
attribute to theenv
object. ReplacePATH_TO_ADC_JSON
in the following example with the full path to the ADC JSON file you always want to use for your MCP server.
Try it out :
Launch Gemini Code Assist or Gemini CLI and type /mcp
. You should see
analytics-mcp
listed in the results.
Here are some sample prompts to get you started:
- Ask what the server can do:
- Ask about a Google Analytics property
- Prompt for analysis:
- Ask about signed-in users:
- Ask about property configuration:
Contributing
Contributions welcome! See the Contributing Guide.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
An experimental MCP server that enables interaction with Google Analytics APIs, allowing users to retrieve account information, run core reports, and access realtime analytics data through natural language queries.
Related MCP Servers
- -securityAlicense-qualityAn MCP server implementation for accessing Google Analytics 4 (GA4) data, built using the Model Context Protocol TypeScript SDK.Last updated -13167JavaScriptMIT License
- -securityFlicense-qualityProvides an interface to access Google Analytics Data API through Model Context Protocol (MCP), allowing users to retrieve reports and realtime data from Google Analytics 4 properties.Last updated -1317JavaScript
- -securityFlicense-qualityAn MCP server that provides access to Google Cloud Monitoring API, enabling interaction with cloud resources monitoring data through natural language commands.Last updated -Python
- -securityFlicense-qualityAn MCP Server that enables interaction with Google's Data Labeling API, allowing users to manage datasets, annotations, and labeling tasks through natural language commands.Last updated -Python