MCP ExplorerExplorer

Syne Ga Mcp

@SyneHQon a year ago
1 MIT
FreeCommunity
AI Systems
MCP server for Google Analytics 4 data, enabling AI queries via standardized protocol.

Overview

What is Syne Ga Mcp

syne_ga_mcp is a Model Context Protocol (MCP) server designed to interface with Google Analytics 4 (GA4) data, enabling AI assistants to query GA4 data through a standardized protocol.

Use cases

Use cases for syne_ga_mcp include generating custom reports for web traffic analysis, real-time monitoring of user engagement, and obtaining metadata for data-driven decision-making.

How to use

To use syne_ga_mcp, configure the server with Google service account credentials and utilize the MCP call_tool endpoint to run reports or retrieve metadata about GA4 properties.

Key features

Key features include the ability to run standard and real-time reports via the Google Analytics Data API v1beta, specify metrics and dimensions, and retrieve metadata about available metrics and dimensions for the configured GA4 property.

Where to use

syne_ga_mcp can be used in analytics and data reporting environments, particularly where Google Analytics 4 data needs to be accessed programmatically by AI applications or data analysis tools.

Content

Syne Google Analytics MCP Server

A Model Context Protocol (MCP) server for Google Analytics 4 data.

Overview

This server provides an MCP interface to Google Analytics 4 data, allowing AI assistants to query GA4 data through a standardized protocol.

Features

The server exposes the following tools via the MCP call_tool endpoint:

  • run_ga4_report: Runs a standard report using the Google Analytics Data API v1beta. Allows specifying metrics, optional dimensions, date range, and row limit.
  • run_realtime_report: Runs a realtime report using the Google Analytics Data API v1beta. Allows specifying metrics, optional dimensions, and row limit.
  • get_metadata: Gets metadata about available metrics and dimensions (or all) for the configured GA4 property.

It also handles authentication using Google service account credentials provided in the configuration.

        tools = [
            types.Tool(
                name="run_ga4_report",
                description="Runs a report using the Google Analytics Data API v1beta.",
                inputSchema={
                    "type": "object",
                    "properties": {
                        "metrics": {
                            "type": "array",
                            "items": {"type": "string"},
                            "description": "Required. List of metric names (e.g., ['activeUsers', 'sessions']). See GA4 documentation for valid metrics."
                        },
                        "dimensions": {
                            "type": "array",
                            "items": {"type": "string"},
                            "description": "Optional. List of dimension names (e.g., ['country', 'city']). See GA4 documentation for valid dimensions.",
                            "optional": True
                        },
                        "date_range": {
                            "type": "string", # Could also be an object, handled by ga_handler
                            "description": "Optional. Date range alias ('today', 'yesterday', 'last7days', 'last30days') or an object like {'start_date': 'YYYY-MM-DD', 'end_date': 'YYYY-MM-DD'}.",
                            "default": "last30days"
                        },
                        "limit": {
                            "type": "integer",
                            "description": "Optional. The maximum number of rows to return in the report.",
                            "default": 10
                        }
                    },
                    "required": ["metrics"]
                },
            ),
            types.Tool(
                name="run_realtime_report",
                description="Runs a realtime report using the Google Analytics Data API v1beta.",
                inputSchema={
                    "type": "object",
                    "properties": {
                        "metrics": {
                            "type": "array",
                            "items": {"type": "string"},
                            "description": "Required. List of metric names (e.g., ['activeUsers', 'screenPageViews']). See GA4 realtime documentation for valid metrics."
                        },
                        "dimensions": {
                            "type": "array",
                            "items": {"type": "string"},
                            "description": "Optional. List of dimension names (e.g., ['country', 'city']). See GA4 realtime documentation for valid dimensions.",
                            "optional": True
                        },
                        "limit": {
                            "type": "integer",
                            "description": "Optional. The maximum number of rows to return in the report.",
                            "default": 10
                        }
                    },
                    "required": ["metrics"]
                },
            ),
            types.Tool(
                name="get_metadata",
                description="Gets metadata about available metrics and dimensions for the configured property.",
                inputSchema={
                    "type": "object",
                    "properties": {
                        "metadata_type": {
                            "type": "string",
                            "description": "Optional. Specifies the type of metadata to retrieve: 'metrics', 'dimensions', or 'all'.",
                            "default": "all",
                            "enum": ["metrics", "dimensions", "all"] # Adding enum for clarity
                        }
                    }
                },
            ),
        ]

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers