Umami MCP
offiziellVerbinde deinen KI-Assistenten mit Umami und stelle Fragen zu deiner Website-Analyse in einfacher Sprache.
Was kann man mit Umami MCP machen?
- Verfügbare Websites auflisten — Fragen Sie nach allen Websites, auf die Sie zugreifen können; rufen Sie zuerst
list_websitesauf, um einewebsiteIdfür andere Abfragen zu erhalten. - Verkehrszusammenfassungen abrufen — Fragen Sie nach Seitenaufrufen, Besuchern, Absprungrate oder Verweildauer über
get_website_stats, einschließlich Vergleichen mit dem vorherigen Zeitraum. - Verkehrsquellen analysieren — Fragen Sie, welche Seiten, Referrer, Länder oder Geräte Verkehr erzeugt haben, mithilfe von
get_website_metrics. - Benutzerdefinierte Ereignisse verfolgen — Fragen Sie nach Ereignis-Summen, -Serien oder -Eigenschaftswerten mit
get_event_stats,get_event_seriesoderget_event_properties. - Sitzungen untersuchen — Fragen Sie nach paginierten Sitzungslisten über
get_sessionsoder nach der Aktivitäts-Timeline einer einzelnen Sitzung mitget_session. - Analysemodelle ausführen — Fragen Sie nach der Ausführung gespeicherter Trichter (
run_funnel), der Anzeige von Kohorten-Bindung (run_retention) oder der Prüfung von Ziel-Konversionen (get_goals).
Gehosteter MCP-Server
npx add-mcp 'https://cloud.umami.is/mcp'Installiert in Claude Code, Codex, Cursor, VS Code und mehr
Dokumentation
@umami/mcp
Model Context Protocol-Server für Umami-Analytics. Ermöglicht Claude, ChatGPT, Cursor und anderen MCP-Clients, Fragen zu Ihrem Website-Traffic zu beantworten, mithilfe von schreibgeschützten Tools, die die Umami-API über @umami/api-client aufrufen.
Der MCP-Server kommuniziert niemals direkt mit einer Datenbank; jedes Tool läuft über die öffentliche API und dieselben Benutzer-/Team-Berechtigungsprüfungen wie die Web-App.
Tools
| Tool | Zweck |
|---|---|
list_websites | Finden Sie die Websites, auf die Sie Zugriff haben (zuerst aufrufen, um eine websiteId zu erhalten). |
get_website_daterange | Früheste und späteste Daten mit aufgezeichneten Daten. |
get_website_stats | Seitenaufrufe, Besucher, Besuche, Absprungrate, Verweildauer + Vorperiode. |
get_website_traffic | Seitenaufruf-/Besuchs-Zeitreihen nach Minute, Stunde, Tag, Monat oder Jahr. |
get_website_metrics | Top-Seiten, Referrer, Kanäle, Länder, Browser, Geräte, UTM, Ereignisse. |
get_realtime | Besucher, die gerade aktiv sind. |
get_events | Einzelne getrackte Ereignisse (paginiert). |
get_event_stats | Benutzerdefinierte Ereignis-Summen + Vorperiode. |
get_event_series | Benutzerdefinierte Ereigniszählungen über die Zeit, gruppiert nach Ereignisname. |
get_event_properties | Namen benutzerdefinierter Ereigniseigenschaften oder die Werte einer Eigenschaft. |
get_sessions | Besuchersitzungen (paginiert). |
get_session_stats | Sitzungsebene-Summen: Besucher, Besuche, Seitenaufrufe, Ereignisse, Länder. |
get_annotations | Datierte Notizen auf der Zeitachse (Starts, Kampagnen) zur Erklärung von Änderungen. |
list_segments | Gespeicherte Segmente und Kohorten; IDs über filters.segment / .cohort übergeben. |
get_session | Eine Sitzung mit ihrer Aktivitätszeitachse und Eigenschaften. |
list_funnels | Gespeicherte Trichter mit ihren Schritten (eine funnelId für run_funnel erhalten). |
run_funnel | Conversion-Trichter aus einem gespeicherten funnelId oder Ad-hoc-Seiten-/Ereignisschritten. |
get_goals | Gespeicherte Ziele mit Conversions, Besuchern und Rate für einen Zeitraum. |
run_journey | Häufigste Pfade, die Besucher nehmen. |
run_retention | Kohorten-Retentionstabelle. |
run_attribution | First-/Last-Click-Attribution für eine Conversion. |
get_revenue | Umsatz-Summen, -Serien und -Aufschlüsselungen. |
get_performance | Core Web Vitals (LCP, INP, CLS, FCP, TTFB) Perzentile, Trend, Aufschlüsselung. |
Alle Tools sind schreibgeschützt. Daten sind ISO 8601; Ergebnisse sind paginiert mit einer harten Obergrenze für die Seitengröße.
Remote: Umami Cloud
Verbinden Sie sich mit https://cloud.umami.is/mcp mit Ihrem vorhandenen Cloud-API-Schlüssel:
Authorization: Bearer api_<your-cloud-api-key>
Clients, die benutzerdefinierte Header unterstützen, können stattdessen x-umami-api-key verwenden. Wenn beide Header angegeben sind, müssen sie denselben Schlüssel enthalten. Verwenden Sie einen Client, der die Konfiguration von API-Schlüsseln oder Bearer-Headern unterstützt.
Cloud MCP hat dieselben Abonnementanforderungen und Website-/Team-Berechtigungen wie die Cloud-API. Alle Tools rufen das Cloud-API-Gateway auf, das den Schlüssel validiert und Anfragen an Ihre Region weiterleitet.
Remote: selbst gehostet
Generieren Sie einen API-Schlüssel unter Einstellungen → API-Schlüssel in Ihrer Umami-Instanz und konfigurieren Sie dann Ihren MCP-Client mit dem Streamable-HTTP-Endpunkt:
https://your-umami.example.com/mcp
Setzen Sie den Autorisierungs-Header mit Ihrem Schlüssel:
Authorization: Bearer umami_<your-api-key>
Verwenden Sie einen Client, der Bearer-Tokens oder benutzerdefinierte Autorisierungs-Header unterstützt. Der Endpunkt akzeptiert selbst gehostete API-Schlüssel; Browser-Login-Tokens werden nicht unterstützt. Tools sind schreibgeschützt und respektieren die vorhandenen Benutzer-/Team-Berechtigungen des Schlüsselinhabers. Widerrufen Sie den Schlüssel in den Einstellungen, um den Zugriff zu trennen. MCP ist standardmäßig deaktiviert. Setzen Sie MCP_ENABLED=1, um den Endpunkt zu aktivieren.
Lokal / stdio
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@umami/mcp"],
"env": {
"UMAMI_URL": "https://analytics.example.com",
"UMAMI_API_TOKEN": "umami_…"
}
}
}
}
| Variable | Beschreibung |
|---|---|
UMAMI_URL | URL der selbst gehosteten Instanz (/api wird angehängt). |
UMAMI_API_URL | Stattdessen vollständige API-Basis-URL, z. B. https://api.umami.is/v1. |
UMAMI_API_TOKEN | API-Schlüssel oder Login-Token (selbst gehostet). |
UMAMI_API_KEY | Umami-Cloud-API-Schlüssel. |
Für Cloud stdio setzen Sie UMAMI_API_KEY und lassen UMAMI_URL und UMAMI_API_TOKEN weg:
{
"mcpServers": {
"umami": {
"command": "npx",
"args": ["-y", "@umami/mcp"],
"env": { "UMAMI_API_KEY": "api_<your-cloud-api-key>" }
}
}
}
Beispiel-Prompts
- Zeige meine Websites.
- Wie viele Besucher hatte example.com letzte Woche?
- Was waren die Top-10-Seiten diesen Monat?
- Vergleiche den Traffic diesen Monat mit dem Vormonat.
- Woher kommt der Traffic?
- Welche Anmelde-Ereignisse traten gestern auf?
- Zeige Sitzungen für Benutzer abc123.
- Welche Preispläne haben Personen im Checkout-Ereignis letzten Monat ausgewählt?
- Wie viele Anmelde-Ereignisse wurden diese Woche täglich ausgelöst?
- Führe meinen Checkout-Trichter für letzten Monat aus.
- Wie stehen wir diesen Monat im Vergleich zu unseren Zielen?
- Welche Seiten haben das schlechteste LCP auf Mobilgeräten?
- Was ist an dem Tag passiert, an dem der Traffic sprunghaft anstieg?
Programmatische Nutzung
import { UmamiClient } from '@umami/api-client';
import { createUmamiMcpServer } from '@umami/mcp';
const server = createUmamiMcpServer({
client: new UmamiClient({ baseUrl, token }),
});
createUmamiMcpHttpHandler({ createClient }) gibt einen Streamable-HTTP-Handler für die Einbettung in jedes Web-Framework zurück; der Host verifiziert das Bearer-Token und übergibt authInfo.