Skip to main content
Glama
MurkyPuma

umami-mcp-server

by MurkyPuma

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UMAMI_API_KEYNoAPI key, sent as x-umami-api-key (Umami Cloud / newer self-hosted)
UMAMI_API_URLYesYour Umami base URL, e.g. https://cloud.umami.is
UMAMI_TEAM_IDNoIf set, get_websites lists that team's sites; otherwise yours
UMAMI_TIMEOUTNoPer-request timeout in seconds (default 30)30
UMAMI_PASSWORDNoPassword for bearer token auth
UMAMI_USERNAMENoUsername for bearer token auth

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_websitesA

List the websites in your Umami account, with their ids, names, and domains.

Takes no arguments. Use the returned id for the other tools. If a team id is configured the team's websites are returned; otherwise your personal websites.

get_website_statsA

Get overview metrics for a website over a date range.

Returns pageviews, unique visitors, visits, bounces, and total time. If you get no data, double-check the date range before assuming there is none.

Args: website_id: The website id (from get_websites). start_at: Range start, 'YYYY-MM-DD' or 'YYYY-MM-DD HH:MM:SS' (UTC). end_at: Range end, same formats (a bare date includes the whole day).

get_website_metricsA

Get a breakdown of visitors by a dimension over a date range.

type selects the dimension: url (pages), referrer (traffic sources), browser, os, device, country, or event (tally of tracked events).

Args: website_id: The website id (from get_websites). start_at: Range start (UTC). end_at: Range end (UTC). type: One of url, referrer, browser, os, device, country, event.

get_pageview_seriesA

Get a pageviews-and-sessions time series, bucketed by hour, day, or month.

Use 'hour' for short ranges (1-7 days), 'day' for medium ranges, 'month' for long ranges.

Args: website_id: The website id (from get_websites). start_at: Range start (UTC). end_at: Range end (UTC). unit: Bucket size: hour, day, or month. timezone: IANA timezone for bucketing, e.g. 'UTC' or 'Europe/London'.

get_active_visitorsA

Get the number of visitors currently active on a website (real-time).

Args: website_id: The website id (from get_websites).

get_session_idsA

Get the unique session ids active in a range, optionally filtered to an event.

Use this to find sessions to inspect with get_tracking_data, not to count unique visitors (use get_website_stats for counts). Pass event_name to keep only sessions that fired that event, or omit it for all sessions.

Args: website_id: The website id (from get_websites). start_at: Range start (UTC). end_at: Range end (UTC). event_name: Optional event name to filter by (e.g. 'checkout_completed').

get_tracking_dataA

Get the full activity timeline (user journey) for one session.

Args: website_id: The website id (from get_websites). start_at: Range start (UTC). end_at: Range end (UTC). session_id: The session to inspect (from get_session_ids).

get_docsA

Semantic search over many user journeys to surface the most relevant moments.

Pulls every session for the range (optionally filtered to selected_event), then returns only the journey chunks most relevant to user_question -- letting you analyze behavior across many users without overflowing the context window.

Requires the optional 'rag' extra; without it, this returns install instructions.

Args: user_question: What you want to learn (used for the similarity search). website_id: The website id (from get_websites). start_at: Range start (UTC). end_at: Range end (UTC). selected_event: Optional event name to filter sessions by.

get_htmlA

Fetch the raw HTML of a live web page (HTTP GET, no JavaScript execution).

Useful for giving the model the structure/markup of a page you're analyzing.

Args: url: Full URL including scheme, e.g. 'https://example.com/pricing'.

get_screenshotA

Capture a rendered screenshot of a live web page.

Requires the optional 'screenshot' extra (Playwright); without it, this returns install instructions instead of an image.

Args: url: Full URL including scheme, e.g. 'https://example.com'.

Prompts

Interactive templates invoked by user choice

NameDescription
create_dashboardGuide the model through building a comprehensive analytics dashboard.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/MurkyPuma/umami-mcp-server'

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