Hermes agent analytics, asked in the terminal

Hermes runs on a schedule, which is the thing none of the other clients do. Connect it once and the question stops being something you remember to ask: it can look every morning and only speak up when something moved.

MCP is on every plan. Seven days free.

Hermes, reading your own numbers

HermesHermes
>every morning: did anything move overnight?
? for shortcuts
⏺ geckostats - site_overview (MCP)(period: yesterday, compare: previous)
⎿ 412 visitors (−6%), $99 revenue, 1 new customer
How it works

One command, then ask it anything

Hermes talks to an HTTP MCP server with a bearer key. Nothing is exported and nothing is cached.

  1. ~/.hermes/config.yaml
    mcp_servers:
    geckostats:
    url: "https://geckostats.com/api/mcp"
    headers:
    Authorization: "Bearer ml_your_site_key"

    1. Add the server

    A few lines in ~/.hermes/config.yaml, with a key you generate per website and can revoke whenever you like.

  2. >every morning: did anything move overnight?
    ? for shortcuts
    ⏺ geckostats - site_overview (MCP)(period: yesterday, compare: previous)
    ⎿ 412 visitors (−6%), $99 revenue, 1 new customer

    2. Ask in plain English

    No query language and no dashboard to open. It picks the tool, runs it against your data and shows you which one it used.

  3. 26tools, 24 of them read-only
    site_overviewtop_pagestop_sourcestop_goalsbreakdowngeographydevicesrealtimecustomerssubscriptionsvisitorsvisitor_profileretentionlist_funnelsfunnel_statssearch_queriesseo_opportunitiesindex_status+8 more

    3. Read-only, by default

    Twenty-four of the 26 tools are marked read-only by the server. The other two add a funnel or re-run attribution; neither can delete anything or touch your payment provider.

What you can ask

Four kinds of question, the tools your agent reaches for, and what comes back.

  • “Which post paid for itself?” “Why is revenue down this week?”

    overviewsourcescampaigns
  • “Which search queries actually earn?” “Which page is worth another post?”

    search_queriespages
  • “Who paid after reading the blog?” “How long from first visit to payment?”

    customersfunnels
  • “Did the last deploy hurt conversion?” “Who is on the site right now?”

    releasesgoalslive
Claude
  • New chat
  • Chats
  • Projects
  • Artifacts
Recents
Claude Sonnet 4.5
Reply to Claude…Sonnet 4.5
The surface

All 26 tools

Every one runs the dashboard’s own read path, so a tool returns the figure the dashboard would show or an error.

Traffic

The numbers the dashboard opens on, for any period you ask for.

site_overviewtop_pagestop_sourcestop_goalsbreakdowngeographydevicesrealtime

Money and people

Who paid, who came back, and what a channel is worth.

customerssubscriptionsvisitorsvisitor_profileretentionlist_funnelsfunnel_stats

Search

Search Console joined to the revenue of the pages it sends people to.

search_queriesseo_opportunitiesindex_statusctr_pressureai_vs_search

Speed and releases

Core Web Vitals from real visits, and what you shipped when.

vitalsdeploys

Setup and admin

The only two tools in the whole set that write anything are create_funnel and rematch_payments. The other 24 only look.

list_sitessite_installcreate_funnelrematch_payments

Plug GeckoStats into any agent

MCP for your AI tools, a REST API for everything else, and a dashboard that shows what they read.

AI agents

Work with AI agents

Use Claude, ChatGPT, Claude Code, OpenClaw, Grok, GrokBot, Hermes, Cursor or Gemini CLI to read your traffic, revenue, search and funnels through GeckoStats. MCP for the agents, a REST API for your own code.

Start free trial
+Ask anything

Ask your AI about your own numbers

Connect any MCP client with one command or a connector. It reads your traffic, revenue, search and funnels through 26 tools, and only the site whose key you gave it.

ChatGPT
  • New chat
  • Search chats
  • Library
Chats
ChatGPT 5
Ask anything
{ }

A payment from anywhere

Four providers send webhooks on their own. For everything else, one call with the amount and the visitor id, and it lands next to the source that brought them.

Mark every deploy on the chart

One curl at the end of your pipeline puts a release tag on the chart, so a drop in revenue or Core Web Vitals can be read against what you shipped.

deploy.yml
- name: Mark the release
  run: |
    curl -X POST https://your-stats.com/api/releases \
      -H "Authorization: Bearer ml_…" \
      -d '{"name": "v2.4.0", "sha": "$GITHUB_SHA"}'

✓ v2.4.0 on the chart at 14:02

And 6 more, on every plan

Starter and Growth both include every one of these, at every size.
  • Alerts by webhookTracking stopped, revenue down, a page deindexed: each one as a JSON POST to wherever you listen.
  • identify()Tie a visitor to an email from your own code, and every earlier visit joins the customer.
  • Serve the script from your domainA one-line rewrite, so ad blockers never see it. Payments come from the webhook either way.
  • Bearer keys per siteStored as hashes, scoped to one website, revoked from the settings page.
  • Every report as JSONSources, pages, goals, funnels, customers, search: the same read path the dashboard uses.
  • No cookies, no bannerA visitor is a salted hash that rotates every day. Nothing to consent to, nothing to export.
Other clients

The same server, from whatever else you use

Plain HTTP MCP with bearer auth, so the tools and the numbers are identical everywhere. Only the registration differs.

Simple pricing, seven days free

MCP is included at every size, with no per-call charge beyond the event allowance you already have.

How many events a month?Up to 100K events

Starter

For one site and one person.

$17/mo

Billed monthly · up to 100K events

Start 7-day free trial

No commitment. Cancel anytime.

Events a month100K
Sites1
Team seatsJust you
Charged$17 / mo
Included
  • Realtime dashboard
  • Live Globe
  • User Profiles
  • Funnels
  • Revenue tracking
  • Core Web Vitals
  • and 9 more, on every plan

Growth

Recommended

For several sites and the people who work on them.

$35/mo

Billed monthly · up to 100K events

Start 7-day free trial

No commitment. Cancel anytime.

Events a month100K
SitesUp to 30
Team seatsUp to 30
Charged$35 / mo
Included
  • Realtime dashboard
  • Live Globe
  • User Profiles
  • Funnels
  • Revenue tracking
  • Core Web Vitals
  • and 9 more, on every plan

Every plan starts with 7 days free. No commitment, cancel anytime. Prices exclude VAT, which may apply at checkout.

Hermes questions

What does Hermes do that a dashboard does not?

It asks without being asked. Hermes schedules its own runs, so a daily or weekly check on revenue by source happens whether or not you open anything, and you only hear about it when it is worth hearing.

Is the config YAML rather than JSON?

Yes. Hermes keeps its servers in `~/.hermes/config.yaml` under an `mcp_servers` block, with the bearer key as an ordinary header. The key itself is the same one every other client uses.

Can a scheduled agent run up my event allowance?

No. The allowance counts events your visitors generate, not questions an agent asks. Reads over MCP are not charged and are not rate limited beyond that.

Should an autonomous agent have write access?

That is your call, and the surface is small: 24 of the 26 tools only read, and the two that write add a funnel or re-run payment attribution. If you would rather it never wrote, give it a key and simply never ask it to.

Give Hermes the numbers.

One command, and it reads your traffic, revenue, funnels and search from your own database. No exports, no copy-paste.

7 days free · no commitment · cancel anytime

GeckoStats
  • Overview
  • Sources
  • Pages
  • Campaigns
  • Goals
  • Customers
  • Search
  • AI
  • Live
  • Settings

Copy your key now. You won’t see it again.

ml_live_Qm7xT2vLr9KcH0sWbN8y…4f2aCopy
MCP client configuration

Transport

HTTPstdio

Client

Claude CodeCursorVS Code
Connected apps
Claude Code
acme.com · connected just now
Revoke
Cursor
acme.com · connected 14 Sep 2026
Revoke
✓Claude Code connected to acme.com