umami-analytics-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UMAMI_API_KEY | No | Umami Cloud API key (selects Cloud mode). | |
| UMAMI_API_URL | No | Self-hosted instance base URL, e.g. https://stats.example.com (/api appended). | |
| UMAMI_TEAM_ID | No | Scope website listings to a team (optional). | |
| MCP_AUTH_TOKEN | No | Shared-secret bearer required by remote endpoints. | |
| UMAMI_PASSWORD | No | Login password for self-hosted. | |
| UMAMI_USERNAME | No | Login username for self-hosted. | |
| UMAMI_CLOUD_REGION | No | us or eu (optional regional base URL for Cloud). | |
| UMAMI_ENABLE_ADMIN | No | 1 to expose user-management tools (self-hosted only). | |
| UMAMI_ENABLE_WRITE | No | 1 to expose create/update + send_event tools. | |
| UMAMI_DEFAULT_TIMEZONE | No | IANA tz for time-series tools (default UTC). | UTC |
| UMAMI_ALLOW_DESTRUCTIVE | No | 1 to also expose delete/reset tools. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_websitesA | List every website you can access (including team sites). CALL THIS FIRST — every other tool needs a website ID from here. Returns id, name, domain, createdAt. |
| get_websiteA | Fetch one website's metadata (name, domain, share settings, createdAt) by ID. |
| get_website_daterangeA | Return the earliest and latest timestamps for which a website has analytics data. Use this to choose a valid window before querying stats/metrics. |
| get_statsA | Aggregate metrics for a website over a date range: pageviews, visitors (unique sessions), visits, bounces (single-pageview sessions), and totaltime (seconds). Includes a previous-period |
| get_pageviewsB | Pageviews and sessions over time, bucketed by |
| get_active_visitorsA | Current real-time active visitor count for a website (visitors in the last few minutes). |
| get_realtimeA | Richer real-time snapshot for a website (recent events/sessions/series). Availability varies by Umami version; falls back gracefully. |
| get_metricsC | Top-N breakdown of a website by a single dimension ( |
| get_website_valuesA | List the distinct values seen for a column over a date range — useful to discover valid filter values (e.g. all browsers or countries) before filtering other queries. |
| get_eventsA | Custom-event activity over time for a website, bucketed by |
| get_event_dataA | Explore custom event properties. |
| list_sessionsB | Paginated list of individual visitor sessions over a date range (id, browser, os, device, geo, screen, visits, views, firstAt/lastAt). Supports search + filters. |
| get_sessionA | Fetch a single visitor session's details by session ID. |
| get_session_activityB | Ordered pageview/event timeline for a single session (createdAt, urlPath, referrer, eventType, eventName) — effectively a data-level session replay. |
| get_session_statsA | Aggregate session totals over a date range: pageviews, visitors, visits, countries, events — a session-centric overview. |
| get_session_propertiesA | List the custom properties attached to a single session (set via identify calls). |
| report_funnelA | Conversion funnel across an ordered list of steps. Each step is { type: 'path' | 'event', value }. |
| report_retentionA | Cohort retention over the selected period (how many users return on subsequent days). |
| report_journeyA | Most common navigation paths through the site, up to |
| report_goalsB | Progress toward one or more goals. Each goal is { type: 'event' | 'path', value }. Computed per goal against Umami's /reports/goal endpoint. |
| report_attributionA | Conversion attribution. |
| report_revenueA | Revenue analytics over the period (requires revenue events configured in Umami). |
| report_utmC | Breakdown of traffic by UTM parameters (source, medium, campaign, content, term). |
| report_breakdownC | Multi-dimensional breakdown across one or more fields (e.g. ['country','browser']). |
| list_reportsA | List saved reports (funnels, goals, journeys, etc.), optionally scoped to a website. |
| get_reportA | Fetch a saved report's full definition (type, parameters) by ID. |
| list_segmentsA | List saved segments and cohorts defined for a website. |
| get_segmentA | Fetch a single segment/cohort definition by ID. |
| list_teamsA | List teams you belong to (id, name, role). Available on both Cloud and self-hosted. |
| get_teamA | Fetch a single team's metadata by ID. |
| get_team_membersA | List members of a team and their roles (team-owner, team-manager, team-member, team-view-only). |
| get_meA | Return the authenticated account's profile: id, username, role, isAdmin, and teams. Credentials/tokens are stripped from the response. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| analytics_report | Full traffic report for a website over N days. |
| traffic_overview | Quick traffic snapshot. |
| top_pages | Most-visited pages. |
| acquisition_channels | Where traffic comes from. |
| realtime_check | Who's on the site right now. |
| funnel_analysis | Conversion funnel across steps. |
| retention_analysis | Returning-visitor retention. |
| audience_insights | Who the visitors are. |
| compare_periods | This period vs the previous. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| websites | All accessible websites |
| me | Authenticated profile (sanitized) |
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/matious89pl/umami-analytics-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server