umami-mcp-server

command module
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2025 License: MIT Imports: 14 Imported by: 0

README

Umami MCP Server

Connect your Umami Analytics to any MCP client - Claude Desktop, VS Code, Cursor, Windsurf, Zed, and more.

Prompts

Analytics & Traffic
  • "Give me a comprehensive analytics report for my website over the last 30 days"
  • "Which pages are getting the most traffic this month? Show me the top 10"
  • "Analyze my website's traffic patterns - when do I get the most visitors?"
User Insights
  • "Where are my visitors coming from? Break it down by country and city"
  • "What devices and browsers are my users using?"
  • "Show me the user journey - what pages do visitors typically view in sequence?"
Real-time Monitoring
  • "How many people are on my website right now? What pages are they viewing?"
  • "Is my website experiencing any issues? Check if traffic has dropped significantly"
Content & Campaign Analysis
  • "Which blog posts should I update? Show me articles with declining traffic"
  • "How did my recent email campaign perform? Track visitors from the campaign UTM"
  • "Compare traffic from different social media platforms"

Quick Start

Option 1: Download Binary

Get the latest release for your platform from Releases

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 Install
go install github.com/Macawls/umami-mcp-server@latest
# Or specific version
go install github.com/Macawls/umami-mcp-server@v1.0.3

Installs to ~/go/bin/umami-mcp-server (or $GOPATH/bin)

Configure Your MCP Client

Claude Desktop

Add to your Claude Desktop config:

Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "https://your-umami-instance.com",
        "UMAMI_USERNAME": "your-username",
        "UMAMI_PASSWORD": "your-password"
      }
    }
  }
}
Docker version
{
  "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"
      }
    }
  }
}
Secure prompts
{
  "mcpServers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "${input:umami_url}",
        "UMAMI_USERNAME": "${input:umami_username}",
        "UMAMI_PASSWORD": "${input:umami_password}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "umami_url",
      "description": "Umami instance URL"
    },
    {
      "type": "promptString",
      "id": "umami_username",
      "description": "Umami username"
    },
    {
      "type": "promptString",
      "id": "umami_password",
      "description": "Umami password",
      "password": true
    }
  ]
}

Restart Claude Desktop to load the server.

VS Code (GitHub Copilot)

Enable agent mode and add MCP servers to access Umami from Copilot.

For workspace: Create .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"
      }
    }
  }
}
With secure prompts
{
  "inputs": [
    {
      "type": "promptString",
      "id": "umami_url",
      "description": "Umami instance URL"
    },
    {
      "type": "promptString",
      "id": "umami_username",
      "description": "Umami username"
    },
    {
      "type": "promptString",
      "id": "umami_password",
      "description": "Umami password",
      "password": true
    }
  ],
  "servers": {
    "umami": {
      "command": "~/go/bin/umami-mcp-server",
      "env": {
        "UMAMI_URL": "${input:umami_url}",
        "UMAMI_USERNAME": "${input:umami_username}",
        "UMAMI_PASSWORD": "${input:umami_password}"
      }
    }
  }
}

Access via: Chat view → Agent mode → Tools button

Other MCP Clients
Cursor, Windsurf, Zed, Cline

Cursor: Ctrl/Cmd + Shift + P → "Cursor Settings" → MCP section

Windsurf: Settings → MCP Settings → Add MCP Server
Config location: %APPDATA%\windsurf\mcp_settings.json (Windows)

Zed: Settings → assistant.mcp_servers

Cline: VS Code Settings → Extensions → Cline → MCP Servers

All use similar JSON format as above. Docker and secure prompts work the same way.

Available 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

Alternative Configuration

Instead of environment variables, create a config.yaml file next to the binary:

umami_url: https://your-umami-instance.com
username: your-username
password: your-password

Environment variables take priority over the config file.

Build from Source

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

Troubleshooting

Binary won't run
  • macOS: Run xattr -c umami-mcp-server to remove quarantine
  • Linux: Run chmod +x umami-mcp-server to make executable
Connection errors
  • Verify your Umami instance is accessible
  • Check your credentials are correct
Tools not showing up
  • Check your MCP client logs for errors
  • Verify the binary path is absolute
  • Try running the binary directly to check for errors

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL