Umami MCP

offiziell

Verbinde 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_websites auf, um eine websiteId fü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_series oder get_event_properties.
  • Sitzungen untersuchen — Fragen Sie nach paginierten Sitzungslisten über get_sessions oder nach der Aktivitäts-Timeline einer einzelnen Sitzung mit get_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

ToolZweck
list_websitesFinden Sie die Websites, auf die Sie Zugriff haben (zuerst aufrufen, um eine websiteId zu erhalten).
get_website_daterangeFrüheste und späteste Daten mit aufgezeichneten Daten.
get_website_statsSeitenaufrufe, Besucher, Besuche, Absprungrate, Verweildauer + Vorperiode.
get_website_trafficSeitenaufruf-/Besuchs-Zeitreihen nach Minute, Stunde, Tag, Monat oder Jahr.
get_website_metricsTop-Seiten, Referrer, Kanäle, Länder, Browser, Geräte, UTM, Ereignisse.
get_realtimeBesucher, die gerade aktiv sind.
get_eventsEinzelne getrackte Ereignisse (paginiert).
get_event_statsBenutzerdefinierte Ereignis-Summen + Vorperiode.
get_event_seriesBenutzerdefinierte Ereigniszählungen über die Zeit, gruppiert nach Ereignisname.
get_event_propertiesNamen benutzerdefinierter Ereigniseigenschaften oder die Werte einer Eigenschaft.
get_sessionsBesuchersitzungen (paginiert).
get_session_statsSitzungsebene-Summen: Besucher, Besuche, Seitenaufrufe, Ereignisse, Länder.
get_annotationsDatierte Notizen auf der Zeitachse (Starts, Kampagnen) zur Erklärung von Änderungen.
list_segmentsGespeicherte Segmente und Kohorten; IDs über filters.segment / .cohort übergeben.
get_sessionEine Sitzung mit ihrer Aktivitätszeitachse und Eigenschaften.
list_funnelsGespeicherte Trichter mit ihren Schritten (eine funnelId für run_funnel erhalten).
run_funnelConversion-Trichter aus einem gespeicherten funnelId oder Ad-hoc-Seiten-/Ereignisschritten.
get_goalsGespeicherte Ziele mit Conversions, Besuchern und Rate für einen Zeitraum.
run_journeyHäufigste Pfade, die Besucher nehmen.
run_retentionKohorten-Retentionstabelle.
run_attributionFirst-/Last-Click-Attribution für eine Conversion.
get_revenueUmsatz-Summen, -Serien und -Aufschlüsselungen.
get_performanceCore 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_…"
      }
    }
  }
}
VariableBeschreibung
UMAMI_URLURL der selbst gehosteten Instanz (/api wird angehängt).
UMAMI_API_URLStattdessen vollständige API-Basis-URL, z. B. https://api.umami.is/v1.
UMAMI_API_TOKENAPI-Schlüssel oder Login-Token (selbst gehostet).
UMAMI_API_KEYUmami-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.