Matomo Analytics MCP
A curated, read-only MCP server for Matomo Analytics that provides 15 hand-crafted tools for querying traffic, pages, referrers, e-commerce data, and real-time visitor metrics. It features instant startup via a single binary, context-friendly row limits, and a full-API escape hatch for advanced reporting needs.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Query daily traffic and unique visitor counts
- Analyze top acquisition channels and referrers
- Monitor real-time live visitor counters
- Retrieve e-commerce conversion data
Source and maintenance
- Last repository push
- Latest release
- v0.1.4
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/liohtml/matomo-mcp:v0.1.4
{
"transport": "stdio",
"identifier": "ghcr.io/liohtml/matomo-mcp:v0.1.4",
"registryType": "oci",
"environmentVariables": [
{
"name": "MATOMO_URL",
"format": "string",
"isRequired": true,
"description": "Matomo instance URL, e.g. https://matomo.example.com"
},
{
"name": "MATOMO_TOKEN",
"format": "string",
"isRequired": true,
"description": "Matomo API token (token_auth) with view access"
},
{
"name": "MATOMO_DEFAULT_SITE_ID",
"format": "number",
"description": "Optional default site ID so tools don't require an explicit site_id"
},
{
"name": "MATOMO_EXTRA_HEADERS",
"format": "string",
"description": "Extra HTTP headers as comma-separated 'Name:Value' pairs (auth proxies, Zero-Trust)"
},
{
"name": "MATOMO_TIMEOUT_SECS",
"format": "number",
"description": "Per-request timeout in seconds (default 30)"
},
{
"name": "MATOMO_MAX_RESPONSE_CHARS",
"format": "number",
"description": "Response budget in characters before truncation (default 50000)"
},
{
"name": "MATOMO_INSECURE",
"format": "boolean",
"description": "Set to 'true' to accept self-signed TLS certificates (explicit opt-in)"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · repository · passed · metadata changed · updated
- · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"matomo-analytics-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MATOMO_URL=<YOUR_MATOMO_URL>",
"-e",
"MATOMO_TOKEN=<YOUR_MATOMO_TOKEN>",
"-e",
"MATOMO_DEFAULT_SITE_ID=<YOUR_MATOMO_DEFAULT_SITE_ID>",
"-e",
"MATOMO_EXTRA_HEADERS=<YOUR_MATOMO_EXTRA_HEADERS>",
"-e",
"MATOMO_TIMEOUT_SECS=<YOUR_MATOMO_TIMEOUT_SECS>",
"-e",
"MATOMO_MAX_RESPONSE_CHARS=<YOUR_MATOMO_MAX_RESPONSE_CHARS>",
"-e",
"MATOMO_INSECURE=<YOUR_MATOMO_INSECURE>",
"ghcr.io/liohtml/matomo-mcp:v0.1.4"
],
"env": {
"MATOMO_URL": "<YOUR_MATOMO_URL>",
"MATOMO_TOKEN": "<YOUR_MATOMO_TOKEN>",
"MATOMO_DEFAULT_SITE_ID": "<YOUR_MATOMO_DEFAULT_SITE_ID>",
"MATOMO_EXTRA_HEADERS": "<YOUR_MATOMO_EXTRA_HEADERS>",
"MATOMO_TIMEOUT_SECS": "<YOUR_MATOMO_TIMEOUT_SECS>",
"MATOMO_MAX_RESPONSE_CHARS": "<YOUR_MATOMO_MAX_RESPONSE_CHARS>",
"MATOMO_INSECURE": "<YOUR_MATOMO_INSECURE>"
}
}
}
}Cline
{
"mcpServers": {
"matomo-analytics-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MATOMO_URL=<YOUR_MATOMO_URL>",
"-e",
"MATOMO_TOKEN=<YOUR_MATOMO_TOKEN>",
"-e",
"MATOMO_DEFAULT_SITE_ID=<YOUR_MATOMO_DEFAULT_SITE_ID>",
"-e",
"MATOMO_EXTRA_HEADERS=<YOUR_MATOMO_EXTRA_HEADERS>",
"-e",
"MATOMO_TIMEOUT_SECS=<YOUR_MATOMO_TIMEOUT_SECS>",
"-e",
"MATOMO_MAX_RESPONSE_CHARS=<YOUR_MATOMO_MAX_RESPONSE_CHARS>",
"-e",
"MATOMO_INSECURE=<YOUR_MATOMO_INSECURE>",
"ghcr.io/liohtml/matomo-mcp:v0.1.4"
],
"env": {
"MATOMO_URL": "<YOUR_MATOMO_URL>",
"MATOMO_TOKEN": "<YOUR_MATOMO_TOKEN>",
"MATOMO_DEFAULT_SITE_ID": "<YOUR_MATOMO_DEFAULT_SITE_ID>",
"MATOMO_EXTRA_HEADERS": "<YOUR_MATOMO_EXTRA_HEADERS>",
"MATOMO_TIMEOUT_SECS": "<YOUR_MATOMO_TIMEOUT_SECS>",
"MATOMO_MAX_RESPONSE_CHARS": "<YOUR_MATOMO_MAX_RESPONSE_CHARS>",
"MATOMO_INSECURE": "<YOUR_MATOMO_INSECURE>"
}
}
}
}VS Code
{
"servers": {
"matomo-analytics-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MATOMO_URL=<YOUR_MATOMO_URL>",
"-e",
"MATOMO_TOKEN=<YOUR_MATOMO_TOKEN>",
"-e",
"MATOMO_DEFAULT_SITE_ID=<YOUR_MATOMO_DEFAULT_SITE_ID>",
"-e",
"MATOMO_EXTRA_HEADERS=<YOUR_MATOMO_EXTRA_HEADERS>",
"-e",
"MATOMO_TIMEOUT_SECS=<YOUR_MATOMO_TIMEOUT_SECS>",
"-e",
"MATOMO_MAX_RESPONSE_CHARS=<YOUR_MATOMO_MAX_RESPONSE_CHARS>",
"-e",
"MATOMO_INSECURE=<YOUR_MATOMO_INSECURE>",
"ghcr.io/liohtml/matomo-mcp:v0.1.4"
],
"env": {
"MATOMO_URL": "<YOUR_MATOMO_URL>",
"MATOMO_TOKEN": "<YOUR_MATOMO_TOKEN>",
"MATOMO_DEFAULT_SITE_ID": "<YOUR_MATOMO_DEFAULT_SITE_ID>",
"MATOMO_EXTRA_HEADERS": "<YOUR_MATOMO_EXTRA_HEADERS>",
"MATOMO_TIMEOUT_SECS": "<YOUR_MATOMO_TIMEOUT_SECS>",
"MATOMO_MAX_RESPONSE_CHARS": "<YOUR_MATOMO_MAX_RESPONSE_CHARS>",
"MATOMO_INSECURE": "<YOUR_MATOMO_INSECURE>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"matomo-analytics-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MATOMO_URL=<YOUR_MATOMO_URL>",
"-e",
"MATOMO_TOKEN=<YOUR_MATOMO_TOKEN>",
"-e",
"MATOMO_DEFAULT_SITE_ID=<YOUR_MATOMO_DEFAULT_SITE_ID>",
"-e",
"MATOMO_EXTRA_HEADERS=<YOUR_MATOMO_EXTRA_HEADERS>",
"-e",
"MATOMO_TIMEOUT_SECS=<YOUR_MATOMO_TIMEOUT_SECS>",
"-e",
"MATOMO_MAX_RESPONSE_CHARS=<YOUR_MATOMO_MAX_RESPONSE_CHARS>",
"-e",
"MATOMO_INSECURE=<YOUR_MATOMO_INSECURE>",
"ghcr.io/liohtml/matomo-mcp:v0.1.4"
],
"env": {
"MATOMO_URL": "<YOUR_MATOMO_URL>",
"MATOMO_TOKEN": "<YOUR_MATOMO_TOKEN>",
"MATOMO_DEFAULT_SITE_ID": "<YOUR_MATOMO_DEFAULT_SITE_ID>",
"MATOMO_EXTRA_HEADERS": "<YOUR_MATOMO_EXTRA_HEADERS>",
"MATOMO_TIMEOUT_SECS": "<YOUR_MATOMO_TIMEOUT_SECS>",
"MATOMO_MAX_RESPONSE_CHARS": "<YOUR_MATOMO_MAX_RESPONSE_CHARS>",
"MATOMO_INSECURE": "<YOUR_MATOMO_INSECURE>"
}
}
}
}Let your agent find its tools
Find servers like Matomo Analytics MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.