MCP Hub
Back to servers

umami

MCP server for Umami Analytics API v2 — websites, stats, events, reports, and realtime

Registryglama
Stars
1
Forks
1
Updated
Mar 19, 2026

Quick Install

npx -y @mikusnuz/umami-mcp

English | 한국어

umami-mcp

npm version License: MIT MCP Badge

Full-coverage Model Context Protocol (MCP) server for Umami Analytics API v2.

Unlike existing Umami MCP implementations (read-only, ≤5 tools), this server provides 66 tools, 2 resources, and 2 prompts covering the entire Umami API — websites CRUD, stats, sessions, events, event-data, session-data, reports, user management, teams, realtime, account, and more.

When to Use

Use this MCP when you need to:

  • "Show me website analytics for the last 7 days" — get stats, pageviews, and metrics with date filters
  • "Which pages got the most views this month?" — query aggregated metrics by URL
  • "Compare traffic between two date ranges" — use the traffic_compare prompt or get_stats with different ranges
  • "Set up a new website in Umami" — create and configure tracked websites
  • "Get real-time active visitors" — check active visitors and real-time data
  • "Export analytics report" — create, run, and retrieve reports (funnel, retention, UTM, goals, revenue, attribution)
  • "Track a custom event from the server" — send events or batch events programmatically
  • "Manage team access to analytics" — create teams, add users and websites to teams

Features

  • 66 Tools — Full CRUD for websites, detailed analytics, session tracking, event sending & event-data queries, report management (including attribution), user/team administration, team-website management, account management, batch events, and realtime monitoring
  • 2 Resources — Quick access to website list and account info
  • 2 Prompts — Pre-built analytics workflows (site overview, traffic comparison)
  • Dual Auth — Self-hosted (username/password → JWT) and Umami Cloud (API key)
  • Lazy Config — Server starts without credentials; auth is checked on first API call
  • Zero Dependencies — Uses native fetch, no external HTTP libraries

Installation

npm install -g @mikusnuz/umami-mcp

Or use directly with npx:

npx @mikusnuz/umami-mcp

Configuration

Environment Variables

VariableRequiredDescription
UMAMI_URLYesYour Umami instance URL (e.g. https://analytics.example.com)
UMAMI_USERNAMEFor self-hostedLogin username
UMAMI_PASSWORDFor self-hostedLogin password
UMAMI_API_KEYFor Umami CloudAPI key from Umami Cloud dashboard

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "umami": {
      "command": "npx",
      "args": ["-y", "@mikusnuz/umami-mcp"],
      "env": {
        "UMAMI_URL": "https://analytics.example.com",
        "UMAMI_USERNAME": "admin",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Claude Code

claude mcp add umami -- npx -y @mikusnuz/umami-mcp

# Set environment variables
export UMAMI_URL="https://analytics.example.com"
export UMAMI_USERNAME="admin"
export UMAMI_PASSWORD="your-password"

Tools (66)

Websites (9)

ToolDescription
list_websitesList all tracked websites
get_websiteGet website details by ID
create_websiteCreate a new website
update_websiteUpdate website configuration
delete_websiteDelete a website
get_active_visitorsGet current active visitor count
reset_websiteReset all analytics data for a website
transfer_websiteTransfer website ownership to another user
get_website_reportsGet all reports for a website

Stats & Analytics (9)

ToolDescription
get_statsSummary statistics (pageviews, visitors, bounce rate, etc.)
get_pageviewsPageview/session counts over time
get_metricsAggregated metrics (top pages, browsers, countries, etc.)
get_eventsEvent data over time
get_sessionsSession listing with filters
get_daterangeAvailable data date range
get_event_seriesEvent metrics over time (event series)
get_session_statsSummarized session statistics
get_sessions_weeklyWeekly session data

Sessions (5)

ToolDescription
get_sessionSession details
get_session_activitySession activity log
get_session_propertiesSession custom properties
get_session_data_propertiesSession data property names and types
get_session_data_valuesSession data aggregated values

Events (7)

ToolDescription
send_eventSend custom events/pageviews (server-side tracking)
get_event_valuesEvent/session property values
get_event_data_eventsEvent data events (custom event names and counts)
get_event_data_fieldsEvent data fields (property keys and types)
get_event_data_valuesEvent data values (aggregated counts for a property)
get_event_data_statsEvent data statistics summary
batch_eventsSend multiple events in a single batch request

Reports (6)

ToolDescription
list_reportsList saved reports
get_reportGet report details
create_reportCreate and save a report
update_reportUpdate an existing report
delete_reportDelete a saved report
run_reportExecute a report (funnel, retention, utm, goals, insights, revenue, journey, attribution)

Users (8, admin only)

ToolDescription
list_usersList all users
create_userCreate a new user (username, password, role)
get_userGet user details
update_userUpdate user (username, password, or role)
delete_userDelete a user
get_user_websitesList websites a user has access to
get_user_usageGet usage statistics for a user
get_user_teamsList teams a user belongs to

Teams (14)

ToolDescription
list_teamsList all teams
create_teamCreate a new team
get_teamGet team details
update_teamUpdate team name
delete_teamDelete a team
join_teamJoin a team using an access code
list_team_usersList team members
get_team_userGet details of a specific team member
add_team_userAdd a user to a team
update_team_userUpdate a team member's role
remove_team_userRemove a user from a team
list_team_websitesList websites belonging to a team
add_team_websiteAdd a website to a team
remove_team_websiteRemove a website from a team

Account (7)

ToolDescription
get_meGet current authenticated user profile
get_my_websitesList current user's websites
get_my_teamsList current user's teams
update_my_passwordUpdate current user's password
verify_authVerify authentication token is valid
get_shareGet shared website data by share ID
heartbeatCheck if Umami server is healthy

Realtime (1)

ToolDescription
get_realtimeReal-time data for last 30 minutes (visitors, URLs, referrers, countries, events)

Resources (2)

ResourceURIDescription
Websitesumami://websitesAll tracked websites
Accountumami://meCurrent user info

Prompts (2)

PromptDescription
site_overviewComprehensive site analysis (stats + pageviews + top metrics + active visitors)
traffic_compareCompare traffic between two date ranges

Usage Examples

Get website statistics

Use get_stats to show me the last 7 days of analytics for my main website.

Compare periods

Use the traffic_compare prompt to compare last week vs this week for website abc-123.

Send server-side event

Use send_event to track a "signup" event on my website with data { plan: "pro" }.

Batch multiple events

Use batch_events to send 3 pageview events for different pages on my website.

Check server health

Use heartbeat to check if the Umami server is running.

Development

git clone https://github.com/mikusnuz/umami-mcp.git
cd umami-mcp
npm install
npm run build

License

MIT

Reviews

No reviews yet

Sign in to write a review