Umami MCP
resmiHubungkan asisten AI Anda ke Umami dan ajukan pertanyaan tentang analitik situs web Anda dalam bahasa sehari-hari.
Apa yang bisa Anda lakukan dengan Umami MCP?
- Daftar situs yang dapat diakses — Minta untuk melihat semua situs web yang dapat Anda akses; panggil
list_websitesterlebih dahulu untuk mendapatkanwebsiteIduntuk kueri lainnya. - Dapatkan ringkasan lalu lintas — Minta pageviews, pengunjung, rasio pentalan, atau durasi melalui
get_website_stats, termasuk perbandingan dengan periode sebelumnya. - Analisis sumber lalu lintas — Tanyakan halaman, perujuk, negara, atau perangkat mana yang mendorong lalu lintas menggunakan
get_website_metrics. - Lacak peristiwa khusus — Tanyakan tentang total peristiwa, rangkaian, atau nilai properti dengan
get_event_stats,get_event_series, atauget_event_properties. - Periksa sesi — Minta daftar sesi yang dipaginasi melalui
get_sessionsatau linimasa aktivitas satu sesi denganget_session. - Jalankan model analitik — Minta untuk menjalankan corong yang disimpan (
run_funnel), melihat retensi kohort (run_retention), atau memeriksa konversi tujuan (get_goals).
Server MCP Terhosting
npx add-mcp 'https://cloud.umami.is/mcp'Terpasang ke Claude Code, Codex, Cursor, VS Code, dan lainnya
Dokumentasi
@umami/mcp
Server Model Context Protocol untuk analitik Umami.
Memungkinkan Claude, ChatGPT, Cursor, dan klien MCP lainnya menjawab pertanyaan tentang
lalu lintas situs web Anda menggunakan alat hanya-baca yang memanggil API Umami melalui @umami/api-client.
Server MCP tidak pernah berkomunikasi langsung dengan basis data; setiap alat melalui API publik dan pemeriksaan izin pengguna/tim yang sama seperti aplikasi web.
Alat
| Alat | Tujuan |
|---|---|
list_websites | Temukan situs web yang dapat Anda akses (panggil dulu untuk mendapatkan websiteId). |
get_website_daterange | Tanggal paling awal dan paling akhir dengan data yang tercatat. |
get_website_stats | Pageview, pengunjung, kunjungan, rasio pentalan, durasi + periode sebelumnya. |
get_website_traffic | Deret waktu pageview/kunjungan per menit, jam, hari, bulan, atau tahun. |
get_website_metrics | Halaman teratas, perujuk, saluran, negara, peramban, perangkat, UTM, peristiwa. |
get_realtime | Pengunjung yang aktif saat ini. |
get_events | Peristiwa terlacak individual (dengan paginasi). |
get_event_stats | Total peristiwa kustom + periode sebelumnya. |
get_event_series | Jumlah peristiwa kustom dari waktu ke waktu, dikelompokkan berdasarkan nama peristiwa. |
get_event_properties | Nama properti peristiwa kustom, atau nilai dari satu properti. |
get_sessions | Sesi pengunjung (dengan paginasi). |
get_session_stats | Total tingkat sesi: pengunjung, kunjungan, pageview, peristiwa, negara. |
get_annotations | Catatan bertanggal pada garis waktu (peluncuran, kampanye) untuk menjelaskan perubahan. |
list_segments | Segmen dan kohort tersimpan; teruskan ID melalui filters.segment / .cohort. |
get_session | Satu sesi dengan garis waktu aktivitas dan propertinya. |
list_funnels | Corong tersimpan beserta langkah-langkahnya (dapatkan funnelId untuk run_funnel). |
run_funnel | Corong konversi dari funnelId tersimpan atau langkah halaman/peristiwa ad-hoc. |
get_goals | Tujuan tersimpan dengan konversi, pengunjung, dan rasio untuk suatu rentang. |
run_journey | Jalur paling umum yang diambil pengunjung. |
run_retention | Tabel retensi kohort. |
run_attribution | Atribusi klik-pertama/terakhir untuk konversi. |
get_revenue | Total pendapatan, deret, dan perincian. |
get_performance | Core Web Vitals (LCP, INP, CLS, FCP, TTFB) persentil, tren, perincian. |
Semua alat bersifat hanya-baca. Tanggal menggunakan ISO 8601; hasil dipaginasi dengan batas keras pada ukuran halaman.
Jarak jauh: Umami Cloud
Hubungkan ke https://cloud.umami.is/mcp menggunakan kunci API Cloud yang sudah ada:
Authorization: Bearer api_<your-cloud-api-key>
Klien yang mendukung header kustom dapat menggunakan x-umami-api-key sebagai gantinya. Jika kedua header disediakan,
keduanya harus berisi kunci yang sama. Gunakan klien yang mendukung konfigurasi kunci API atau header bearer.
Cloud MCP memiliki persyaratan langganan dan izin situs web/tim yang sama dengan Cloud API. Semua alat memanggil gateway Cloud API, yang memvalidasi kunci dan merutekan permintaan ke wilayah Anda.
Jarak jauh: self-hosted
Buat kunci API di bawah Settings → API keys di instance Umami Anda, lalu konfigurasikan klien MCP Anda dengan endpoint Streamable HTTP:
https://your-umami.example.com/mcp
Atur header otorisasi menggunakan kunci Anda:
Authorization: Bearer umami_<your-api-key>
Gunakan klien yang mendukung token bearer atau header otorisasi kustom. Endpoint menerima
kunci API self-hosted; token login peramban tidak didukung. Alat bersifat hanya-baca dan menghormati
izin pengguna/tim yang ada dari pemilik kunci. Cabut kunci di Settings untuk memutus akses.
MCP dinonaktifkan secara default. Atur MCP_ENABLED=1 untuk mengaktifkan endpoint.
Lokal / stdio
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@umami/mcp"],
"env": {
"UMAMI_URL": "https://analytics.example.com",
"UMAMI_API_TOKEN": "umami_…"
}
}
}
}
| Variabel | Deskripsi |
|---|---|
UMAMI_URL | URL instance self-hosted (/api ditambahkan). |
UMAMI_API_URL | URL dasar API lengkap sebagai gantinya, mis. https://api.umami.is/v1. |
UMAMI_API_TOKEN | Kunci API atau token login (self-hosted). |
UMAMI_API_KEY | Kunci API Umami Cloud. |
Untuk Cloud stdio, atur UMAMI_API_KEY dan abaikan UMAMI_URL dan UMAMI_API_TOKEN:
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@umami/mcp"],
"env": { "UMAMI_API_KEY": "api_<your-cloud-api-key>" }
}
}
}
Contoh prompt
- Tampilkan situs web saya.
- Berapa banyak pengunjung yang didapat example.com minggu lalu?
- Apa 10 halaman teratas bulan ini?
- Bandingkan lalu lintas bulan ini dengan bulan sebelumnya.
- Dari mana lalu lintas berasal?
- Peristiwa pendaftaran apa yang terjadi kemarin?
- Tampilkan sesi untuk pengguna abc123.
- Paket harga mana yang dipilih orang dalam peristiwa checkout bulan lalu?
- Berapa banyak peristiwa pendaftaran yang dipicu setiap hari minggu ini?
- Jalankan corong checkout saya untuk bulan lalu.
- Bagaimana kinerja kita terhadap tujuan kita kuartal ini?
- Halaman mana yang memiliki LCP terburuk di perangkat seluler?
- Apa yang terjadi pada hari lalu lintas melonjak?
Penggunaan terprogram
import { UmamiClient } from '@umami/api-client';
import { createUmamiMcpServer } from '@umami/mcp';
const server = createUmamiMcpServer({
client: new UmamiClient({ baseUrl, token }),
});
createUmamiMcpHttpHandler({ createClient }) mengembalikan handler Streamable HTTP untuk disematkan di
kerangka kerja web apa pun; host memverifikasi token bearer dan meneruskan authInfo.