What it does
All event names with counts (includes 'pageview' and custom events). Each entry also carries `properties`: the custom-property names observed on that event in the period, most-frequently-sent first, capped at 50 — use it to pick a valid group_by_property for event_details instead of guessing. An empty list means the event carried no properties in this window. Volume metric — counts include AI-mediated human browsing (ai_user_action). `unique_sessions` counts browser sessions only, since server-side-ingested rows carry no session, so it can be 0 while `count` is not.
Example prompts
Ask Claude (or any MCP client connected to mcp-analytics) something like:
What custom events fired on mysite.com last 14 days?
The client will pick list_events automatically based on the prompt and your account's available sites.
Arguments
| Name | Type | Required | Description / Default |
|---|---|---|---|
site_id |
string | required | Site identifier from list_sites (8-character base32, e.g. 'wjxayhdd'). |
period |
string | optional |
Time window. Keywords: today, yesterday, last_7_days, last_30_days, last_90_days, last_12_months. Or a custom date range YYYY-MM-DD..YYYY-MM-DD (inclusive).
default: last_7_days
|
How to call it directly
If you're integrating from your own code rather than a chat client, this is the JSON-RPC payload:
curl -X POST https://mcp-analytics.com/mcp \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_events",
"arguments": {
"site_id": "abc12345"
}
}
}'
Token comes from /settings after you sign up. Replace any required arguments above.
Related tools
get_tracking_snippet: Return the HTML <script> snippet for a given site_id.regenerate_api_token: Invalidate the current API token and issue a new one.compare_periods: Compare a metric between two periods.traffic_class_breakdown: Hit counts and percentages by traffic_class for the period.event_details: Details for one event.