Cursor analytics, asked in plain language
Cursor already knows what the page does. This tells it what the page earns. Ask before you rewrite the pricing copy, instead of shipping it and finding out in a month.
MCP is on every plan. Seven days free.
Cursor, reading your own numbers
One command, then ask it anything
Cursor talks to an HTTP MCP server with a bearer key. Nothing is exported and nothing is cached.
- .cursor/mcp.json{"mcpServers": {"geckostats": {"url": "https://geckostats.com/api/mcp","headers": {"Authorization": "Bearer ml_your_site_key"}}}}
1. Add the server
A few lines in .cursor/mcp.json, with a key you generate per website and can revoke whenever you like.
- >is /pricing actually converting, before I rewrite it?? for shortcuts⏺ geckostats - funnel_stats (MCP)(funnel: Landing → Checkout)⎿ /pricing → checkout_click 4.1% · 612 in, 25 out
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.
- 26tools, 24 of them read-only
site_overviewtop_pagestop_sourcestop_goalsbreakdowngeographydevicesrealtimecustomerssubscriptionsvisitorsvisitor_profileretentionlist_funnelsfunnel_statssearch_queriesseo_opportunitiesindex_status+8 more3. 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
- New chat
- Chats
- Projects
- Artifacts
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_goalsbreakdowngeographydevicesrealtimeMoney and people
Who paid, who came back, and what a channel is worth.
customerssubscriptionsvisitorsvisitor_profileretentionlist_funnelsfunnel_statsSearch
Search Console joined to the revenue of the pages it sends people to.
search_queriesseo_opportunitiesindex_statusctr_pressureai_vs_searchSpeed and releases
Core Web Vitals from real visits, and what you shipped when.
vitalsdeploysSetup 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_paymentsPlug GeckoStats into any agent
MCP for your AI tools, a REST API for everything else, and a dashboard that shows what they read.
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 trialAsk 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.
- New chat
- Search chats
- Library
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.
- 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:02And 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.
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.
Starter
For one site and one person.
Billed monthly · up to 100K events
No commitment. Cancel anytime.
- Realtime dashboard
- Live Globe
- User Profiles
- Funnels
- Revenue tracking
- Core Web Vitals
- and 9 more, on every plan
Growth
RecommendedFor several sites and the people who work on them.
Billed monthly · up to 100K events
No commitment. Cancel anytime.
- 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.
Cursor questions
Where does the config go, project or global?
Either. `.cursor/mcp.json` in the repo keeps the key with the project it belongs to, and `~/.cursor/mcp.json` makes it available everywhere. If both define a server with the same name, the project one wins.
Does the key end up in my repository?
It does if you put it in `.cursor/mcp.json` and commit it. Use the global file, or reference an environment variable, or add the file to .gitignore. The key reads one website and nothing else, and you can rotate it in Settings, but it is still a credential.
Can Cursor change my analytics while it edits code?
Twenty-four of the 26 tools are marked read-only by the server. The two that are not add a funnel definition or re-run payment attribution. Nothing an agent does here can delete data or reach your payment provider.
Is this the same data the dashboard shows?
The same, not a copy. Every tool runs the dashboard’s own read path against your database, so a tool returns the figure the dashboard would show for that period or an error.
Do I need a separate plan for this?
No. MCP is included at every size, with no per-call charge beyond the event allowance you already have.
Give Cursor 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
- Overview
- Sources
- Pages
- Campaigns
- Goals
- Customers
- Search
- AI
- Live
- Settings
Copy your key now. You won’t see it again.
ml_live_Qm7xT2vLr9KcH0sWbN8y…4f2aCopyTransport
Client