Agent Analytics
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Analytics your AI agent can actually use. Track, experiment, and optimize via MCP.
| Author | io.github.dannyshmueli |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 1091 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Agent Analytics": {
"url": "https://mcp.agentanalytics.sh/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (28)
account_usageread-onlyRead current account plan, usage, billing estimate and spend cap, Pro pricing, and a human payment handoff when needed. Requires account:read. Read-only: cannot charge or manage billing. Call again after checkout to verify hosted entitlement, then retry the original task.
Hints: read-only yes · destructive no · idempotent yes · open-world no
analytics_panelread-onlyUse this when you want to explore an authorized project's analytics beside the conversation. Opens a compact project/view picker; accepts empty input. Analysis queries retain their existing plan and access checks. Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_projectsread-onlyList all your Agent Analytics projects Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_projectCreate a new Agent Analytics project. Returns the tracking snippet and API example. Idempotent — returns existing project if name already taken.
Parameters:
name(required) — string — Project name (letters, numbers, hyphens, dots, max 64 chars)allowed_origins— string — Allowed CORS origins, defaults to *
Hints: read-only no · destructive no · idempotent not declared · open-world no
get_project_contextread-onlyGet compact self-improving project context: goals, activation events, event-name glossary, and major date annotations used to interpret analytics results. Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project name or ID
Hints: read-only yes · destructive no · idempotent not declared · open-world no
set_project_contextdestructiveSet or replace compact project context. The encoded API request body is capped at 512KB. Read existing context first, merge still-valid entries, inspect event names with properties or properties_received, and save only durable product truth tied to goals, activation events, event-name glossary entries, or date annotations for major product changes. Use annotations for meaningful landing page, pricing, onboarding, feature, release, or experiment changes; do not store git commit logs, noisy edits, PII, secrets, or long release notes.
Parameters:
project(required) — string — Project name or IDgoals— array — Short business goals, max 5glossary— array — Event-name glossary entries, max 10annotations— array — Major date annotations, max 100activation_events— array — Event names that define activation, max 8
Hints: read-only no · destructive yes · idempotent not declared · open-world no
propertiesread-onlyDiscover event names and property keys from recent events Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project namedays— number — Lookback window in days
Hints: read-only yes · destructive no · idempotent not declared · open-world no
properties_receivedread-onlyProperty keys by event name, sampled from recent events Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project namesince— string — Start date (ISO or shorthand like 7d)sample— number — Events to sample
Hints: read-only yes · destructive no · idempotent not declared · open-world no
sessionsread-onlyList individual session records Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project namelimit— number — Max resultssince— string — Start date
Hints: read-only yes · destructive no · idempotent not declared · open-world no
list_experimentsread-onlyList A/B experiments for a project Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project name
Hints: read-only yes · destructive no · idempotent not declared · open-world no
create_experimentCreate an A/B experiment
Parameters:
project(required) — string — Project namename(required) — string — Experiment namevariants(required) — array — Variant keys, e.g. ['control', 'new_cta']goal_event(required) — string — Goal event name to measure conversionsweights— array — Variant weights, e.g. [50, 50]
Hints: read-only no · destructive no · idempotent not declared · open-world no
get_experimentread-onlyGet experiment details with results Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
id(required) — string — Experiment ID
Hints: read-only yes · destructive no · idempotent not declared · open-world no
update_experimentdestructiveUpdate experiment status (pause, resume, complete)
Parameters:
id(required) — string — Experiment IDstatus(required) — string — New statuswinner— string — Winning variant (for completing)
Hints: read-only no · destructive yes · idempotent not declared · open-world no
delete_experimentdestructiveDelete an experiment
Parameters:
id(required) — string — Experiment ID
Hints: read-only no · destructive yes · idempotent not declared · open-world no
live_nowread-onlyReal-time snapshot: active visitors, sessions, events per minute, top pages, and recent events. Reads from in-memory ring buffer — no D1 query.
Parameters:
project(required) — string — Project namewindow— number — Time window in seconds (10-300, default 60)
Hints: read-only yes · destructive no · idempotent not declared · open-world no
all_sites_overviewread-onlyHistorical summary across all projects in your account: total events, active project count, daily trend, and top projects.
Parameters:
limit— number — Max projects to include in the top-project listperiod— string — Comparison period
Hints: read-only yes · destructive no · idempotent not declared · open-world no
bot_traffic_overviewread-onlyFiltered automated traffic for a single project: automated requests, dropped events, categories, and top actors.
Parameters:
project(required) — string — Project namelimit— number — Max actors to includeperiod— string — Comparison period
Hints: read-only yes · destructive no · idempotent not declared · open-world no
all_sites_bot_trafficread-onlyFiltered automated traffic across all active projects in your account.
Parameters:
limit— number — Max projects to includeperiod— string — Comparison period
Hints: read-only yes · destructive no · idempotent not declared · open-world no
queryread-onlyRun a flexible ad-hoc analytics query with custom metrics, filters, grouping, date ranges, and privacy-first customer email lookup. This is the most powerful endpoint — use it when other tools don't answer the question. Examples of questions this tool answers: - "How many signups from Germany this week?" → filters: [{field:"event",op:"eq",value:"signup"},{field:"country",op:"eq",value:"DE"}] - "Which events contain 'page' in the name?" → filters: [{field:"event",op:"contains",value:"page"}], group_by: ["event"] - "Daily unique users for the last 30 days" → metrics: ["unique_users"], group_by: ["date"], date_from: "30d" - "Events per country" → group_by: ["country"] Filter operators: eq, neq, gt, lt, gte, lte, contains Filterable fields: event, user_id, date, country, session_id, timestamp, and any properties.* field (e.g. properties.path) For customer-specific reads, use the top-level email input instead of hashing locally. Raw email is sent only in the authenticated HTTPS POST body; the server matches via a project-scoped HMAC index and does not store raw email in event rows or profile traits. Built-in fields are a closed list. Event properties such as referrer, utm_source, path, browser, and hostname must be queried as properties.referrer, properties.utm_source, properties.path, properties.browser, and properties.hostname. Invalid filter fields fail loudly and return /properties-style guidance instead of being silently ignored. Group by: event, date, user_id, session_id, country Metrics: event_count, unique_users, session_count, bounce_rate, avg_duration Count modes: raw, session_then_user. The default for event_count is session_then_user for activation-safe counting: session-backed rows count by session, no-session rows fall back to user only when that user has no session-backed row in the same group, and fully anonymous rows fall back to event id. count_mode is ignored when event_count is not requested.
Parameters:
project(required) — string — Project nameemail— string — Filter by server-side scoped HMAC email lookup. Raw email is sent only in the authenticated HTTPS POST body and is not stored in event rows or profile traits.limit— number — Max results (default 100, max 1000)order— string — Sort directiondate_to— string — End date (ISO 8601). Defaults to today.filters— array — Filters to applymetrics— array — Metrics to computegroup_by— array — Fields to group results byorder_by— string — Field to sort bydate_from— string — Start date (ISO 8601 or Nd shorthand like '30d'). Defaults to 7 days ago.count_mode— string — How event_count is aggregated. Default for event_count: session_then_user. Session-backed rows count by session, no-session rows fall back to user only when that user has no session-backed row in the same group, and fully anonymous rows fall back to event id. Ignored for queries without event_count. Use raw for ingestion/debugging counts.
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_funnelread-onlyFunnel analysis: track where users drop off across a sequence of events (e.g. page_view → signup → purchase). Returns per-step user counts, conversion rates, and average time between steps. Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project namesteps(required) — array — Funnel steps (2-8), each with an event name and optional filterssince— string — Lookback period (e.g. '30d', '90d', or ISO date)count_by— string — Count by users or sessionsbreakdown— string — Property key to segment by (e.g. 'variant', 'country'). Extracted from step 1 events.breakdown_limit— number — Max breakdown groups (default 10, max 50)conversion_window_hours— number — Max hours from step 1 to last step (default: 168 = 7 days)
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_retentionread-onlyCohort retention analysis — track what % of users return over time. By default uses session-based retention (any return visit counts). Pass 'event' to switch to event-based retention. Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project nameevent— string — First-seen event filter (e.g. signup). Switches to event-based retention.period— string — Cohort grouping periodcohorts— number — Number of cohort periods (max: day=30, week=12, month=12)returning_event— string — What counts as 'returned' (defaults to same as event)
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_overviewread-onlyGet time series chart, KPIs (events, users), and country breakdown (events, unique users) for a project over N days Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project namedays— number — Lookback window in days
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_insightsread-onlyPeriod-over-period comparison with trend (events, users, bounce rate, session duration) Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project nameperiod— string — Comparison period
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_breakdownread-onlyTop property values ranked by count (pages, referrers, UTM sources, etc.) Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project namedays— number — Lookback window in daysevent— string — Filter by event name (e.g. page_view)limit— number — Max resultsproperty— string — Property key to group by (e.g. path, referrer, utm_source)
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_pagesread-onlyEntry/exit page stats with bounce rate, avg duration, events per session Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project nametype— string — Page typelimit— number — Max results
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_pathsread-onlyBounded session path analysis from entry pages to goal, drop-off, or truncation. Useful for connecting page behavior to funnels, retention, and experiments. Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project namegoal_event(required) — string — Goal event to attribute within the same sessionsince— string — Lookback periodmax_steps— integer — Max mixed page/event steps before truncationpath_limit— integer — Max children kept per nodeentry_limit— integer — Max entry pages to includecandidate_session_cap— integer — Bound on candidate sessions scanned
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_sessionsread-onlySession duration histogram with engaged percentage and median bucket Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project name
Hints: read-only yes · destructive no · idempotent not declared · open-world no
analytics_heatmapread-onlyDay-of-week × hour traffic grid with peak detection (times in UTC) Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.
Parameters:
project(required) — string — Project name
Hints: read-only yes · destructive no · idempotent not declared · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.