Skills/npm/umami-mcp

umami-mcp@0.1.2

VERIFIED

Publisher claims: "MCP server exposing Umami analytics (Cloud + self-hosted) via typed read-only tools" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher zgeoff · publishing for 127 daysInstalls 11,079Last detonated 29 h ago
$claude mcp add umami-mcp -- npx -y @zgeoff/umami-mcp
WatchReport an issue

Coverage

Started with a decoy UMAMI_API_KEY, UMAMI_PASSWORD; tool list observed. Tool calls with a real credential not tested.
Tested
server startup with a tagged decoy in UMAMI_API_KEY, UMAMI_PASSWORD · MCP initialize and tools/list · every tool description, for hidden instructions · where the decoy credential went · every file read, file written and host contacted by what ran
Not tested
what the tools do when called with a real credential
Needs
UMAMI_API_KEY, UMAMI_PASSWORD — give it to the server where it runs, through vet-skills run --secrets, so the value never enters the server's environment. Never paste a credential into a chat, a ticket or a report.

Before you give it your token

It will ask for
UMAMI_API_KEYUMAMI_PASSWORDConfiguration, not credentials: UMAMI_API_BASE, UMAMI_USERNAME
Where it talks to
no vendor host named in the codeAlso umami.is, your-umami.example — not the publisher's domain; check what for before connecting.
What the honeypot saw
no credential files read · no network
What we could not test
what the tools do when called with a real credential

Connect it with a scoped credential, under the guard, and read the third-party hosts first. The code names umami.is, your-umami.example as well as its own vendor. The guard injects UMAMI_API_KEY, UMAMI_PASSWORD only into requests to the host you bind (and its subdomains) and refuses the rest.

$vet-skills run --net declared -- npx -y @zgeoff/umami-mcp

Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios) on 2026-11-13 and scored it 93/100 (Verified). It did what it claims and nothing else we could detect: no undeclared network egress, no credential reads, no persistent instruction writes. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 52 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
12sprocessdependency install exit 0
32sprocessrelaunched with a decoy UMAMI_API_KEY, UMAMI_PASSWORD (tagged; nothing real)
52sclaimed5 tools with a decoy UMAMI_API_KEY, UMAMI_PASSWORD: get_websites, get_stats, get_pageviews, get_metrics, get_active
52stools9f38849ecb1cc67b
52stools9827826b31e11f57
52stools933b1f60afc36c2e
52stoolsbdac940fdf50f803
52stools35ef24b17687a0a7
52sprocessscript backend runs setup only
52sprocessno install scripts to re-run

Static findings

No findings across 539 lines in 10 files.

Cost to the agent

Instructions loaded
≈57 tok
1 file · 10 in bundle
Tool list per prompt
≈2,061 tok
5 tools · 412 per tool
Handshake
641 ms
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 96

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for @zgeoff/umami-mcp@0.1.2 as of 28 h ago. This is the package itself, not its dependencies.