Skip to main content
Glama
locomotive-agency

Google Analytics MCP Server

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.3

  • Disambiguation5/5

    Each tool targets a distinct aspect of Google Analytics: account summaries, property details, custom dimensions/metrics, Google Ads links, realtime reports, and standard reports. No overlap or ambiguity.

    Naming Consistency5/5

    All tools follow a consistent verb_noun snake_case pattern: get_account_summaries, get_custom_dimensions_and_metrics, get_property_details, list_google_ads_links, run_realtime_report, run_report.

    Tool Count5/5

    6 tools is well-scoped for a Google Analytics data server. It covers the essential operations without being sparse or overly numerous.

    Completeness4/5

    For a read-only analytics server, it covers account info, property details, custom dimensions/metrics, ads links, and both standard and realtime reports. Missing a tool to list standard dimensions/metrics, but hints guide the user to external docs.

  • Average 3.6/5 across 6 of 6 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under Apache 2.0.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations provided, and the description only says 'Returns' without detailing read-only nature, authentication requirements, rate limits, or other behavioral aspects. The agent has limited insight into side effects or constraints.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is very concise and front-loaded with the main purpose. The use of a structured Args section is clear. However, it could be slightly more succinct by removing the 'Args:' header and integrating the parameter description.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simplicity of the tool (one parameter, output schema present), the description is minimally adequate. It explains the purpose and parameter format. However, it lacks context about the response structure, which is partially covered by the output schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds meaningful context for the single parameter property_id, specifying accepted formats (number or string with 'properties/' prefix). This goes beyond the schema's anyOf type definition, which only defines type as integer/string.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it returns custom dimensions and metrics for a property. It distinguishes the tool's purpose from sibling tools like run_report or get_account_summaries, but does not explicitly differentiate them.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives. For example, it does not mention that this tool is for custom dimensions/metrics while run_report is for standard reporting.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries full burden. It only states 'retrieves information' which implies a read operation, but does not disclose behavioral traits like data size, authentication needs, or whether it is safe to call repeatedly.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Single sentence of 11 words, front-loaded with the verb 'retrieves'. No wasted words, efficient and to the point.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no parameters and an output schema (not shown), the description is adequate but does not hint at what the output contains or any pagination. For a simple retrieval tool, it is minimally viable but lacks completeness about the response structure.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Tool has no parameters and schema description coverage is 100%. Description adds no parameter info, which is sufficient since there are no parameters. Baseline for 0 params is 4.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    Description clearly states it retrieves information about the user's Google Analytics accounts and properties, using specific verb and resource. However, it does not differentiate from sibling tools like get_property_details which also retrieves property-level info.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives such as run_report or get_custom_dimensions_and_metrics. The description lacks context about prerequisites or typical use cases.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full burden for behavioral disclosure. It only states that the tool returns a list, but does not mention side effects, read-only nature, pagination, authorization requirements, or performance characteristics. The implicit read-only nature is not made explicit.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise, consisting of a single sentence and a parameter clarification. It avoids unnecessary details. However, it could be slightly improved by integrating the parameter description inline or making it more readable.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the simple input (one parameter) and the existence of an output schema (not evaluated here), the description covers the basic input format. However, it lacks context about the output (beyond 'list'), potential permissions, or how the links are structured. It feels incomplete for an agent that needs to interpret the returned data.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema coverage is 0%, meaning the schema itself gives no description. The description adds value by explaining accepted formats for property_id: a number or a string with 'properties/' prefix. However, it does not explain how the property ID relates to Google Analytics accounts or how it is used in the request.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Returns a list of links to Google Ads accounts for a property.' It uses a specific verb ('list') and a distinct resource ('links to Google Ads accounts'), which differentiates it from sibling tools that deal with account summaries, custom dimensions, or reports.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or when not to use it. For example, it doesn't clarify if this is for viewing existing links before creating/modifying them.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior2/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided. The description only states the tool returns details, but does not disclose any behavioral traits such as idempotency, side effects, or permissions required.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise with a single sentence defining purpose and a structured Args section. Every sentence is informative and front-loaded.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool has one parameter, no nested objects, and an output schema, the description covers the parameter format sufficiently. However, it lacks context on return content or prerequisites.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description adds value beyond the schema by specifying accepted formats for property_id (number or 'properties/' string). This compensates for the schema's lack of description coverage (0%).

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The title and description clearly state the action (gets) and resource (property details). The tool is distinct from siblings like get_account_summaries, which focus on different resources.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no guidance on when to use this tool versus alternatives. No exclusions or context for selection are given, leaving the agent without decision support.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    With no annotations provided, the description carries full responsibility for behavioral disclosure. It extensively details naming conventions (snake_case vs camelCase), constraints on filters (independent application), pagination guidelines, and quota considerations. However, it does not explicitly confirm that the tool is read-only, which would be expected for a report.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is overly long and contains repetition (e.g., filter limitation notes appear twice). While the structure is logical (purpose, args, notes, hints), it could be more concise. The hints section, though valuable, includes extensive examples that may be efficiently referenced via the provided links.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the high complexity (11 parameters, 4 required, nested objects) and the existence of an output schema, the description covers all necessary aspects: parameter formats, examples, constraints, pagination, and complex filter scenarios. It also includes links to official documentation. No significant gaps remain.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must fully compensate. It provides thorough explanations for all 11 parameters, including accepted formats, examples, and constraints. The hints section offers detailed JSON examples for date_ranges, dimension_filter, metric_filter, and order_bys. This adds substantial meaning beyond the bare schema types.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The title and description clearly specify that the tool runs a Google Analytics Data API report. The description provides the verb ('Runs') and resource ('Google Analytics Data API report'), and the title distinguishes it from sibling tools like run_realtime_report by specifying 'Data API'. The purpose is unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description lacks explicit guidance on when to use this tool versus alternatives such as run_realtime_report or get_account_summaries. There is no statement of context, prerequisites, or exclusion criteria. The only usage advice is internal to the tool (e.g., how to handle complex filter combinations), not tool selection.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    No annotations are provided, so the description carries full responsibility. It mentions pagination, quota considerations, and filter limitations, but does not explicitly state that the tool is read-only or discuss required permissions. The read-only nature is implied but not confirmed.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with clear sections and examples, but it is overly verbose, repeating the same notes on filter independence twice. It could be more concise while retaining key information.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (9 parameters, nested objects, filter limitations, and available output schema), the description is thorough. It covers all parameters, provides examples, explains constraints, and offers workarounds for complex scenarios, making it complete for agent use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, but the description adds extensive meaning to every parameter, including accepted formats, constraints (e.g., dimensions must be realtime), and multiple examples with detailed guidance. This compensates fully for the lack of schema descriptions.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states that the tool runs a Google Analytics realtime report. However, it does not explicitly differentiate from the sibling tool 'run_report', leaving the distinction to name and context.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines5/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Extensive guidelines are provided, including when to use dimension_filter vs metric_filter, complex filter limitations, and alternative approaches (options a and b). The description also references hints tools for proper argument formatting.

    Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

google-analytics-mcp MCP server

Copy to your README.md:

Score Badge

google-analytics-mcp MCP server

Copy to your README.md:

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/locomotive-agency/google-analytics-mcp'

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