@rampstack/umami-mcp
Read-only integration with Umami Cloud analytics, providing tools to list websites, retrieve statistics, pageviews, metrics, event data, and cohort reports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@rampstack/umami-mcpShow me the stats for my website"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@rampstack/umami-mcp
A read-only Model Context Protocol server for Umami Cloud analytics. It exposes your Umami website data to MCP clients (Claude Code, Claude Desktop, and others) as a small set of GET-only tools.
Read-only by construction: the server makes exactly one kind of network call, an authenticated HTTP GET against the Umami Cloud API. There is no write path in the code, so no tool can create, edit, or delete anything in your Umami account.
Install
One line for Claude Code (user scope):
claude mcp add umami --scope user \
--env UMAMI_API_KEY=your_key_here \
-- npx -y @rampstack/umami-mcpClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@rampstack/umami-mcp"],
"env": {
"UMAMI_API_KEY": "your_key_here"
}
}
}
}Environment
Variable | Required | Default | Notes |
| yes | none | Umami Cloud API key. The server exits if missing. |
| no |
| Override for a regional base, e.g. |
Get a key from the Umami Cloud dashboard under Settings -> API keys. The key
is passed to Umami in the x-umami-api-key header
(docs).
Related MCP server: umami-mcp-server
Tools
All tools take dates as ISO 8601 or epoch milliseconds. Naive datetimes (no
timezone) are treated as UTC. Every time-scoped response echoes the resolved
{ startAt, endAt } epoch window so you can verify the exact window queried.
Tool | Purpose |
| id, name, domain for every site on the account. Call first to get |
| visitors, visits, pageviews, bounces, totaltime + previous period + computed deltas. |
| pageviews/sessions timeseries, bucketed by |
| top values for one dimension ( |
| custom event-data properties (plan-gated; see below). |
| one call: stats + top 10 urls + top 10 referrers + top 10 events over a range. |
cohort_report accepts a range of 24h, 7d, 30d, 90d, or an ISO
start/end pair like 2026-01-01/2026-02-01.
Note on metric types
Umami's current docs label the URL dimension path. This server exposes it as
url, the long-standing alias the API still accepts, matching the Umami web UI
vocabulary. Other dimensions (referrer, browser, os, device, country,
event) map directly.
Note on event-data
The get_event_data tool calls the Umami event-data endpoints, which are gated
by account plan. On tiers where they are not exposed, the tool returns a clear
note (not fabricated data) and points you to get_metrics with type=event for
event counts, which is available everywhere.
Security
Read-only by construction. The client exposes a single
get()method; there is no POST/PUT/DELETE anywhere in the source.GET-only. Every tool maps to a documented Umami GET endpoint.
Key stays local.
UMAMI_API_KEYis read from your environment and sent only in thex-umami-api-keyrequest header. It is never logged, never written to disk, and never included in error messages.No telemetry. The server makes no calls other than to the Umami API base you configure.
MIT licensed.
The Umami Cloud API key has account-wide read scope. If you manage analytics for multiple clients, use a separate Umami team or account per client rather than one key that can read them all.
Development
Requires Node 20+.
npm install
npm run build # tsc -> dist/
npm test # compiles and runs the node:test suite (mocked fetch, no live API)Tests never make live API calls and never reference a real key.
Publishing
This package is not yet published. To publish (maintainer action):
npm run build
npm publish --access publicLicense
MIT. See LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- 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/rampstackco/umami-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server