Skip to content

Agent Analytics

by dannyshmueli · remote · no sign-in to list tools · v1.0.0 · published by GitHub user dannyshmueli

Analytics your AI agent can actually use. Track, experiment, and optimize via MCP.

Deletes · 3Changes · 18

28 tools: 3 can delete or cancel things, 18 change things and 7 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http agent-analytics https://mcp.agentanalytics.sh/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • Warnquery

    The server marks "query" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "query" says "query": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

28 tools

Deletes or cancels 3Claude Code: deny
  • delete_experimentDelete an experimentNo findings

    Why it is in this group

    • The name "delete_experiment" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Delete an experiment

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • set_project_contextSet or replace compact project context.No findings

    Why it is in this group

    • The name "set_project_context" says "set": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Set 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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • update_experimentUpdate experiment status (pause, resume, complete)No findings

    Why it is in this group

    • The name "update_experiment" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Update experiment status (pause, resume, complete)

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
Changes things 18Claude Code: ask
  • all_sites_bot_trafficFiltered automated traffic across all active projects in your account.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Filtered automated traffic across all active projects in your account.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • all_sites_overviewHistorical summary across all projects in your account: total events, active project count, daily trend, and top projects.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Historical summary across all projects in your account: total events, active project count, daily trend, and top projects.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • analytics_breakdownTop 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 project…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Top 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • analytics_funnelFunnel analysis: track where users drop off across a sequence of events (e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Funnel 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • analytics_heatmapDay-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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Day-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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • analytics_insightsPeriod-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 yo…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Period-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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • analytics_pagesEntry/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…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Entry/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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • analytics_panelUse this when you want to explore an authorized project's analytics beside the conversation.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Use 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • analytics_pathsBounded session path analysis from entry pages to goal, drop-off, or truncation.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Bounded 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • analytics_retentionCohort retention analysis — track what % of users return over time.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Cohort 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • analytics_sessionsSession 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Session 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • bot_traffic_overviewFiltered automated traffic for a single project: automated requests, dropped events, categories, and top actors.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Filtered automated traffic for a single project: automated requests, dropped events, categories, and top actors.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • create_experimentCreate an A/B experimentNo findings

    Why it is in this group

    • The name "create_experiment" says "create": a word for a change.
    Description, as the server wrote it
    Create an A/B experiment

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • create_projectCreate a new Agent Analytics project.No findings

    Why it is in this group

    • The name "create_project" says "create": a word for a change.
    Description, as the server wrote it
    Create a new Agent Analytics project. Returns the tracking snippet and API example. Idempotent — returns existing project if name already taken.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: false
  • live_nowReal-time snapshot: active visitors, sessions, events per minute, top pages, and recent events.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Real-time snapshot: active visitors, sessions, events per minute, top pages, and recent events. Reads from in-memory ring buffer — no D1 query.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • propertiesDiscover 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Discover 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • properties_receivedProperty 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Property 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • queryRun a flexible ad-hoc analytics query with custom metrics, filters, grouping, date ranges, and privacy-first customer email lookup.1 finding

    Why it is in this group

    • The name "query" says "query": a word for reading.
    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "query" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "query" says "query": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Run 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
Only reads 7Claude Code: allow
  • account_usageRead current account plan, usage, billing estimate and spend cap, Pro pricing, and a human payment handoff when needed.No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Read 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
    • idempotentHint: true
  • analytics_overviewGet 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 re…No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_experimentGet experiment details with results Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.No findings

    Why it is in this group

    • The name "get_experiment" says "get": a word for reading.
    Description, as the server wrote it
    Get experiment details with results Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_project_contextGet compact self-improving project context: goals, activation events, event-name glossary, and major date annotations used to interpret analytics results.No findings

    Why it is in this group

    • The name "get_project_context" says "get": a word for reading.
    Description, as the server wrote it
    Get 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_experimentsList A/B experiments for a project Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.No findings

    Why it is in this group

    • The name "list_experiments" says "list": a word for reading.
    Description, as the server wrote it
    List A/B experiments for a project Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_projectsList all your Agent Analytics projects Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.No findings

    Why it is in this group

    • The name "list_projects" says "list": a word for reading.
    Description, as the server wrote it
    List all your Agent Analytics projects Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • sessionsList individual session records Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    Description, as the server wrote it
    List individual session records Anonymous preview is limited to agentanalytics-demo synthetic read-only data; sign in for your own projects.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http agent-analytics https://mcp.agentanalytics.sh/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__agent-analytics__account_usage",
      "mcp__agent-analytics__list_projects",
      "mcp__agent-analytics__get_project_context",
      "mcp__agent-analytics__sessions",
      "mcp__agent-analytics__list_experiments",
      "mcp__agent-analytics__get_experiment",
      "mcp__agent-analytics__analytics_overview"
    ],
    "ask": [
      "mcp__agent-analytics__analytics_panel",
      "mcp__agent-analytics__create_project",
      "mcp__agent-analytics__properties",
      "mcp__agent-analytics__properties_received",
      "mcp__agent-analytics__create_experiment",
      "mcp__agent-analytics__live_now",
      "mcp__agent-analytics__all_sites_overview",
      "mcp__agent-analytics__bot_traffic_overview",
      "mcp__agent-analytics__all_sites_bot_traffic",
      "mcp__agent-analytics__query",
      "mcp__agent-analytics__analytics_funnel",
      "mcp__agent-analytics__analytics_retention",
      "mcp__agent-analytics__analytics_insights",
      "mcp__agent-analytics__analytics_breakdown",
      "mcp__agent-analytics__analytics_pages",
      "mcp__agent-analytics__analytics_paths",
      "mcp__agent-analytics__analytics_sessions",
      "mcp__agent-analytics__analytics_heatmap"
    ],
    "deny": [
      "mcp__agent-analytics__set_project_context",
      "mcp__agent-analytics__update_experiment",
      "mcp__agent-analytics__delete_experiment"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agent-analytics. Review it before you use it.