Fewer dashboards. More answers.
Analytics tools spent a decade teaching people to read charts. Models changed the job: now the tool has to answer the question.
A question is a better interface than a dashboard.
Dashboards answer the questions someone had six months ago. Real work starts with a question nobody prepared a chart for. Analytics should let you ask it in your own words and get a number back.
Models read aggregates. People stay out of the context window.
An assistant does not need visitor-level records to tell you traffic moved. It needs counts, ranks, and time series. So that is all we expose.
Read-only is a feature, not a limitation.
An analytics assistant that can write to your data is a liability. Ours cannot create, edit, or delete anything. Every request is authenticated, and every tool is one you can allow or block from your own client.
Answers should be traceable to a query.
Every answer comes from a live call to your workspace, with the date range and filters visible in the tool call. If you cannot see which query produced a number, it is a guess with good grammar.
First-party data is the only data worth asking about.
Server-side, cookieless, collected on your own domain. That is what makes an answer worth acting on after consent, ad blockers, and browser limits have thinned everyone else's numbers. Better inputs beat better prompts.
Agents are visitors too.
GPTBot, ClaudeBot, and PerplexityBot read your site the way people once read search results. That traffic belongs in your analytics, named and attributed. Measuring how models see you is now part of measuring your audience.
The product this turned into.
Hardal MCP is one remote server URL. Add it to Claude, ChatGPT, Codex, or any other MCP client and ask about traffic, events, sessions, and campaigns in plain language, against read-only aggregates from your own workspace.