Staats

Your agent can ship.
Now it can steer.

Staats lets your agent make data-backed calls on its own: what worked, what broke, what to build next. You build; it watches production.

staats — agent — 120×30

        
Events tracked 0
Sites tracked 0
Tracker, gzipped ~1.5 KB
Cookies set 0

It tells you what you
didn't think to ask

Cookieless web analytics your agent reads on its own: measuring deploys, flagging changes, and surfacing what you missed.

It remembers your project

Staats stores what each site is for, what your funnel steps mean, and what every event tracks. Ask something three weeks later and your agent already has the brief.

It knows what you shipped

Your agent tags each deploy with its commit and routes, compares traffic before and after that exact change, and points at the deploy when new errors appear on its heels.

It speaks before you ask

Unusual days, first-time referrers, and pages whose share jumped surface on their own, along with a nudge to measure any deploy that is old enough to judge.

It instruments as you build

Your agent adds tracking while it writes the feature. One data attribute on a button, no extra JavaScript, and no separate pass to remember weeks later.

It needs no cookie banner

A ~1.5 KB compressed script that sets no cookies and logs no IP addresses. Your visitors have nothing to consent to, so there is no banner to put in front of them.

It covers everything you build

One key spans every project on your account. Ask about any site, or start tracking a new one, without leaving the conversation you are already in.

Copy, paste, get answers

Setup is one terminal command, your agent takes it from there.

01

Connect in one command

One command in your terminal. No SDK, no npm install, no dashboard to learn. That's the setup.

02

Your agent installs the tracker

Tell your agent to add analytics. It creates the site, writes the tag into your code, and checks its own work. You typed one sentence.

03

The data flows in

The first pageview lands within seconds. From there, any question is a chat message, not a dashboard.

staats — agent — 80×24
claude mcp add --scope user --transport http analytics "https://api.staats.ai/functions/v1/mcp/ak_9c41f2…"
Added Staats Analytics
add tracking to my site
Calling create_site…
Site created. Script tag added to index.html.
Calling get_overview…
The first pageviews are in: 4 pageviews from 2 visitors.

Pricing

Predictable plans built for indie makers and scaling apps. Start free, scale as your traffic grows, and cancel anytime.

Free

$0 /mo

Instant setup for side projects and weekend builds.

Start Free

This includes:

  • 10,000 events a month
  • 5,000 errors a month
  • 1 site
  • Just you
  • 30 days of history
  • All MCP tools & features

Growth

$29 /mo

For revenue-generating products with active funnels.

Get Started

This includes:

  • 1,000,000 events a month
  • 50,000 errors a month
  • 5 sites
  • Team of 5
  • 2 years of history
  • All MCP tools & features

Scale

$99 /mo

For high-traffic SaaS portfolios and viral consumer apps.

Get Started

This includes:

  • 5,000,000 events a month
  • 100,000 errors a month
  • 10 sites
  • Team of 10
  • 3 years of history
  • All MCP tools & features

FAQ

How do I actually see my stats?

You ask, or your agent brings it up first. Staats is intentionally dashboard-less: your agent is the interface, so "how did the launch go?" in chat replaces reading charts yourself. The web dashboard only manages sites, keys, usage, and billing. Every site also has a full CSV export whenever you want the raw data in a spreadsheet.

Will it interrupt me all the time?

No. Your agent speaks up when there is something worth saying: an unmeasured ship, a real spike, a leaking funnel step. Otherwise it stays quiet. There are no notifications, no emails, and no pings, because everything arrives inside conversations you're already having.

Do I need to replace my current analytics?

No. The script (~1.5KB compressed) runs seamlessly alongside Google Analytics, PostHog, or Plausible. Start with one project to let your agent test the workflow, then decide.

Which coding agents and IDEs work with it?

Any MCP client: Claude Code, Cursor, Windsurf, Codex, VS Code (Roo Code / Cline / Copilot), and whatever ships next. One account key covers every site, and the setup snippet configures the connection in seconds.

Do my visitors see a cookie banner?

Never. Staats is 100% cookieless and stores zero device data. Visitors are hashed daily with a secret rotating salt, and IP addresses are never saved to disk.

Do I have to write custom tracking code?

No. Add a data-staats="event_name" attribute to any button or link, or tell your agent to instrument actions while writing features. For custom triggers, window.staats() is always available.

Does it track errors too?

Yes, on every plan, free included. The tracker captures uncaught JavaScript errors passively: messages are scrubbed of identifying values, no stack traces are collected, and error events never count toward your event quota. Ask your agent what_broke and it reports new errors alongside the deploy that most likely introduced them.

What happens if I go over my plan?

Traffic collection does not stop abruptly. You get a 25% grace buffer: collection only pauses at 125% of your quota, until the month resets. You and your agent both receive proactive warnings from 80% usage.

Can my team use it?

On paid plans, yes: share one invite link and your team joins with their own accounts and their own agents, up to your plan's team size. Seats come with the plan, never billed one by one. If a plan change ever puts you over the allowance, nobody is removed: the site just stops accepting new members until you are back under it.

Can I take my data with me?

Always. Every site has a full CSV export in the dashboard, and deleting a site or your account removes all data immediately and permanently.

Your agent knows the code.
Now show it what happened.

Your first 10,000 events every month are free, setup is one line, and your agent does the rest. There's nothing to cancel and nothing to learn.