umami
A lean MCP Server for Umami
claude mcp add --transport stdio macawls-umami-mcp-server ~/go/bin/umami-mcp-server \ --env UMAMI_URL="https://your-umami-instance.com" \ --env UMAMI_PASSWORD="your-password" \ --env UMAMI_USERNAME="your-username"
How to use
This Umami MCP Server exposes a set of tools that let MCP clients query and analyze your Umami analytics data. The available tools include get_websites (list sites), get_stats (visitor statistics), get_pageviews (page-by-page traffic over time), get_metrics (browsers, countries, devices, and more), and get_active (current active visitors). You can connect from Claude Desktop, VS Code, Cursor, Windsurf, Zed, Cline, and other MCP clients using either a local binary or a remote HTTP endpoint. For local use, run the umami-mcp-server binary and configure your MCP clients with the UMAMI_URL, UMAMI_USERNAME, and UMAMI_PASSWORD environment variables. For remote usage, you can use the hosted HTTP transport endpoint at the provided URL and pass credentials as part of the query string. The server also supports two transport modes (stdio and HTTP) controlled by the TRANSPORT environment variable, with HTTP enabling an MCP endpoint at /mcp for clients that support HTTP transport.
How to install
Prerequisites:
- Go installed (for building from source) or use the prebuilt binary
- Optional: Docker if you prefer containerized deployment
Option A: Go install (recommended per Quick Start)
- Install the binary:
go install github.com/Macawls/umami-mcp-server@latest
or a specific version
go install github.com/Macawls/umami-mcp-server@v1.0.3 - Ensure the binary is in your PATH (default installs to ~/go/bin/umami-mcp-server).
- Run the server: umami-mcp-server
Option B: Docker
- Run the container with required environment variables:
docker run -i --rm
-e UMAMI_URL="https://your-umami-instance.com"
-e UMAMI_USERNAME="username"
-e UMAMI_PASSWORD="password"
ghcr.io/macawls/umami-mcp-server
Option C: Download binary
- Download the latest release for your platform from the GitHub Releases page.
- Make it executable and run: ./umami-mcp-server
If you’re building from source, ensure you have Go installed and set up GOPATH/GOMOD as needed, then run the build and use the resulting binary as described above.
Additional notes
Tips and troubleshooting:
- The MCP client configurations mirror the examples in this repository. Use the same UMAMI_URL, UMAMI_USERNAME, and UMAMI_PASSWORD values across clients where applicable.
- If you’re using secure prompts or interactive credentials, you can leverage the secure prompt JSON blocks shown in the README to inject credentials at runtime.
- For remote usage, you can opt into the HTTP transport by setting TRANSPORT=HTTP and connecting via the /mcp endpoint. This is useful for clients that don’t support local stdio-based MCP connections.
- If you encounter authentication errors, double-check that the Umami instance URL, username, and password are correct and that the Umami user has appropriate API access.
- Restart Claude Desktop or your MCP client after changing server configurations to ensure the new settings are loaded.
Related MCP Servers
claude-talk-to-figma
A Model Context Protocol (MCP) that allows Claude Desktop and other AI tools (Claude Code, Cursor, Antigravity, etc.) to read, analyze, and modify Figma designs
ollama
An MCP Server for Ollama
mcp-cron
MCP server for scheduling and running shell commands and AI prompts
mcp
Teamwork.com MCP server
cursor-buddy
🤖 MCP server that gives AI agents deep context about your project - coding standards, knowledge base, todos, database schema & history. Keep your AI assistant consistent and context-aware.
npm-helper
A Model Context Protocol (MCP) server providing tools for NPM package management and dependency updates. Helps LLMs like Claude interact with npm packages, search npm registry, and keep dependencies up-to-date.