Analytics
googleanalytics/google-analytics-mcp · 2.1k stars · Python · Apache-2.0
MCP server This repo contains the source code for running a local MCP server that interacts with APIs for
Install
The repo has no one-line install. Follow its README.
Files
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.run_funnel_report: Runs a Google Analytics funnel 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_FILE
- Set 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](https://github.com/google-gemini/gemini-cli/blob/main/docs/get-started/installation.md) or Gemini Code Assist.
- Create or edit the file at
~/.gemini/settings.json, adding your server
to the mcpServers list.
Replace PATH_TO_CREDENTIALS_JSON with the path you copied in the previous step.
We also recommend that you add a GOOGLE_CLOUD_PROJECT attribute to the env object. Replace YOUR_PROJECT_ID in the following example with the project ID of your Google Cloud project.
{
"mcpServers": {
"analytics-mcp": {
"command": "pipx",
"args": ["run", "analytics-mcp"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID"
}
}
}
}
Configure Claude Code
- Add the MCP server with the following command:
Replace PATH_TO_CREDENTIALS_JSON with the path you copied in the previous step, and replace YOUR_PROJECT_ID with the project ID of your Google Cloud project.
claude mcp add analytics-mcp \
--scope user \
-e "GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_CREDENTIALS_JSON" \
-e "GOOGLE_PROJECT_ID=YOUR_PROJECT_ID" \
-- pipx run analytics-mcp
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:
what can the analytics-mcp server do?
- Ask about a Google Analytics property
Give me details about my Google Analytics property with 'xyz' in the name
- Prompt for analysis:
what are the most popular events in my Google Analytics property in the last 180 days?
- Ask about signed-in users:
were most of my users in the last 6 months logged in?
- Ask about property configuration:
what are the custom dimensions and custom metrics in my property?
Contributing ✨
Contributions welcome! See the Contributing Guide.
Facts
- Kind
- MCP server
- Repo
- googleanalytics/google-analytics-mcp
- Group
- Uncategorized
- Stars
- 2.1k
- License
- Apache-2.0
- Language
- Python
- Last push
- 2026-10-02
- Forks
- 726
- 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
- 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
- 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
- 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
- 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k