Umami MCP
官方將您的AI助手連接到Umami,並用日常語言詢問網站分析相關問題。
你可以用 Umami MCP 做什麼?
- 列出可存取的網站 — 要求查看所有你能存取的網站;先呼叫
list_websites以取得websiteId,供其他查詢使用。 - 取得流量摘要 — 透過
get_website_stats詢問網頁瀏覽量、訪客數、跳出率或停留時間,並可與前期比較。 - 分析流量來源 — 使用
get_website_metrics詢問哪些頁面、參照來源、國家或裝置帶來了流量。 - 追蹤自訂事件 — 使用
get_event_stats、get_event_series或get_event_properties詢問事件總數、序列或屬性值。 - 檢查工作階段 — 透過
get_sessions要求分頁的工作階段清單,或使用get_session查看單一工作階段的活動時間軸。 - 執行分析模型 — 要求執行已儲存的漏斗(
run_funnel)、查看同類群組留存(run_retention),或檢查目標轉換(get_goals)。
託管 MCP 伺服器
npx add-mcp 'https://cloud.umami.is/mcp'可安裝到 Claude Code、Codex、Cursor、VS Code 等客戶端
文件
@umami/mcp
Model Context Protocol 伺服器,用於 Umami
分析。讓 Claude、ChatGPT、Cursor 及其他 MCP 用戶端,透過呼叫 Umami API 的唯讀工具,回答關於您網站流量的問題,全程經由 @umami/api-client。
MCP 伺服器絕不直接連線資料庫;每個工具都透過公開 API 運作,並套用與網頁應用程式相同的使用者/團隊權限檢查。
工具
| 工具 | 用途 |
|---|---|
list_websites | 找出您可以存取的網站(先呼叫以取得 websiteId)。 |
get_website_daterange | 有記錄資料的最早與最晚日期。 |
get_website_stats | 瀏覽量、訪客數、造訪數、跳出率、停留時間+前期比較。 |
get_website_traffic | 依分鐘、小時、日、月或年劃分的瀏覽/造訪時間序列。 |
get_website_metrics | 熱門頁面、來源網站、管道、國家、瀏覽器、裝置、UTM、事件。 |
get_realtime | 目前線上活躍的訪客。 |
get_events | 個別追蹤事件(分頁)。 |
get_event_stats | 自訂事件總數+前期比較。 |
get_event_series | 自訂事件隨時間的計數,依事件名稱分組。 |
get_event_properties | 自訂事件的屬性名稱,或單一屬性的值。 |
get_sessions | 訪客工作階段(分頁)。 |
get_session_stats | 工作階段層級總計:訪客數、造訪數、瀏覽量、事件數、國家數。 |
get_annotations | 時間軸上的日期備註(發布、活動),用於解釋流量變化。 |
list_segments | 已儲存的區隔與同類群組;透過 filters.segment / .cohort 傳遞 ID。 |
get_session | 單一工作階段及其活動時間軸與屬性。 |
list_funnels | 已儲存的漏斗及其步驟(取得 funnelId 以用於 run_funnel)。 |
run_funnel | 從已儲存的 funnelId 或臨時頁面/事件步驟建立的轉換漏斗。 |
get_goals | 已儲存的目標,含指定範圍內的轉換數、訪客數與轉換率。 |
run_journey | 訪客最常採用的路徑。 |
run_retention | 同類群組留存率表格。 |
run_attribution | 轉換的首次/最後點擊歸因。 |
get_revenue | 營收總計、時間序列與細分。 |
get_performance | Core Web Vitals(LCP、INP、CLS、FCP、TTFB)百分位數、趨勢、細分。 |
所有工具皆為唯讀。日期採用 ISO 8601;結果以分頁方式回傳,並對頁面大小設有硬性上限。
遠端:Umami Cloud
使用您現有的 Cloud API 金鑰連線至 https://cloud.umami.is/mcp:
Authorization: Bearer api_<your-cloud-api-key>
支援自訂標頭的用戶端可改用 x-umami-api-key。若同時提供兩個標頭,兩者必須包含相同的金鑰。請使用支援 API 金鑰或 bearer 標頭設定的用戶端。
Cloud MCP 與 Cloud API 具有相同的訂閱要求及網站/團隊權限。所有工具皆呼叫 Cloud API 閘道,該閘道會驗證金鑰並將請求路由至您所在的區域。
遠端:自架
在您的 Umami 執行個體中,於 設定 → API 金鑰 下產生 API 金鑰,然後使用 Streamable HTTP 端點設定您的 MCP 用戶端:
https://your-umami.example.com/mcp
使用您的金鑰設定授權標頭:
Authorization: Bearer umami_<your-api-key>
請使用支援 bearer 權杖或自訂授權標頭的用戶端。該端點接受自架 API 金鑰;不支援瀏覽器登入權杖。工具皆為唯讀,並遵循金鑰擁有者既有的使用者/團隊權限。在設定中撤銷金鑰即可中斷存取。
MCP 預設為停用。設定 MCP_ENABLED=1 以啟用端點。
本機/stdio
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@umami/mcp"],
"env": {
"UMAMI_URL": "https://analytics.example.com",
"UMAMI_API_TOKEN": "umami_…"
}
}
}
}
| 變數 | 說明 |
|---|---|
UMAMI_URL | 自架執行個體 URL(會附加 /api)。 |
UMAMI_API_URL | 改為完整的 API 基礎 URL,例如 https://api.umami.is/v1。 |
UMAMI_API_TOKEN | API 金鑰或登入權杖(自架)。 |
UMAMI_API_KEY | Umami Cloud API 金鑰。 |
若使用 Cloud stdio,請設定 UMAMI_API_KEY,並省略 UMAMI_URL 與 UMAMI_API_TOKEN:
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@umami/mcp"],
"env": { "UMAMI_API_KEY": "api_<your-cloud-api-key>" }
}
}
}
範例提示
- 顯示我的網站。
- example.com 上週有多少訪客?
- 本月前 10 大頁面為何?
- 比較本月與上個月的流量。
- 流量來自何處?
- 昨天發生了哪些註冊事件?
- 顯示使用者 abc123 的工作階段。
- 上個月結帳事件中,人們選擇了哪些定價方案?
- 本週每天觸發了多少次註冊事件?
- 執行我上個月的結帳漏斗。
- 我們本季的目標達成情況如何?
- 哪些頁面在行動裝置上的 LCP 表現最差?
- 流量暴增當天發生了什麼事?
程式化使用
import { UmamiClient } from '@umami/api-client';
import { createUmamiMcpServer } from '@umami/mcp';
const server = createUmamiMcpServer({
client: new UmamiClient({ baseUrl, token }),
});
createUmamiMcpHttpHandler({ createClient }) 回傳一個 Streamable HTTP 處理器,可嵌入
任何網頁框架;主機驗證 bearer 權杖,並傳遞 authInfo。