Read Simple Analytics stats: pageviews, visitors, pages, referrers, events and data exports.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Raw, unsampled page views or events of one website for a date range, as rows with only the fields asked for. The reply is capped at max_rows (default 100, max 1000) rows and 2 MB; "truncated" says more exist, so narrow the range. Rows are cut to about 40 000 characters of JSON. Dates: YYYY-MM-DD, or YYYY-MM-DDTHH for one hour (start and end the same day). Robots are left out unless asked. Needs the user id too. Export API: GET /api/export/datapoints.
End date, inclusive.
Start date (see description).
Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites).
Page views (default) or events.
Fields to export (default added_iso, path, country_code, device_type, document_referrer). All: added_date, added_iso, added_unix, browser_name, browser_version, country_code, datapoint, device_type, document_referrer, duration_seconds, hostname, hostname_original, is_robot, is_unique, lang_language, lang_region, os_name, os_version, path, path_and_query, query, referrer_hostname, referrer_path, screen_height, screen_width, scrolled_percentage, session_id, user_agent, utm_campaign, utm_content, utm_medium, utm_source, utm_term, uuid, viewport_height, viewport_width, metadata.<key>_<text|int|bool|date>. datapoint is for events only; duration_seconds, is_unique and scrolled_percentage for pageviews only.
Maximum rows returned (default 100).
IANA time zone, e.g. Europe/Amsterdam. Default: the website setting.
Include robot/crawler traffic (default false).
Raw, unsampled page views or events of one website for a date range, as rows with only the fields asked for. The reply is capped at max_rows (default 100, max 1000) rows and 2 MB; "truncated" says more exist, so narrow the range. Rows are cut to about 40 000 characters of JSON. Dates: YYYY-MM-DD, or YYYY-MM-DDTHH for one hour (start and end the same day). Robots are left out unless asked. Needs the user id too. Export API: GET /api/export/datapoints.
| Argument | Type | Description |
|---|---|---|
| end* | string | End date, inclusive. |
| type | string | Page views (default) or events. |
| start* | string | Start date (see description). |
| fields | array | Fields to export (default added_iso, path, country_code, device_type, document_referrer). All: added_date, added_iso, added_unix, browser_name, browser_version, country_code, datapoint, device_type, document_referrer, duration_seconds, hostname, hostname_original, is_robot, is_unique, lang_language, lang_region, os_name, os_version, path, path_and_query, query, referrer_hostname, referrer_path, screen_height, screen_width, scrolled_percentage, session_id, user_agent, utm_campaign, utm_content, utm_medium, utm_source, utm_term, uuid, viewport_height, viewport_width, metadata.<key>_<text|int|bool|date>. datapoint is for events only; duration_seconds, is_unique and scrolled_percentage for pageviews only. |
| hostname* | string | Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites). |
| max_rows | integer | Maximum rows returned (default 100). |
| timezone | string | IANA time zone, e.g. Europe/Amsterdam. Default: the website setting. |
| include_robots | boolean | Include robot/crawler traffic (default false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hostname",
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"description": "End date, inclusive."
},
"type": {
"enum": [
"pageviews",
"events"
],
"type": "string",
"description": "Page views (default) or events."
},
"start": {
"type": "string",
"description": "Start date (see description)."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"description": "Fields to export (default added_iso, path, country_code, device_type, document_referrer). All: added_date, added_iso, added_unix, browser_name, browser_version, country_code, datapoint, device_type, document_referrer, duration_seconds, hostname, hostname_original, is_robot, is_unique, lang_language, lang_region, os_name, os_version, path, path_and_query, query, referrer_hostname, referrer_path, screen_height, screen_width, scrolled_percentage, session_id, user_agent, utm_campaign, utm_content, utm_medium, utm_source, utm_term, uuid, viewport_height, viewport_width, metadata.<key>_<text|int|bool|date>. datapoint is for events only; duration_seconds, is_unique and scrolled_percentage for pageviews only."
},
"hostname": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites)."
},
"max_rows": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum rows returned (default 100)."
},
"timezone": {
"type": "string",
"description": "IANA time zone, e.g. Europe/Amsterdam. Default: the website setting."
},
"include_robots": {
"type": "boolean",
"description": "Include robot/crawler traffic (default false)."
}
}
}Top values of one dimension for one website and date range, each with pageviews and visitors: pages, countries, referrers, UTM sources/mediums/campaigns/contents/terms, browsers, operating systems or device types. Optional filters as in simpleanalytics_get_stats. Stats API: GET /<hostname>.json?fields=<dimension>.
| Argument | Type | Description |
|---|---|---|
| end | string | End date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today. |
| page | string | Only this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*). |
| limit | integer | Maximum number of values (default 20, max 1000). |
| pages | string | Only these page paths, comma separated (/contact,/product/*). |
| start | string | Start date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago. |
| country | string | Only this country, 2-letter code (NL). |
| os_name | string | Only this OS name (iOS). |
| hostname* | string | Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites). |
How often custom events happened on one website in a date range. Pass event names, or leave names out for all events (up to 1000). Stats API: GET /<hostname>.json?events=...
| Argument | Type | Description |
|---|---|---|
| end | string | End date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today. |
| page | string | Only this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*). |
| names | array | Event names; default all events. |
| pages | string | Only these page paths, comma separated (/contact,/product/*). |
| start | string | Start date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago. |
| country | string | Only this country, 2-letter code (NL). |
| os_name | string | Only this OS name (iOS). |
| hostname* | string | Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites). |
Aggregated traffic for one website and date range: total pageviews, unique visitors and the median seconds on page. Optional filters narrow it to a page, country, referrer, UTM value, browser, OS, device or metadata value. Stats API: GET /<hostname>.json.
| Argument | Type | Description |
|---|---|---|
| end | string | End date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today. |
| page | string | Only this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*). |
| pages | string | Only these page paths, comma separated (/contact,/product/*). |
| start | string | Start date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago. |
| country | string | Only this country, 2-letter code (NL). |
| os_name | string | Only this OS name (iOS). |
| hostname* | string | Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites). |
| metadata | object | Exact metadata filters as {key: value}; all must match. |
Pageviews and visitors per hour, day, week, month or year for one website and date range (time series for charts and trends). Optional filters as in simpleanalytics_get_stats. Stats API: GET /<hostname>.json?fields=histogram.
| Argument | Type | Description |
|---|---|---|
| end | string | End date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today. |
| page | string | Only this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*). |
| pages | string | Only these page paths, comma separated (/contact,/product/*). |
| start | string | Start date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago. |
| country | string | Only this country, 2-letter code (NL). |
| os_name | string | Only this OS name (iOS). |
| hostname* | string | Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites). |
| interval | string | Bucket size (default day). |
List the websites of the Simple Analytics account (hostnames to use in the other tools). Good first call. Admin API: GET /api/websites.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}| metadata | object | Exact metadata filters as {key: value}; all must match. |
| referrer | string | Only this referrer (normalized, e.g. google.com). |
| timezone | string | IANA time zone, e.g. Europe/Amsterdam. Default: the website setting. |
| utm_term | string | Only this UTM term. |
| dimension* | string | What to break the traffic down by. |
| utm_medium | string | Only this UTM medium. |
| utm_source | string | Only this UTM source. |
| device_type | string | Only this device type. |
| utm_content | string | Only this UTM content. |
| browser_name | string | Only this browser name (Chrome). |
| utm_campaign | string | Only this UTM campaign. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hostname",
"dimension"
],
"properties": {
"end": {
"type": "string",
"description": "End date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today."
},
"page": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*)."
},
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"description": "Maximum number of values (default 20, max 1000)."
},
"pages": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only these page paths, comma separated (/contact,/product/*)."
},
"start": {
"type": "string",
"description": "Start date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Only this country, 2-letter code (NL)."
},
"os_name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this OS name (iOS)."
},
"hostname": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites)."
},
"metadata": {
"type": "object",
"description": "Exact metadata filters as {key: value}; all must match.",
"propertyNames": {
"type": "string",
"pattern": "^[a-zA-Z0-9_]+$"
},
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"referrer": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this referrer (normalized, e.g. google.com)."
},
"timezone": {
"type": "string",
"description": "IANA time zone, e.g. Europe/Amsterdam. Default: the website setting."
},
"utm_term": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM term."
},
"dimension": {
"enum": [
"pages",
"countries",
"referrers",
"utm_sources",
"utm_mediums",
"utm_campaigns",
"utm_contents",
"utm_terms",
"browser_names",
"os_names",
"device_types"
],
"type": "string",
"description": "What to break the traffic down by."
},
"utm_medium": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM medium."
},
"utm_source": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM source."
},
"device_type": {
"enum": [
"mobile",
"tablet",
"desktop",
"tv"
],
"type": "string",
"description": "Only this device type."
},
"utm_content": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM content."
},
"browser_name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this browser name (Chrome)."
},
"utm_campaign": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM campaign."
}
}
}| metadata |
| object |
| Exact metadata filters as {key: value}; all must match. |
| referrer | string | Only this referrer (normalized, e.g. google.com). |
| timezone | string | IANA time zone, e.g. Europe/Amsterdam. Default: the website setting. |
| utm_term | string | Only this UTM term. |
| utm_medium | string | Only this UTM medium. |
| utm_source | string | Only this UTM source. |
| device_type | string | Only this device type. |
| utm_content | string | Only this UTM content. |
| browser_name | string | Only this browser name (Chrome). |
| utm_campaign | string | Only this UTM campaign. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hostname"
],
"properties": {
"end": {
"type": "string",
"description": "End date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today."
},
"page": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*)."
},
"names": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[^,*]+$",
"maxLength": 100,
"minLength": 1
},
"maxItems": 50,
"description": "Event names; default all events."
},
"pages": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only these page paths, comma separated (/contact,/product/*)."
},
"start": {
"type": "string",
"description": "Start date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Only this country, 2-letter code (NL)."
},
"os_name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this OS name (iOS)."
},
"hostname": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites)."
},
"metadata": {
"type": "object",
"description": "Exact metadata filters as {key: value}; all must match.",
"propertyNames": {
"type": "string",
"pattern": "^[a-zA-Z0-9_]+$"
},
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"referrer": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this referrer (normalized, e.g. google.com)."
},
"timezone": {
"type": "string",
"description": "IANA time zone, e.g. Europe/Amsterdam. Default: the website setting."
},
"utm_term": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM term."
},
"utm_medium": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM medium."
},
"utm_source": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM source."
},
"device_type": {
"enum": [
"mobile",
"tablet",
"desktop",
"tv"
],
"type": "string",
"description": "Only this device type."
},
"utm_content": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM content."
},
"browser_name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this browser name (Chrome)."
},
"utm_campaign": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM campaign."
}
}
}| referrer | string | Only this referrer (normalized, e.g. google.com). |
| timezone | string | IANA time zone, e.g. Europe/Amsterdam. Default: the website setting. |
| utm_term | string | Only this UTM term. |
| utm_medium | string | Only this UTM medium. |
| utm_source | string | Only this UTM source. |
| device_type | string | Only this device type. |
| utm_content | string | Only this UTM content. |
| browser_name | string | Only this browser name (Chrome). |
| utm_campaign | string | Only this UTM campaign. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hostname"
],
"properties": {
"end": {
"type": "string",
"description": "End date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today."
},
"page": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*)."
},
"pages": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only these page paths, comma separated (/contact,/product/*)."
},
"start": {
"type": "string",
"description": "Start date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Only this country, 2-letter code (NL)."
},
"os_name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this OS name (iOS)."
},
"hostname": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites)."
},
"metadata": {
"type": "object",
"description": "Exact metadata filters as {key: value}; all must match.",
"propertyNames": {
"type": "string",
"pattern": "^[a-zA-Z0-9_]+$"
},
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"referrer": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this referrer (normalized, e.g. google.com)."
},
"timezone": {
"type": "string",
"description": "IANA time zone, e.g. Europe/Amsterdam. Default: the website setting."
},
"utm_term": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM term."
},
"utm_medium": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM medium."
},
"utm_source": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM source."
},
"device_type": {
"enum": [
"mobile",
"tablet",
"desktop",
"tv"
],
"type": "string",
"description": "Only this device type."
},
"utm_content": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM content."
},
"browser_name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this browser name (Chrome)."
},
"utm_campaign": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM campaign."
}
}
}| metadata | object | Exact metadata filters as {key: value}; all must match. |
| referrer | string | Only this referrer (normalized, e.g. google.com). |
| timezone | string | IANA time zone, e.g. Europe/Amsterdam. Default: the website setting. |
| utm_term | string | Only this UTM term. |
| utm_medium | string | Only this UTM medium. |
| utm_source | string | Only this UTM source. |
| device_type | string | Only this device type. |
| utm_content | string | Only this UTM content. |
| browser_name | string | Only this browser name (Chrome). |
| utm_campaign | string | Only this UTM campaign. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hostname"
],
"properties": {
"end": {
"type": "string",
"description": "End date (inclusive): YYYY-MM-DD, today, yesterday or today-1d. Default: today."
},
"page": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this page path, e.g. /pricing. A trailing * matches a prefix (/blog/*)."
},
"pages": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only these page paths, comma separated (/contact,/product/*)."
},
"start": {
"type": "string",
"description": "Start date: YYYY-MM-DD, today, yesterday or today-30d. Default: 1 month ago."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Only this country, 2-letter code (NL)."
},
"os_name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this OS name (iOS)."
},
"hostname": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "Website hostname as shown in Simple Analytics, e.g. example.com (from simpleanalytics_list_websites)."
},
"interval": {
"enum": [
"hour",
"day",
"week",
"month",
"year"
],
"type": "string",
"description": "Bucket size (default day)."
},
"metadata": {
"type": "object",
"description": "Exact metadata filters as {key: value}; all must match.",
"propertyNames": {
"type": "string",
"pattern": "^[a-zA-Z0-9_]+$"
},
"additionalProperties": {
"type": "string",
"maxLength": 200
}
},
"referrer": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this referrer (normalized, e.g. google.com)."
},
"timezone": {
"type": "string",
"description": "IANA time zone, e.g. Europe/Amsterdam. Default: the website setting."
},
"utm_term": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM term."
},
"utm_medium": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM medium."
},
"utm_source": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM source."
},
"device_type": {
"enum": [
"mobile",
"tablet",
"desktop",
"tv"
],
"type": "string",
"description": "Only this device type."
},
"utm_content": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM content."
},
"browser_name": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this browser name (Chrome)."
},
"utm_campaign": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Only this UTM campaign."
}
}
}