umami-mcp-server
MCP server for Umami Analytics
Install / Use
claude mcp add frontedu -- npx -y github:frontedu/umami-mcp-serverIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Data & AnalyticsSupported Platforms
Tags
Our assessment of umami-mcp-server
umami-mcp-server scores 70/100 on our quality scale, 556th of 599 Data & Analytics skills we index.
Its MCP Server is 10 KB long, well organised into 26 sections with 9 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 85/100, with 2 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-11-01. Automated pattern scan on 2026-11-01. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
umami-mcp-server compared with similar skills
All 4 of these similar skills score higher than umami-mcp-server; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| umami-mcp-server (this skill)by frontedu | 70 | 3 | 4mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 107.3k | 7d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.5k | 1d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 91.2k | today | MCP Server |
Frequently asked questions
- How do I install umami-mcp-server?
- Run
claude mcp add frontedu -- npx -y github:frontedu/umami-mcp-server. The install tabs above show the steps for each supported agent. - Which AI agents does umami-mcp-server work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is umami-mcp-server safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 85/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is umami-mcp-server still maintained?
- The repository was last updated about 4 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHub61 read-only tools, 4 prompts, and 3 resources over MCP. Built on the official TypeScript SDK. Runs with npx — no install required.
Quick start
npx umami-mcp-server
Or install globally:
npm install -g umami-mcp-server
Setup
Claude Code
claude mcp add -e UMAMI_API_KEY=your-api-key umami -- npx -y umami-mcp-server
Or add to .mcp.json in your project root:
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "umami-mcp-server"],
"env": {
"UMAMI_API_KEY": "your-api-key"
}
}
}
}
Claude Desktop
Settings > Developer > Edit Config > claude_desktop_config.json:
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "umami-mcp-server"],
"env": {
"UMAMI_API_KEY": "your-api-key"
}
}
}
}
Cursor
.cursor/mcp.json:
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "umami-mcp-server"],
"env": {
"UMAMI_API_KEY": "your-api-key"
}
}
}
}
VS Code (Copilot)
settings.json:
{
"mcp": {
"servers": {
"umami": {
"command": "npx",
"args": ["-y", "umami-mcp-server"],
"env": {
"UMAMI_API_KEY": "your-api-key"
}
}
}
}
}
ChatGPT
ChatGPT supports MCP servers via remote connection (requires a publicly accessible URL).
- Deploy this server behind a public HTTPS endpoint with SSE transport (e.g. using mcp-remote or a tunnel like ngrok)
- In ChatGPT, go to Settings > Connectors > Advanced > Developer Mode
- Add the server URL
ChatGPT cannot connect to localhost directly. You need a public URL or tunnel.
Available for ChatGPT Pro, Team, Enterprise, and Edu plans.
OpenAI Codex / Windsurf / Zed
Same pattern — command npx, args ["-y", "umami-mcp-server"], plus environment variables.
Smithery
npx -y @smithery/cli install umami-mcp-server --client claude
Self-hosted Umami
Replace the env block in any config above:
{
"UMAMI_URL": "https://your-umami-instance.com",
"UMAMI_USERNAME": "admin",
"UMAMI_PASSWORD": "your-password"
}
Environment variables
| Variable | Required | Description |
|----------|----------|-------------|
| UMAMI_API_KEY | Cloud | API key from Umami Cloud Settings > API Keys |
| UMAMI_API_BASE | No | API base URL (default: https://api.umami.is/v1) |
| UMAMI_URL | Self-hosted | Umami instance URL |
| UMAMI_USERNAME | Self-hosted | Login username |
| UMAMI_PASSWORD | Self-hosted | Login password |
Set UMAMI_API_KEY for Cloud, or UMAMI_URL + UMAMI_USERNAME + UMAMI_PASSWORD for self-hosted. Auto-detected.
Tools
Website stats (11)
| Tool | Description |
|------|-------------|
| get_websites | List all tracked websites with IDs and creation dates |
| get_website_by_id | Get details for a specific website |
| get_stats | Aggregated stats: pageviews, visitors, visits, bounces, total time |
| get_pageviews | Time-series pageview and session data by time unit |
| get_metrics | Breakdown by path, referrer, browser, OS, device, country, etc. |
| get_metrics_expanded | Per-item stats: pageviews, visitors, bounces, time on page |
| get_active | Current active visitors |
| get_daterange | Available data date range for a website |
| get_realtime | Last 30 minutes: visitors, URLs, referrers, events, totals |
| get_website_shares | List public share pages for a website |
| get_share_by_id | Get a share page by ID |
Events (9)
| Tool | Description |
|------|-------------|
| get_events | Event details within a time range (paginated, searchable) |
| get_events_series | Event data over time with timezone support |
| get_events_stats | Aggregated event statistics |
| get_event_data_by_id | Event data for a specific event |
| get_event_data_events | Event names, properties, and counts |
| get_event_data_fields | Event property and value counts |
| get_event_data_properties | Event name and property counts |
| get_event_data_values | Counts for a specific event/property combination |
| get_event_data_stats | Aggregated totals: events, properties, records |
Sessions (8)
| Tool | Description |
|------|-------------|
| get_sessions | Session list with browser, OS, device, country (paginated) |
| get_sessions_stats | Session aggregates: pageviews, visitors, countries, events |
| get_sessions_weekly | Heatmap: 7 days x 24 hours of session activity |
| get_session_by_id | Details for an individual session |
| get_session_activity | Activity history (pages, events) for a session |
| get_session_properties | Custom properties for a session |
| get_session_data_properties | Session data counts by property name |
| get_session_data_values | Session data counts for a specific property |
Reports (11)
| Tool | Description |
|------|-------------|
| get_reports | List saved reports (optionally filter by website) |
| get_report_by_id | Get a saved report by ID |
| get_funnel_report | Funnel analysis: conversion and drop-off through steps |
| get_retention_report | Visitor return frequency over time |
| get_journey_report | User navigation flow from a start page through N steps |
| get_utm_report | UTM campaign breakdown: source, medium, campaign, term, content |
| get_goals_report | Pageview and event goal tracking |
| get_revenue_report | Revenue data by date range and currency |
| get_performance_report | Core Web Vitals: LCP, INP, CLS, FCP, TTFB |
| get_attribution_report | Marketing attribution by source |
| get_breakdown_report | Segment data by multiple dimensions |
Teams (4)
| Tool | Description |
|------|-------------|
| get_teams | List all teams |
| get_team_by_id | Team details |
| get_team_users | Team members and roles |
| get_team_websites | Websites belonging to a team |
Auth (2)
| Tool | Description |
|------|-------------|
| verify_token | Verify authentication token and get user info |
| get_me | Current authenticated user details |
Composite tools (16)
Tools that combine multiple API calls and return computed insights.
| Tool | Description |
|------|-------------|
| compare_periods | Two periods side-by-side with growth/decline % |
| get_visitor_demographics | Country, browser, OS, device, language in one call |
| get_traffic_sources | Referrers, channels, and domains combined |
| get_session_detail | Session info + activity + properties in one call |
| get_event_detail | Event names + values + time series in one call |
| get_site_overview | Stats + active + top pages + sources + countries |
| get_campaign_performance | UTM + attribution combined |
| get_page_analysis | Expanded page metrics + Core Web Vitals |
| get_growth_trends | 3-period trend with acceleration/deceleration detection |
| get_engagement_score | Engagement score (0–100) from bounce rate, time, pages/visit |
| get_content_performance | Per-page role analysis: entry door, exit door, passthrough |
| get_acquisition_overview | Referrers + channels + landing pages + UTM unified |
| get_bounce_analysis | Worst bounce rates by page, source, and device |
| get_peak_hours_analysis | Peak/dead hours, best day, publishing window recommendation |
| get_geo_insights | Country → region → city hierarchy with share % |
| get_realtime_vs_baseline | Current traffic vs historical average, spike/drop detection |
All tools are read-only.
Resources
| URI | Description |
|-----|-------------|
| umami://websites | All tracked websites |
| umami://teams | All teams |
| umami://reports | All saved reports |
Prompts
| Prompt | Description | Default |
|--------|-------------|---------|
| analytics-report | Full analytics report | 30 days |
| top-pages | Most visited pages | 7 days, top 10 |
| visitor-insights | Visitors by country, device, browser, OS | 30 days |
| realtime-check | Current active visitors | — |
Example queries
- "What are my top 20 pages this month?"
- "Show me visitor trends for the last 90 days"
- "Which countries are my visitors from?"
- "How many people are on my site right now?"
- "What day and hour do I get the most traffic?"
- "Which pages have the highest bounce rate?"
- "Compare this month's traffic to last month"
- "What's my engagement score for the last 30 days?"
- "Where are visitors dropping off in my signup funnel?"
- "Is my traffic right now above or below normal?"
How it works
Implements MCP over stdio (JSON-RPC 2.0). Handles initialize, tools/list, tools/call, prompts/list, prompts/get, resources/list, resources/read. Makes authenticated requests to the Umami API and returns structured JSON.
No background processes, no polling, no state beyond the auth token.
Compatibility
| Client | Method | Status |
|--------|--------|--------|
| Claude Code | claude mcp add or .mcp.json | Supported |
| Claude Desktop | claude_desktop_config.json or .mcpb extension | Supported |
| Cursor | .cursor/mcp.json | Supported |
| VS Code (Copilot) | settings.json | Supported |
| OpenAI Codex | .mcp.json | Supported |
| ChatGPT | Remote URL + SSE transport | Requires public endpoint |
| Windsurf / Zed | .mcp.json | Supported |
| Smithery | npx @smithery/cli install | Supported |
Requirements
- Node.js >= 18
- Umami Cloud account or self-hosted instance
License
MIT
Related Skills
Agent-Reach
107.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.5kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.7kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
91.2k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
