Install
$ agentstack add mcp-vijaychauhanseo-brand-ai-rank-tracker ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Brand AI Rank Tracker
The first open-source Chrome extension that tells you what Google's AI Overviews and AI Mode actually do with your brand — in real time, on your own browser, with your own data.
[](#install) [](manifest.json) [](LICENSE) [](#privacy) [](#mcp-bridge)
Reverse-engineering Google's AI black box, one capture at a time.
Why this exists
Every paid SEO tool (Semrush, Ahrefs, Sistrix, Similarweb) tells you your organic rank. None of them tell you the things that actually matter in 2026:
- Was your brand cited in the AI Overview?
- Was it grounded (used as a source) but hidden from view?
- Did you appear in the considered pool but get filtered out at display time?
- When you "lost visibility" — did Google drop you from the pool, or just from the panel?
- How fast does Google re-rank your sources between turn 1 and turn 2 of AI Mode?
Brand AI Rank Tracker answers all of these. It runs locally in your browser, captures every AIO + AIM response Google serves you, parses the hidden DOM signals (ELRC tokens, CSI timings, MAGI shadow responses, Maps injection), and builds you a private intelligence dashboard.
No cloud. No API key. No SaaS. No data leaves your machine.
Table of contents
- [What it does](#what-it-does)
- [Screenshots](#screenshots)
- [Install](#install)
- [Quick start](#quick-start)
- [Feature deep-dive](#feature-deep-dive)
- [The "lane" model](#the-lane-model)
- [DEJAN Research Lens](#dejan-research-lens)
- [Response Forensics](#response-forensics)
- [MCP bridge](#mcp-bridge)
- [Privacy](#privacy)
- [FAQ](#faq)
- [Roadmap](#roadmap)
- [License](#license)
What it does
Brand AI Rank Tracker watches every Google search you run and, when an AI Overview or AI Mode response appears, it captures the full structured payload:
| Surface | What it captures | |---|---| | AI Overview (AIO) | Citations, sidebar cards, inline links, grounding hosts, organic pool, MAGI payload, considered-but-not-shown sources, entities, products, places | | AI Mode (AIM) | Same as AIO + fan-out queries, follow-ups, conversation chain, related queries, source carousel, knowledge graph | | Hidden signals | ELRC tokens (10 types incl. data-sr-elrc for reranking), CSI gen_204 timings, Maps vertical injection, MAGI shadow responses | | Outcome | Bucketed into one of four lanes: visible citation win / grounded only / organic only / missing |
Then it gives you:
- A popup with today's lane changes ("↑ 3 gained visible · ↓ 1 lost visible since yesterday")
- A Command Center dashboard with KPIs, mentions tracker, capture diff, and a watchlist runner
- A DEJAN Research Lens that compares published baselines against your own observed rank curve
- A Pool→Display filter card exposing domain survival rates, position-gap aggression, and video injection patterns
- MCP server so any LLM (Claude Code, Claude Desktop, Codex) can query your capture data directly
Screenshots
> Drop your screenshots into docs/screenshots/ and they'll render here. Placeholder structure below — see [docs/SCREENSHOTGUIDE.md](docs/SCREENSHOTGUIDE.md) for the exact captures to grab.
| Popup — lane changes today | Command Center | Mentions Tracker with Lane Δ | |---|---|---| | | | |
| DEJAN Research Lens | Pool→Display Filter | Response Forensics | |---|---|---| | | | |
Install
1. Download
git clone https://github.com/vijaychauhanseo/brand-ai-rank-tracker.git
cd brand-ai-rank-tracker
Or download the latest release zip and unzip it.
2. Load into Chrome
- Open
chrome://extensions - Toggle Developer mode on (top right)
- Click Load unpacked
- Select the
brand-ai-rank-trackerfolder
The extension icon should appear in your toolbar. Pin it.
3. Configure your brand
Click the extension icon → Settings (gear). Set:
- Brand name — e.g.
Ahrefs - Primary domain — e.g.
ahrefs.com - Competitor domains — comma-separated list (e.g.
semrush.com, moz.com, similarweb.com)
That's it. Run a few Google searches with AI Overviews enabled, and your dashboard will start filling up.
Quick start
- Run a search. Open Google and search something your brand cares about — e.g.
best seo tools 2026orbacklink checker. If an AI Overview renders, the extension captures it silently. - Click the icon. You'll see today's lane changes and the latest capture.
- Click "View all". Opens the full Command Center dashboard.
- Set up a watchlist. In the dashboard → Brand Watchlist Runner, paste your tracked queries. The extension will run them on a schedule (daily/weekly) and log lane transitions.
Feature deep-dive
The "lane" model
Most SEO tools think binary: ranked or not ranked. AI search is four-dimensional. Every query/brand pair lands in exactly one lane:
| Lane | Meaning | What it tells you | |---|---|---| | 🟢 Visible citation win | Your brand appears as a clickable citation in the AIO/AIM panel | You won the panel. Click-eligible. | | 🟡 Grounded only | Google used your page as a grounding source but didn't display it | You influenced the answer but lost the click | | 🔵 Organic only | You rank in the 10 blue links but Google didn't consider you for AI | The AI passed you over | | 🔴 Missing | Not in citations, not grounded, not in organic top 10 | True absence |
The popup banner aggregates today's transitions across all your tracked queries — "↑ 3 gained visible · ↓ 1 lost visible · 2 newly grounded · 4 other" — and lets you click through to the affected queries.
This is the foundation. Everything else builds on it.
DEJAN Research Lens
Inspired by Dan Petrovic's DEJAN.ai research on AI Overview source selection, but honest about which numbers are real vs published baselines.
- Real per-query data: organic rank, pool rank, shown rank, used-by-Google flag, selection rate
- Heuristic (clearly labelled): Keyword echo, Sentence echo, Self-ref flag (token-overlap, NOT Google attribution)
- Observed curve: when you have ≥5 captures at a given rank, the lens silently swaps DEJAN's published curve for your own observed curve with sample-size annotation
(n=47)
You can demo this live: "DEJAN published 28% shown at #1. My 1,132 captures show #1 shown at 34%, n=87." That's not theory — that's your data.
See [docs/DEJANLENS.md](docs/DEJANLENS.md) for the full methodology.
Response Forensics
Per-capture intelligence pulled straight from the DOM that Google never meant you to read:
- ELRC tokens —
data-elrc,data-sr-elrc,data-rerank, etc. Surface session-level signals like reranking pass and SR reload between turns. - CSI timings — parses
/gen_204?rt=...beacons forsirt-aimc,sart-aimc,art,imn,irfi,irli. Real client-side render latency per response. - Maps injection — detects
/maps/vt?...categorical-search-results-injection, confirming geo-vertical insertion with KG entity attachment. - Shadow AIO — when MAGI payload is present but no AIO renders, surfaces as
aioStatus: magi_only. (Most tools throw this away. We count it.)
See [docs/RESPONSEFORENSICS.md](docs/RESPONSEFORENSICS.md).
Pool → Display filter intelligence
Three metrics no paid tool surfaces, inspired by the AIO/AIM research of Olivier de Segonzac:
- Domain survival leaderboard — per-domain pool→display rate. "Semrush: 87 pooled, 34 displayed, 39% survival."
- Position-gap aggression — average distance between consecutive displayed
positionvalues per capture. Higher = Gemini filtered out more candidates. - Video injection detection — flags YouTube/Vimeo cards displayed in citations without prior pool appearance. Confirms (or refutes) the "~95% video injection without pool entry" pattern against your data.
Capture diff
Pick any two captures of the same query (e.g. yesterday vs today, pre-update vs post-update) and see a structured diff:
- Lanes (yours and competitors)
- Citations added/removed
- Grounding sources changed
- Answer text token-diff
- Lane event annotations if a transition occurred between the two
Watchlist runner
Schedule queries to re-run automatically (daily / weekly / manual). Each run captures fresh, logs a lane_event_* record if anything changed, and bubbles changes up to the popup banner.
MCP bridge
The mcp_bridge.js script writes every capture to ~/.brand-ai/data.db via a native messaging host. A FastMCP server then exposes 5 tools to any MCP-aware client (Claude Code, Claude Desktop, Codex CLI):
list_projectsquery_rank_historyget_aio_citationsraw_sql(SELECT only)sync_status
This means you can ask Claude: "What's my 'backlink checker' rank history for the last 30 days, broken down by lane?" and it queries your local capture DB directly. No exports. No CSVs. No API.
Setup: see [docs/MCPSETUP.md](docs/MCPSETUP.md).
Privacy
Everything stays on your machine.
- ✅ No external API calls
- ✅ No analytics, no telemetry, no phone-home
- ✅ All data in
chrome.storage.local+ optional local SQLite (~/.brand-ai/data.db) - ✅ Open source — read every line yourself
- ⚠️ Requires the
debuggerpermission to read CSI gen_204 beacons. You'll see Chrome's yellow "is debugging this browser" bar when active captures are running. That's expected — it's the price of seeing what Google sees.
Uninstall = chrome://extensions → Remove. Done. Nothing left behind except the optional ~/.brand-ai/ folder you can delete manually.
FAQ
Q: Does this work with Google AI Mode (the chat experience)? Yes. AIM captures include fan-out queries, follow-ups, conversation chain, related queries, and the source carousel. Same lane model.
Q: How is this different from Semrush AI Tracker / Ahrefs Brand Radar? Those tools poll a small set of queries from a cloud crawler. They miss session signals (reranking), can't see grounding, can't detect shadow MAGI responses, and can't run AI Mode. You're seeing the panel from your IP with your account state — closest possible to what Google serves your users.
Q: Won't this slow down my browsing? No. Captures fire on document_end only for *.google.com and finish in
Built for SEOs who got tired of waiting for Ahrefs to ship an AIO feature.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: vijaychauhanseo
- Source: vijaychauhanseo/brand-ai-rank-tracker
- License: MIT
- Homepage: https://github.com/vijaychauhanseo/brand-ai-rank-tracker
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.