Umami Compass
概要
作者による説明(英語の原文)
Secure Umami Analytics MCP server for Cloud and self-hosted deployments
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい↓ 71/週 · ★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: マーケティング・SNS
- 入力が必要なもの:UMAMI_API_KEY, UMAMI_ACCESS_TOKEN, UMAMI_PASSWORD
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- 自分で入力するもの:
UMAMI_API_KEY,UMAMI_ACCESS_TOKEN,UMAMI_USERNAME,UMAMI_PASSWORD,UMAMI_URL,UMAMI_API_URL,UMAMI_WEBSITE_IDS,UMAMI_TEAM_IDS,UMAMI_TOOLSETS,UMAMI_MAX_RESPONSE_BYTES
「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
- npmNode.jsのインストール(npxコマンドに必要)
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"umami-compass": {
"command": "npx",
"args": [
"-y",
"umami-compass"
],
"env": {
"UMAMI_API_KEY": "your-value",
"UMAMI_ACCESS_TOKEN": "your-value",
"UMAMI_USERNAME": "your-value",
"UMAMI_PASSWORD": "your-value",
"UMAMI_URL": "your-value",
"UMAMI_API_URL": "your-value",
"UMAMI_WEBSITE_IDS": "your-value",
"UMAMI_TEAM_IDS": "your-value",
"UMAMI_TOOLSETS": "your-value",
"UMAMI_MAX_RESPONSE_BYTES": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add umami-compass --env UMAMI_API_KEY=your-value --env UMAMI_ACCESS_TOKEN=your-value --env UMAMI_USERNAME=your-value --env UMAMI_PASSWORD=your-value --env UMAMI_URL=your-value --env UMAMI_API_URL=your-value --env UMAMI_WEBSITE_IDS=your-value --env UMAMI_TEAM_IDS=your-value --env UMAMI_TOOLSETS=your-value --env UMAMI_MAX_RESPONSE_BYTES=your-value -- npx -y umami-compass動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"umami-compass": {
"command": "npx",
"args": [
"-y",
"umami-compass"
],
"env": {
"UMAMI_API_KEY": "your-value",
"UMAMI_ACCESS_TOKEN": "your-value",
"UMAMI_USERNAME": "your-value",
"UMAMI_PASSWORD": "your-value",
"UMAMI_URL": "your-value",
"UMAMI_API_URL": "your-value",
"UMAMI_WEBSITE_IDS": "your-value",
"UMAMI_TEAM_IDS": "your-value",
"UMAMI_TOOLSETS": "your-value",
"UMAMI_MAX_RESPONSE_BYTES": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"umami-compass": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"umami-compass"
],
"env": {
"UMAMI_API_KEY": "your-value",
"UMAMI_ACCESS_TOKEN": "your-value",
"UMAMI_USERNAME": "your-value",
"UMAMI_PASSWORD": "your-value",
"UMAMI_URL": "your-value",
"UMAMI_API_URL": "your-value",
"UMAMI_WEBSITE_IDS": "your-value",
"UMAMI_TEAM_IDS": "your-value",
"UMAMI_TOOLSETS": "your-value",
"UMAMI_MAX_RESPONSE_BYTES": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
- Umami Cloud or client API key
- Existing self-hosted Bearer token
UMAMI_USERNAMEenvSelf-hosted Umami username- Self-hosted Umami password
UMAMI_URLenvSelf-hosted Umami instance originUMAMI_API_URLenvOptional exact Umami API root for a reverse proxyUMAMI_WEBSITE_IDSenvOptional comma-separated website UUID allowlistUMAMI_TEAM_IDSenvOptional comma-separated team UUID allowlistUMAMI_TOOLSETSenvComma-separated toolsets or allUMAMI_MAX_RESPONSE_BYTESenvMaximum decoded upstream JSON response size in bytes
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント webcredo で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
マーケティング・SNSのほかのサーバーとの比較i
- このカテゴリのほかの3617件のうち0%よりスターが多い
- このカテゴリのほかの3617件のうち18%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの3617件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Umami Compassは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:UMAMI_API_KEY, UMAMI_ACCESS_TOKEN, UMAMI_PASSWORD
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.5.1)がレジストリに届いたのは4 か月前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
代わりに使えるものは?
同じカテゴリには:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Google Analytics MCP
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
BibiGPT YouTube Video Summarizer
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Umami Compass
Open-source MCP server for Umami Analytics — Cloud and self-hosted.
Distribution: umami-compass on npm · io.github.webcredo/umami-compass in the official MCP Registry
Umami Compass is a secure, read-only Model Context Protocol server for Umami Analytics. It gives MCP clients accurate Umami 3.2 analytics without exposing a database or allowing arbitrary network requests.
Version 0.5.1 is the current source release. See Compatibility before using it with older Umami versions.
The
npxexamples follow the stable npm release channel and check it whenever the MCP process starts. For source-based evaluation, clone this repository, runpnpm install --frozen-lockfile && pnpm build, and usenode /absolute/path/to/umami-compass/dist/cli.jsas the MCP command.
Why this project
Existing Umami MCP servers each cover part of the problem, but our July 2026 review found gaps around Umami 3.2 response correctness, Cloud authentication, safety boundaries, or extensibility. Umami Compass sets a higher, testable quality bar:
- Correct auth for both products:
x-umami-api-keyfor Umami Cloud and Bearer/login auth for self-hosted instances. - Umami 3.2-aware responses, including both
pageviewsandsessions, Core Web Vitals, funnels, journeys, attribution, retention, revenue, bounded heatmaps, and replay metadata. - Read-only by construction: every tool declares MCP safety annotations; no create, update, delete, raw HTML, or arbitrary URL tool exists.
- Defense in depth: fixed upstream origin, HTTPS policy, website and team allowlists, range/page/response-byte caps, request timeout, cancellation propagation, and redacted errors.
- Decision-ready insights: bounded traffic and performance portfolio overviews, traffic-change evidence, release-impact analysis, tracking-health audits, and website resolution without arbitrary API access.
- Agent-friendly output: machine-readable
structuredContent, a common status/range/truncation envelope, two resources, and six guided prompts. - Contributor-friendly architecture: endpoint modules, dependency-injected HTTP, a central access policy, ADRs, and real MCP integration tests.
See the dated landscape review for the evidence and methodology.
Quick start
Requirements: Node.js 22 or newer and an Umami identity with view-only access where possible.
The examples use the auto-updating stable launcher:
npx --yes --prefer-online umami-compass@latest
@latest selects the stable npm channel and --prefer-online makes npm check the registry even when package metadata is cached. npm still reuses the cached package when that exact release is already present. Updates take effect the next time the MCP process starts; an already running local server cannot replace itself.
Use umami-compass@next instead to opt into preview releases. For reproducible CI or centrally managed environments, pin an exact release and omit the online check, for example npx --yes umami-compass@0.5.1. Never use the preview channel for an unattended production setup.
Umami Cloud
{
"mcpServers": { "umami": { "command": "npx", "args": ["--yes", "--prefer-online", "umami-compass@latest"], "env": { "UMAMI_API_KEY": "replace-with-your-api-key" } } } }
With UMAMI_API_KEY and no URL, the API root defaults to https://api.umami.is/v1.
Self-hosted Umami
{
"mcpServers": { "umami": { "command": "npx", "args": ["--yes", "--prefer-online", "umami-compass@latest"], "env": { "UMAMI_URL": "https://analytics.example.com", "UMAMI_USERNAME": "mcp-viewer", "UMAMI_PASSWORD": "replace-me", "UMAMI_WEBSITE_IDS": "6b2c8c10-908c-4a8e-a924-4049eb3bde8c" } } } }
UMAMI_URL is an instance origin; /api is appended. Use UMAMI_API_URL instead when a reverse proxy exposes a custom, exact API root.
UMAMI_WEBSITE_IDS is an optional safety allowlist, not a credential. Replace the example UUID with a website ID from Umami (or from list_websites), separate multiple IDs with commas, or remove the variable to discover every website visible directly or through a team membership.
UMAMI_TEAM_IDS is a strict team boundary for discovery and direct website/report access. When it is set, user-owned websites without one of the selected team IDs are excluded. If UMAMI_WEBSITE_IDS is also set, a website must pass both allowlists.
Do not commit real credentials. Prefer a dedicated view-only Umami account and the client/OS secret store when available.
Tools
The least-privilege default enables core,insights: eight primitive aggregate tools plus seven decision-ready aggregate workflows. Row-level events, sessions, replay, heatmaps, and other more sensitive modules remain opt-in.
| Toolset | Tools | Default |
|---|---|---|
core | get_server_info, list_websites, get_website, get_website_stats, get_pageviews, get_metrics, get_active_visitors, get_website_date_range | Yes |
insights | resolve_website, get_portfolio_overview, analyze_performance_portfolio, explain_traffic_change, compare_traffic_series, analyze_release_impact, tracking_health_check | Yes |
events | list_events, get_event_stats, get_event_series | No |
sessions | list_sessions, get_session_stats, get_session, get_session_activity | No |
performance | get_web_vitals, get_performance_breakdown, compare_web_vitals, compare_performance_breakdown, get_performance_cross_tab, get_route_group_performance | No |
reports | Saved reports and segments plus goal, funnel, journey, retention, UTM, attribution, and multi-field breakdown reports | No |
revenue | get_revenue_stats, get_revenue_metrics | No |
replay | list_replays (metadata only; never raw rrweb payloads) | No |
heatmaps | get_heatmap (click/scroll pages and bounded detail points) | No |
Set UMAMI_TOOLSETS=all or a comma-separated subset. The default has 15 aggregate tools; all has 42. Multi-website insights are bounded to 50 websites with four concurrent website workers. High-cardinality report, performance, heatmap, channel fan-out, and activity results carry explicit limits and truncation metadata.
get_performance_breakdown requires at least 20 performance events per row by default for page, page-title, device, and browser rankings. This is an exploratory p75 quality guard, not a claim of statistical significance. Umami 3.2 calculates these counts with count(*), not count(metric), so Compass labels them as event counts and never presents them as metric-specific samples. Set minimumSampleCount explicitly to tighten the guard or lower it to 1 to include every otherwise valid row.
Umami 3.2 caps page, page-title, and browser candidates at 500 before Compass can apply the sample guard. Breakdown responses therefore report the effective minimum, excluded-row counts, candidate coverage, and whether that upstream cap may make the filtered ranking incomplete. If all complete candidates are undersized, emptyReason is insufficient_sample_size; if the candidate cap prevents that conclusion, dataStatus is unknown.
Successful tool responses preserve the existing data field and add a common meta envelope. Depending on the request it includes dataStatus, emptyReason, websiteId, requestedRange, and timezone. Truncation is split into responseTruncated for an incomplete primary result and sectionsTruncated for bounded nested sections; the aggregate truncated field remains for compatibility.
The server exposes umami://websites and the sanitized umami://capabilities resource. Website discovery returns only id, name, and domain; request get_website explicitly when detailed metadata is required. get_server_info returns the same local version, enabled toolsets, limits, and feature flags as a tool. Guided prompts cover an analytics report, weekly portfolio briefing, traffic investigation, release impact, tracking health, and conversion audit; each prompt is registered only when its required toolset is enabled. Scheduling a recurring briefing remains the MCP client's responsibility; the local stdio server does not run a background scheduler or send messages.
Performance analysis and upstream limits
analyze_performance_portfolio performs two bounded performance requests and two aggregate traffic requests per selected website, with four website workers. verbosity="compact" is the default decision summary; standard adds concise per-site rows and metric-specific drill-downs; full returns complete normalized per-site evidence. Drill-down websites are selected only by detailMetric. Performance events per pageview are returned as a ratio that may exceed 1; true collection coverage remains unknown_upstream because Umami does not return distinct covered pageviews. Portfolio p75 values are ranked but never averaged because percentiles from separate websites are not composable.
compare_web_vitals compares all five summary metrics. compare_performance_breakdown aligns page, title, device, or browser rows, returns comparable rows first, excludes rows below minimumSampleCount by default, and omits candidates whose absence is uncertain because an upstream top-500 list was capped. Set includeInsufficient=true to append undersized rows after useful comparisons. get_performance_cross_tab derives combinations through at most ten filtered fan-out requests and reports whether candidates came from performance events or traffic metrics. get_route_group_performance accepts caller-defined path regexes and queries every route group directly; route groups may overlap and PostgreSQL/ClickHouse regex dialect details can differ.
Performance tools accept only page/title and persisted environment filters that are consistent across Umami's supported database backends. excludeBounce, referrer, UTM, hostname, query, event, tag, and other non-persisted performance fields are rejected instead of ignored. In particular, Umami 3.2 builds but does not use its excludeBounce join in the performance report.
Umami 3.2 does not return metric-specific sample counts or counts in chart buckets. Compass therefore returns count: null for a chart point when the field is absent, includes sampleCounts.status="unavailable_upstream", and marks incomplete requested/current buckets with partial: true. Overall counts are named performanceEventCount. Non-CLS all-zero percentile placeholders are treated as unavailable; a zero CLS remains valid.
LCP decomposition, LCP element/resource attribution, cache status, and edge region are explicitly reported as unavailable because Umami's aggregate performance report does not collect or expose them. Compass does not infer a decomposition by subtracting unrelated aggregate percentiles.
Filters, direct traffic, channels, and traffic quality
Plain string filters remain compatible. Structured filte
冒頭だけを表示しています。続きはリポジトリで読めます