Skip to main content

MCP server exposing Umami analytics (Cloud + self-hosted)

Project description

Umami MCP Server

MCP server that exposes Umami Cloud analytics via tools.

Tools

  • get_websites - List all your websites
  • get_stats - Get visitor statistics
  • get_pageviews - View page traffic over time
  • get_metrics - See browsers, countries, devices, and more
  • get_active - Current active visitors

Requirements

  • Python 3.13+
  • uv

Configure

Umami Cloud API base URL: https://api.umami.is/v1

Environment variables:

  • UMAMI_API_KEY - Umami Cloud API key (required for Umami Cloud)
  • UMAMI_USERNAME - Umami username (self-hosted only)
  • UMAMI_PASSWORD - Umami password (self-hosted only)
  • UMAMI_API_BASE (optional) - defaults to https://api.umami.is/v1

Auth rules:

  • Umami Cloud: only UMAMI_API_KEY is supported.
  • Self-hosted: you can use UMAMI_API_KEY or UMAMI_USERNAME + UMAMI_PASSWORD.
  • You must configure at least one of these: UMAMI_API_KEY OR (UMAMI_USERNAME and UMAMI_PASSWORD).
  • For self-hosted username/password auth, set UMAMI_API_BASE to your instance API root (e.g. https://your-umami.example/api).

All tool parameters that represent times accept ISO datetimes. If a datetime is missing a timezone, it is treated as UTC.

Run locally

uvx run umami-mcp-server

OpenCode MCP config

Example ~/.config/opencode/opencode.json (replace the API key and adjust the path if your clone lives elsewhere):

{
  "$schema": "https://opencode.ai/config.json",
  "theme": "system",
  "mcp": {
    "umami": {
      "type": "local",
      "command": [
        "uvx",
        "umami-mcp-server"
      ],
      "environment": {
        "UMAMI_API_KEY": "YOUR_UMAMI_CLOUD_API_KEY",
        "UMAMI_API_BASE": "https://api.umami.is/v1"
      },
      "enabled": true,
    }
  }
}

Self-hosted example:

{
  "mcp": {
    "umami": {
      "type": "local",
      "command": ["uvx", "umami-mcp-server"],
      "environment": {
        "UMAMI_USERNAME": "YOUR_USERNAME",
        "UMAMI_PASSWORD": "YOUR_PASSWORD",
        "UMAMI_API_BASE": "https://your-umami.example"
      }
    },
    "enabled": true,

  }
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

umami_mcp_server-0.1.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

umami_mcp_server-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file umami_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: umami_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for umami_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dafe8404e4be0989b997840b181340b14d3897fa8b9c39f0d3ba17a80e898884
MD5 4d10acb2f4e89374d61dfa0dfbf2c48c
BLAKE2b-256 0ac920cb9eb42faf1dd964e19f2b95d532ef8da5ff0813d5496756f01910650c

See more details on using hashes here.

File details

Details for the file umami_mcp_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: umami_mcp_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.25 {"installer":{"name":"uv","version":"0.9.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for umami_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5338d79d3eb73189152c187d66908205534745a214238582a4f0967e3fdb7c97
MD5 032ccf7eda3b9f0728de0f62283a6e04
BLAKE2b-256 207419fd747a6e24a3cb9583b2ab8d9998beaf2a3ef43918a2202ec0de628475

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page