Skip to main content
Glama
Macawls

Umami MCP Server

Umami MCP Server

Verbinden Sie Ihre Umami Analytics mit jedem MCP-Client – Claude Desktop, VS Code, Cursor, Windsurf, Zed, Smithery und mehr.

Prompts

Analytik & Traffic

  • "Erstelle einen umfassenden Analysebericht für meine Website über die letzten 30 Tage"

  • "Welche Seiten erhalten diesen Monat den meisten Traffic? Zeige mir die Top 10"

  • "Analysiere die Traffic-Muster meiner Website – wann habe ich die meisten Besucher?"

Nutzer-Einblicke

  • "Woher kommen meine Besucher? Schlüssele es nach Land und Stadt auf"

  • "Welche Geräte und Browser verwenden meine Nutzer?"

  • "Zeige mir die User Journey – welche Seiten rufen Besucher typischerweise nacheinander auf?"

Echtzeit-Überwachung

  • "Wie viele Personen sind gerade auf meiner Website? Welche Seiten sehen sie sich an?"

  • "Hat meine Website Probleme? Prüfe, ob der Traffic signifikant eingebrochen ist"

Inhalts- & Kampagnenanalyse

  • "Welche Blogbeiträge sollte ich aktualisieren? Zeige mir Artikel mit rückläufigem Traffic"

  • "Wie hat meine letzte E-Mail-Kampagne abgeschnitten? Verfolge Besucher über die Kampagnen-UTM"

  • "Vergleiche den Traffic von verschiedenen Social-Media-Plattformen"

Related MCP server: Customized MCP Server

Schnellstart

Option 1: Binärdatei herunterladen

Laden Sie das neueste Release für Ihre Plattform unter Releases herunter.

Option 2: Docker

docker run -i --rm \
  -e UMAMI_URL="https://your-instance.com" \
  -e UMAMI_USERNAME="username" \
  -e UMAMI_PASSWORD="password" \
  ghcr.io/macawls/umami-mcp-server

Option 3: Go-Installation

go install github.com/Macawls/umami-mcp-server@latest

Installiert unter ~/go/bin/umami-mcp-server (oder $GOPATH/bin).

Einrichtung

Wählen Sie einen der beiden folgenden Ansätze, je nach Präferenz.

Remote (Keine Installation)

Eine gehostete Instanz ist unter https://umami-mcp.macawls.dev/mcp verfügbar. Verbinden Sie sich direkt von jedem MCP-Client, der HTTP-Transport unterstützt – es sind keine Binärdateien oder Docker erforderlich.

Anmeldedaten werden über X-Umami-*-Header bei der initialize-Anfrage übergeben.

Fügen Sie dies zu Ihrer Konfiguration hinzu (%APPDATA%\Claude\claude_desktop_config.json unter Windows, ~/Library/Application Support/Claude/claude_desktop_config.json unter macOS):

{
  "mcpServers": {
    "umami": {
      "type": "http",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headersHelper": "echo X-Umami-Host: https://your-instance.com && echo X-Umami-Username: admin && echo X-Umami-Password: pass"
    }
  }
}

Fügen Sie dies zu .vscode/mcp.json hinzu:

{
  "servers": {
    "umami": {
      "type": "http",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "${input:umami-username}",
        "X-Umami-Password": "${input:umami-password}"
      }
    }
  }
}
claude mcp add --transport http \
  --header "X-Umami-Host: https://your-instance.com" \
  --header "X-Umami-Username: admin" \
  --header "X-Umami-Password: pass" \
  umami https://umami-mcp.macawls.dev/mcp

Fügen Sie dies zu .cursor/mcp.json hinzu:

{
  "mcpServers": {
    "umami": {
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

Fügen Sie dies zu ~/.codeium/windsurf/mcp_config.json hinzu:

{
  "mcpServers": {
    "umami": {
      "serverUrl": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

Fügen Sie dies zu opencode.json hinzu:

{
  "mcp": {
    "umami": {
      "type": "remote",
      "url": "https://umami-mcp.macawls.dev/mcp",
      "headers": {
        "X-Umami-Host": "https://your-instance.com",
        "X-Umami-Username": "admin",
        "X-Umami-Password": "pass"
      }
    }
  }
}

Jeder MCP-Client, der Streamable HTTP unterstützt, kann sich mit https://umami-mcp.macawls.dev/mcp verbinden, wobei die Anmeldedaten in den Headern X-Umami-Host, X-Umami-Username und X-Umami-Password übergeben werden.

Lokal

Führen Sie die Binärdatei oder das Docker-Image lokal aus. Anmeldedaten werden über Umgebungsvariablen festgelegt.

Fügen Sie dies zu Ihrer Konfiguration hinzu (%APPDATA%\Claude\claude_desktop_config.json unter Windows, ~/Library/Application Support/Claude/claude_desktop_config.json unter macOS):

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Erstellen Sie .vscode/mcp.json:

{
  "servers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}
claude mcp add \
  umami-mcp-server \
  -e UMAMI_URL="https://your-umami-instance.com" \
  -e UMAMI_USERNAME="your-username" \
  -e UMAMI_PASSWORD="your-password" \
  -- ~/go/bin/umami-mcp-server

Fügen Sie dies zu .cursor/mcp.json hinzu:

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Fügen Sie dies zu ~/.codeium/windsurf/mcp_config.json hinzu:

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Fügen Sie dies zu Ihren Zed-Einstellungen unter assistant.mcp_servers hinzu:

{
  "umami": {
    "command": "~/go/bin/umami-mcp-server",
    "env": {
      "UMAMI_URL": "https://your-umami-instance.com",
      "UMAMI_USERNAME": "your-username",
      "UMAMI_PASSWORD": "your-password"
    }
  }
}

Für Clients, die ein command-Feld verwenden (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "umami": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "UMAMI_URL",
        "-e", "UMAMI_USERNAME",
        "-e", "UMAMI_PASSWORD",
        "ghcr.io/macawls/umami-mcp-server"
      ],
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}

Verfügbare Tools

Tool

Beschreibung

get_websites

Alle Websites auflisten (rufen Sie dies zuerst auf, um Website-IDs zu erhalten)

get_stats

Aggregierte Statistiken – Seitenaufrufe, Besucher, Absprungraten, Gesamtzeit

get_pageviews

Seitenaufrufe und Sitzungsanzahl gruppiert nach Zeiteinheit

get_metrics

Aufschlüsselung nach Seite, Referrer, Browser, Betriebssystem, Gerät, Land, etc.

get_active

Aktuelle Anzahl aktiver Besucher in Echtzeit

Konfiguration

Umgebungsvariablen

Variable

Standard

Beschreibung

UMAMI_URL

erforderlich

Ihre Umami-Instanz-URL

UMAMI_USERNAME

erforderlich

Umami-Benutzername

UMAMI_PASSWORD

erforderlich

Umami-Passwort

UMAMI_TEAM_ID

Team-ID für teambasierte Setups

TRANSPORT

stdio

Transportmodus (stdio oder http)

PORT

8080

HTTP-Server-Port

ALLOWED_ORIGINS

*

Kommagetrennte Liste der erlaubten CORS-Ursprünge

MAX_SESSIONS

1000

Maximale Anzahl gleichzeitiger HTTP-Sitzungen

Konfigurationsdatei

Anstatt Umgebungsvariablen zu verwenden, erstellen Sie eine config.yaml-Datei neben der Binärdatei:

umami_url: https://your-umami-instance.com
username: your-username
password: your-password
team_id: your-team-id  # optional

Umgebungsvariablen haben Vorrang vor der Konfigurationsdatei.

Team-Websites

Wenn Ihre Umami-Instanz Teams verwendet und Ihre Websites einem Team statt einzelnen Benutzern zugewiesen sind, gibt get_websites möglicherweise eine leere Liste zurück. Setzen Sie UMAMI_TEAM_ID, um Websites stattdessen von Ihrem Team abzurufen. Verwenden Sie für den HTTP-Transport den Header X-Umami-Team-Id.

Sie finden Ihre Team-ID in Ihrem Umami-Dashboard unter Einstellungen > Teams.

Self-Hosting (HTTP-Transport)

Der Server unterstützt Streamable HTTP für Remote-Bereitstellungen. Setzen Sie TRANSPORT=http, um einen /mcp-Endpunkt bereitzustellen:

TRANSPORT=http PORT=9999 ./umami-mcp-server

Anmeldedaten werden über X-Umami-*-Header bei der initialize-Anfrage übergeben. Die Antwort enthält einen Mcp-Session-Id-Header für nachfolgende Anfragen.

Docker verwendet standardmäßig den HTTP-Modus:

docker run -p 8080:8080 ghcr.io/macawls/umami-mcp-server

Aus Quellcode bauen

git clone https://github.com/Macawls/umami-mcp-server.git
cd umami-mcp-server
go build -o umami-mcp

Fehlerbehebung

  • macOS-Binärdatei lässt sich nicht ausführen: xattr -c umami-mcp-server zum Entfernen der Quarantäne

  • Linux-Binärdatei lässt sich nicht ausführen: chmod +x umami-mcp-server

  • Verbindungsfehler: Überprüfen Sie, ob Ihre Umami-Instanz erreichbar ist und die Anmeldedaten korrekt sind

  • Tools werden nicht angezeigt: Überprüfen Sie die Protokolle Ihres MCP-Clients und stellen Sie sicher, dass der Pfad zur Binärdatei absolut ist

Lizenz

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Macawls/umami-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server