Measure.events Analytics

Privacy-first web analytics. Query pageviews, referrers, trends, and AI insights.

Should I use this

Quality & Safety

A
Description quality
94%
Schema completeness
92%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'get_site_analytics' description lacks action verbin get_site_analytics
  • LOWTool 'get_insights' description lacks action verbin get_insights

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,811Tokens (tool definitions)
~1003 BTypical response size
Moderate attention impact (1.41% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "measure-events": {
      "url": "https://lets.measure.events/mcp"
    }
  }
}

Remote endpoints

https://lets.measure.events/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_sites

List your sites with their site_key, tracking script and last-7-day pageviews.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_site_analytics(from, period, site_key, to)

Pageviews, visitors (humans), AI agent and bot requests, top pages and referrers for a period.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Start date, YYYY-MM-DD (UTC, inclusive).",
      "type": "string"
    },
    "period": {
      "description": "Time period. Ignored when from and to are given.",
      "enum": [
        "24h",
        "7d",
        "30d",
        "90d",
        "year",
        "day",
        "week",
        "month"
      ],
      "type": "string"
    },
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    },
    "to": {
      "description": "End date, YYYY-MM-DD (UTC, inclusive).",
      "type": "string"
    }
  },
  "required": [
    "site_key"
  ]
}
🟢get_site_summary(site_key)

A plain-language summary of the last 7 days with week-over-week change and highlights.

Input Schema

{
  "type": "object",
  "properties": {
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    }
  },
  "required": [
    "site_key"
  ]
}
🟢get_insights(site_key)

Anomalies and trends: page spikes, new referrers, new AI agents, traffic drops, weekly trend.

Input Schema

{
  "type": "object",
  "properties": {
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    }
  },
  "required": [
    "site_key"
  ]
}
🟢get_agents(from, period, site_key, to)

Every AI agent that fetched the site: operator, purpose (assistant, training, search), requests, top page.

Input Schema

{
  "type": "object",
  "properties": {
    "from": {
      "description": "Start date, YYYY-MM-DD (UTC, inclusive).",
      "type": "string"
    },
    "period": {
      "description": "Time period. Ignored when from and to are given.",
      "enum": [
        "24h",
        "7d",
        "30d",
        "90d",
        "year",
        "day",
        "week",
        "month"
      ],
      "type": "string"
    },
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    },
    "to": {
      "description": "End date, YYYY-MM-DD (UTC, inclusive).",
      "type": "string"
    }
  },
  "required": [
    "site_key"
  ]
}
🟢get_breakdown(dim, from, limit, period, site_key, ...)

Top values of one dimension: path, referrer, source, channel, country, device, browser, os, utm_source, utm_medium, utm_campaign or agent.

Input Schema

{
  "type": "object",
  "properties": {
    "dim": {
      "enum": [
        "path",
        "referrer",
        "source",
        "channel",
        "country",
        "device",
        "browser",
        "os",
        "utm_source",
        "utm_medium",
        "utm_campaign",
        "agent"
      ],
      "type": "string"
    },
    "from": {
      "description": "Start date, YYYY-MM-DD (UTC, inclusive).",
      "type": "string"
    },
    "limit": {
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "period": {
      "description": "Time period. Ignored when from and to are given.",
      "enum": [
        "24h",
        "7d",
        "30d",
        "90d",
        "year",
        "day",
        "week",
        "month"
      ],
      "type": "string"
    },
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    },
    "to": {
      "description": "End date, YYYY-MM-DD (UTC, inclusive).",
      "type": "string"
    },
    "traffic": {
      "description": "Which traffic to count (default all).",
      "enum": [
        "all",
        "humans",
        "agents",
        "bots"
      ],
      "type": "string"
    }
  },
  "required": [
    "site_key",
    "dim"
  ]
}
🟢get_live(site_key)

Visitors on the site now and the latest requests.

Input Schema

{
  "type": "object",
  "properties": {
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    }
  },
  "required": [
    "site_key"
  ]
}
🟢get_agent_report(site_key)

Everything in one call: 7- and 30-day traffic, daily series, pages, referrers, channels, agents, insights, check-ins and recommended actions.

Input Schema

{
  "type": "object",
  "properties": {
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    }
  },
  "required": [
    "site_key"
  ]
}
🟢get_llms_txt(site_key)

The last 30 days as a short Markdown document, for context windows.

Input Schema

{
  "type": "object",
  "properties": {
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    }
  },
  "required": [
    "site_key"
  ]
}
⚪track_event(agent, path, referrer, site_key, user_agent, ...)

Record a pageview: an agent's own visit, or a request your server forwards. Pass user_agent to classify a forwarded request; otherwise it counts as an AI agent visit under `agent` (default: the API key's name).

Input Schema

{
  "type": "object",
  "properties": {
    "agent": {
      "description": "Agent name for attribution.",
      "type": "string"
    },
    "path": {
      "description": "Page path, e.g. /about.",
      "type": "string"
    },
    "referrer": {
      "description": "Referring URL (only the host is kept).",
      "type": "string"
    },
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    },
    "user_agent": {
      "description": "User agent of a forwarded request (classified, never stored).",
      "type": "string"
    },
    "utm_campaign": {
      "type": "string"
    },
    "utm_medium": {
      "type": "string"
    },
    "utm_source": {
      "type": "string"
    }
  },
  "required": [
    "site_key",
    "path"
  ]
}
🟡create_site(domain, name)

Add a site. Returns its site_key and tracking script.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "The site's domain, e.g. example.com.",
      "type": "string"
    },
    "name": {
      "description": "Display name (defaults to the domain).",
      "type": "string"
    }
  },
  "required": [
    "domain"
  ]
}
⚪log_checkin(action, agent, note, site_key, timestamp)

Record something you did to the site (published a post, deployed, changed a page) so it shows beside the traffic it caused.

Input Schema

{
  "type": "object",
  "properties": {
    "action": {
      "description": "What you did, e.g. 'published /blog/launch'.",
      "type": "string"
    },
    "agent": {
      "description": "Agent name (default: the API key's name).",
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "site_key": {
      "description": "The site's tracking ID (site_key), from list_sites.",
      "type": "string"
    },
    "timestamp": {
      "description": "ISO 8601; default now.",
      "type": "string"
    }
  },
  "required": [
    "site_key",
    "action"
  ]
}
🟡signup(agent, billing_contact_email, billing_contact_name, site)

Create a Measure account without a human. Starts a 14-day trial and returns an API key and tracking script; the billing contact is emailed a link to claim the account and add a card. No API key needed.

Input Schema

{
  "type": "object",
  "properties": {
    "agent": {
      "properties": {
        "identifier": {
          "description": "Stable identifier, e.g. anthropic/claude.",
          "type": "string"
        },
        "name": {
          "description": "Your display name, e.g. Claude.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ],
      "type": "object"
    },
    "billing_contact_email": {
      "description": "Email of the person who will pay. Receives the claim link.",
      "type": "string"
    },
    "billing_contact_name": {
      "type": "string"
    },
    "site": {
      "properties": {
        "domain": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "domain"
      ],
      "type": "object"
    }
  },
  "required": [
    "billing_contact_email",
    "site",
    "agent"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools
verifiedversion not recorded13 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools