Skip to main content
Glama
umami-mcp

umami-mcp

by mikusnuz

get_metrics

Retrieve aggregated website analytics for a date range, including top pages, browsers, countries, devices, OS, and events, with filters and search to focus results.

Instructions

Get aggregated metrics for a website (e.g. top pages, browsers, countries, devices, OS, events)

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "websiteId": "<websiteId>",
      "startAt": "<startAt>",
      "endAt": "<endAt>",
      "type": "<type>"
    },
    "name": "get_metrics"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathNoFilter by URL path
typeYesMetric type to aggregate
endAtYesEnd timestamp in milliseconds
limitNoMax results to return (default 500)
offsetNo
searchNoSearch metric values
filtersNoAdditional Umami v3 filters such as country, device, browser, tag, UTM fields, segment, or cohort
startAtYesStart timestamp in milliseconds
referrerNoFilter by referrer
websiteIdYesWebsite UUID

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv2.1.1
    • addedInput schema / properties / filters
      Added value: +{
      +  "additionalProperties": {
      +    "type": [
      +      "string",
      +      "number",
      +      "boolean"
      +    ]
      +  },
      +  "description": "Additional Umami v3 filters such as country, device, browser, tag, UTM fields, segment, or cohort",
      +  "type": "object"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / path
      Added value: +{
      +  "description": "Filter by URL path",
      +  "type": "string"
      +}
    • addedInput schema / properties / search
      Added value: +{
      +  "description": "Search metric values",
      +  "type": "string"
      +}
    • changedInput schema / properties / type / enum
      Previous value: -[
      -  "url",
      -  "referrer",
      -  "browser",
      -  "os",
      -  "device",
      -  "country",
      -  "region",
      -  "city",
      -  "language",
      -  "event",
      -  "query",
      -  "title",
      -  "host",
      -  "tag"
      -]New value: +[
      +  "path",
      +  "fullPath",
      +  "entry",
      +  "exit",
      +  "referrer",
      +  "domain",
      +  "browser",
      +  "os",
      +  "device",
      +  "screen",
      +  "country",
      +  "region",
      +  "city",
      +  "language",
      +  "distinctId",
      +  "event",
      +  "query",
      +  "title",
      +  "hostname",
      +  "tag",
      +  "utmSource",
      +  "utmMedium",
      +  "utmCampaign",
      +  "utmContent",
      +  "utmTerm",
      +  "channel"
      +]
    • removedInput schema / properties / url
      Removed value: -{
      -  "description": "Filter by URL path",
      -  "type": "string"
      -}
  2. First observedv1.2.1

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations and no output schema, the description carries the full burden of behavioral disclosure. It says only that metrics are retrieved and never covers read-only behavior, authentication, pagination, rate limits, or what the aggregated response looks like.

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?

A single front-loaded sentence with no filler. It states the core action and immediately gives examples, making it efficient for an agent to scan.

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

Completeness2/5

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

This is a relatively complex tool with 10 parameters, nested filters, no annotations, and no output schema. The description does not explain return structure, aggregation semantics, time-range behavior, or pagination, leaving substantial gaps for correct invocation.

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

Parameters3/5

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

Schema description coverage is high at 90%, so the schema already documents most parameters and enum values. The description adds only illustrative metric examples that largely duplicate the 'type' enum rather than explaining time range, filters, pagination, or search semantics.

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?

States a specific verb ('Get') and resource ('aggregated metrics for a website') and gives examples of the metric dimensions available. The purpose is clear, but it does not explicitly distinguish this tool from close siblings such as get_stats, get_pageviews, get_events, or get_revenue_metrics.

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?

There is no guidance on when to use this tool versus the many alternative analytics tools in the sibling set. The examples imply it is for aggregated breakdowns, but no explicit conditions, exclusions, or preferred alternatives are provided.

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

Deploy Server

Other Tools