What it does

TL;DR for the period: headline metrics (pageviews, visitors, sessions, bounce rate, avg session duration) plus pageviews_change_pct vs the previous equivalent window, top page, top traffic source, bot share, and top 3 custom events. Designed so a single call answers 'how did <period> go?' without chaining other tools. pageviews_change_pct is a percentage: 19.7 means +19.7%, -8.0 means -8.0% (null when the previous window had no pageviews). bounce_rate and bot_share are ratios 0–1, NOT percentages: 0.42 means 42%. Volume metrics (pageviews / bot_share) include AI-mediated human browsing (ai_user_action — Claude/ChatGPT fetching on a user's behalf); the session metrics (sessions / bounce_rate / avg_session_duration_seconds) are browser sessions only, because server-side-ingested rows carry no session at all — pageviews still counts them, so pageviews-per-session is not a clean ratio on sites using server-side ingest. Attribution metrics (top_source) count direct browser visits only because AI-mediated traffic loses original utm/referrer tags. top_source attributes one entry per session (field `sessions`), not per pageview — don't compare it against `pageviews`. See traffic_class_breakdown for the per-class split. On privacy_mode=strict sites unique_visitors is always 0 by design (no visitor IDs computed) — judge reach by sessions there; the response's privacy_note says so too.

Example prompts

Ask Claude or any MCP client connected to mcp-analytics things like:

"How did mysite.com do last week?"
"Give me a summary for example.com, last 30 days."
"Quick overview for my main site, past 24 hours."

Claude picks get_overview automatically. An example response (formatted by Claude from the structured tool output):

67,348 pageviews (↑ 8% week-over-week), 22,104 unique visitors,
13,440 sessions. Bounce rate 41%. Average session duration 2m 14s.

Top page: /pricing (4,232 views).
Top traffic source: hacker news (1,847 sessions, a thread from
last Wednesday is driving most of it).
Bot share: 11% (mostly Googlebot and GPTBot).
Top 3 custom events: signup_started (412), tracking_added (87),
account_created (74).

The tool returns a single object with all the headline metrics plus pageviews_change_pct versus the previous equivalent period. Designed so one tool call answers the "how did X go?" question without chaining further calls.

Pageviews and bot_share include AI-mediated human browsing (the ai_user_action traffic class: Claude or ChatGPT fetching a page on a user's behalf). Session metrics (sessions, visitors, bounce rate, session duration) count browser sessions only — an AI-mediated fetch carries no session or visitor id. Attribution metrics (the top_source field) count direct browser visits only, because AI-mediated traffic loses original UTM and referrer tags. top_source is attributed once per session, from the source the session entered on — not once per pageview. See traffic_class_breakdown for the per-class split.

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
conversion_event string optional Optional custom event name (case-sensitive, from list_events) to treat as the conversion. The overview fields are unchanged. The response gains a site-wide `conversion` block: conversion_base (units in the period), converted (how many fired the event), conversion_rate (ratio 0–1: 0.05 means 5%), `unit` and a `note` to relay. The unit depends on the site's privacy_mode: 'session' on strict and balanced sites (no identity survives UTC midnight there, so only conversions within one visit count), 'visitor' on privacy_mode=all sites (first-party cookie, so a visitor who arrives Monday and converts Thursday counts as converted, if both days are inside the period). The auto-tracked 'pageview' and 'engagement' are rejected — pick one of the site's own events.

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": "get_overview",
    "arguments": {
      "site_id": "abc12345"
    }
  }
}'

Token comes from /settings after you sign up. Replace any required arguments above.

Related tools