Skip to content

Climactic/umami-mcp

Repository files navigation

Umami MCP

npm version CI License GitHub Sponsors Ko-fi

@climactic/umami-mcp

An MCP server for Umami Analytics that gives Claude (and any MCP-compatible client) full read/write access to your analytics data. Works with both Umami Cloud and self-hosted instances.

48 tools covering websites, stats, pageviews, metrics, sessions, events, reports (funnel, retention, goals, journey, attribution, UTM, revenue, performance, breakdown), teams, and user admin.

Install

Claude Code (plugin)

# Add the marketplace and install
claude /plugin marketplace add climactic/umami-mcp
claude /plugin install umami-mcp@climactic

Claude Desktop / other MCP clients

Add to your mcpServers config:

{
  "mcpServers": {
    "umami": {
      "command": "bunx",
      "args": ["@climactic/umami-mcp"],
      "env": {
        "UMAMI_API_KEY": "your-api-key"
      }
    }
  }
}

Local dev

git clone https://github.com/climactic/umami-mcp.git
cd umami-mcp
bun install
UMAMI_API_KEY=your-key bun run index.ts

Auth

Set one of these env var combinations:

Umami Cloud:

Variable Required Description
UMAMI_API_KEY Yes API key from Umami Cloud dashboard
UMAMI_BASE_URL No Override API base (default: https://api.umami.is/v1)
UMAMI_DEFAULT_WEBSITE_ID No Default website UUID for tools that accept websiteId

Self-hosted:

Variable Required Description
UMAMI_BASE_URL Yes Your Umami instance URL, e.g. https://umami.example.com
UMAMI_USERNAME Yes Admin username
UMAMI_PASSWORD Yes Admin password
UMAMI_DEFAULT_WEBSITE_ID No Default website UUID

Tools

Me (2)
  • umami_whoami — Current authenticated user
  • umami_list_my_websites — Websites accessible to current user
Websites (6)
  • umami_list_websites — List all websites
  • umami_get_website — Get website details
  • umami_create_website — Create a new website
  • umami_update_website — Update name/domain/shareId
  • umami_delete_website — Delete a website permanently
  • umami_reset_website — Wipe all data for a website
Stats & Realtime (7)
  • umami_get_stats — Aggregate stats (pageviews, visitors, bounces, time)
  • umami_get_pageviews — Pageviews + sessions time series
  • umami_get_metrics — Top N by dimension (url, referrer, browser, os, country, event, ...)
  • umami_get_active_users — Active users right now
  • umami_get_realtime — Last-30-minute realtime data
  • umami_get_daterange — Earliest/latest data timestamps
  • umami_get_events_series — Event counts over time
Sessions (6)
  • umami_list_sessions — List sessions in a date range
  • umami_get_session — Session details
  • umami_get_session_stats — Session-level aggregates
  • umami_get_session_activity — Activity timeline for a session
  • umami_get_session_properties — Custom properties on a session
  • umami_list_session_property_values — Value counts for a session property
Events (7)
  • umami_list_events — List events in a date range
  • umami_get_event_stats — Aggregate event stats
  • umami_list_event_data — Events grouped by name
  • umami_list_event_fields — Event-data field value counts
  • umami_list_event_properties — Event names + property counts
  • umami_list_event_property_values — Value counts for event + property
  • umami_send_event — Send a tracking event via /api/send
Reports (11)
  • umami_list_reports — List saved reports
  • umami_get_report — Fetch a saved report
  • umami_report_funnel — Funnel conversion
  • umami_report_retention — Retention cohorts
  • umami_report_goal — Goal tracking
  • umami_report_journey — User journeys
  • umami_report_attribution — Attribution (first/last click)
  • umami_report_utm — UTM campaign breakdown
  • umami_report_revenue — Revenue by currency
  • umami_report_performance — Core Web Vitals
  • umami_report_breakdown — Breakdown by custom fields
Teams (6)
  • umami_list_teams — List teams
  • umami_get_team — Team details
  • umami_create_team — Create a team
  • umami_update_team — Update name/access code
  • umami_delete_team — Delete a team
  • umami_list_team_members — List team members
Users — self-hosted only (3)
  • umami_list_users — List all users (admin)
  • umami_create_user — Create a user
  • umami_delete_user — Delete a user

Examples

Ask Claude things like:

  • "How many pageviews did my site get this week?"
  • "What are my top 10 referrers for the last 30 days?"
  • "Show me a funnel from / to /checkout to /thank-you"
  • "What's the retention look like for January?"
  • "Who's on the site right now?"
  • "Create a new website for staging.example.com"

Development

bun install
bun test            # run test suite
bun run index.ts    # start the server (needs env vars)
bunx tsc --noEmit   # type check
bunx oxlint         # lint

Sponsors

If this project saves you time, consider supporting its development:

License

MIT

About

Umami Analytics MCP - No Binaries, No Docker, Easy to Use

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors