# umami

Connects Claude Code to Umami Analytics v3 for metrics, events, reports, and site management. Useful when an agent needs direct analytics access.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 8
- Author: mikusnuz
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mikusnuz/umami-mcp
- Updated: 2026-10-19
- HTML: https://affpapa.org/en/nevibecode/mcp/umami

## What it does

umami connects an MCP client to the Umami Analytics v3 API. Its tools cover website data, pageviews, events, sessions, metrics, reports, boards, segments, links, pixels, replay, exports, and revenue. It also exposes collection routes for sending events and performance data.

The server works with self-hosted Umami and Umami Cloud. Self-hosted login can use a username and password or an API key; Cloud uses an API key. Connection settings include `UMAMI_URL`, `UMAMI_MODE`, `UMAMI_COLLECTOR_URL`, and the relevant credentials.

It runs through `@mikusnuz/umami-mcp` with `npx`. Node.js 20 or newer is required. API-key authentication, session-property segments, and annotations require Umami 3.4 or later.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `UMAMI_MODE`, `UMAMI_URL`, `UMAMI_COLLECTOR_URL`, `UMAMI_USERNAME`, `UMAMI_PASSWORD`, `UMAMI_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env UMAMI_MODE=<UMAMI_MODE> --env UMAMI_URL=<UMAMI_URL> --env UMAMI_COLLECTOR_URL=<UMAMI_COLLECTOR_URL> --env UMAMI_USERNAME=<UMAMI_USERNAME> --env UMAMI_PASSWORD=<UMAMI_PASSWORD> --transport stdio umami -- npx -y @mikusnuz/umami-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

**Platform CLI**
```bash
codex mcp add umami --env UMAMI_MODE=<UMAMI_MODE> --env UMAMI_URL=<UMAMI_URL> --env UMAMI_COLLECTOR_URL=<UMAMI_COLLECTOR_URL> --env UMAMI_USERNAME=<UMAMI_USERNAME> --env UMAMI_PASSWORD=<UMAMI_PASSWORD> -- npx -y @mikusnuz/umami-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "umami": {
            "command": "npx",
            "args": [
                "-y",
                "@mikusnuz/umami-mcp"
            ],
            "env": {
                "UMAMI_MODE": "<UMAMI_MODE>",
                "UMAMI_URL": "<UMAMI_URL>",
                "UMAMI_COLLECTOR_URL": "<UMAMI_COLLECTOR_URL>",
                "UMAMI_USERNAME": "<UMAMI_USERNAME>",
                "UMAMI_PASSWORD": "<UMAMI_PASSWORD>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "umami": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@mikusnuz/umami-mcp"
            ],
            "env": {
                "UMAMI_MODE": "<UMAMI_MODE>",
                "UMAMI_URL": "<UMAMI_URL>",
                "UMAMI_COLLECTOR_URL": "<UMAMI_COLLECTOR_URL>",
                "UMAMI_USERNAME": "<UMAMI_USERNAME>",
                "UMAMI_PASSWORD": "<UMAMI_PASSWORD>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e UMAMI_MODE=<UMAMI_MODE> -e UMAMI_URL=<UMAMI_URL> -e UMAMI_COLLECTOR_URL=<UMAMI_COLLECTOR_URL> -e UMAMI_USERNAME=<UMAMI_USERNAME> -e UMAMI_PASSWORD=<UMAMI_PASSWORD> umami npx -y @mikusnuz/umami-mcp
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- read website metrics from Umami
- inspect pageviews and session data
- send events and performance information
- run analytics reports for a website

## Example prompts
- Show me Umami statistics for this website and time range.
- Fetch pageviews and metrics for the site with this `websiteId`.
- Run an Umami report for funnel or retention data.

## Similar
- [posthog-analytics](https://affpapa.org/en/nevibecode/skills/posthog-analytics.md) — skill · 809 installs
- [yandex-metrica-mcp](https://affpapa.org/en/nevibecode/mcp/yandex-metrica-mcp.md) — MCP server · ★ 15
- [receipts](https://affpapa.org/en/nevibecode/skills/receipts.md) — skill · 2052 installs
- [Substack MCP Server](https://affpapa.org/en/nevibecode/mcp/substack-mcp-server.md) — MCP server · ★ 91
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/socialneuron-mcp-server.md) — MCP server · ★ 5
- [google-analytics-data-api-basics](https://affpapa.org/en/nevibecode/skills/google-analytics-data-api-basics.md) — skill · 7364 installs

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
