Skip to main content
Glama
bolidee

ai-search-audit

by bolidee

ai-search-audit

Find out whether ChatGPT, Gemini and Perplexity recommend your site — and why they don't.

An open-source GEO / AEO auditor and MCP server. No account. No card. Your keys.

CI License: AGPL v3 MCP


Your customers have stopped googling. They ask an assistant "best CRM for small law firms?" and buy whatever it names. If it doesn't name you, you don't exist — and no analytics tool will tell you, because there is no click to measure.

This audits it directly: it asks the questions your buyers ask, records the answers word for word, and shows you which sources the models cite instead of you.

Why another one

Most tools in this space ask the model "what do you think of Acme?" — which tells you nothing, because naming the brand in the prompt guarantees it shows up in the answer.

This asks blind. Your brand never appears in the question, so the answer you get back is the answer a real buyer gets. That is the whole difference between a number you can act on and a number that flatters you.

Three more things a prompt wrapper can't do:

  • Verbatim receipts. Every result carries the exact prompt and the model's raw answer, so you can paste it into ChatGPT yourself and reproduce it.

  • Honest coverage. If an engine fails or rate-limits, the report says so. It never quietly drops an engine and calls the remaining average your score. If a site can't be reached, it refuses to score it rather than inventing a number.

  • A real readiness audit. 11 checks against your actual site — not a prompt.

Related MCP server: ai-visibility-mcp

Quick start — no API keys needed

The readiness audit runs against any site with zero configuration and zero cost:

git clone https://github.com/bolidee/ai-search-audit && cd ai-search-audit
npm install && npm run build
node dist/cli.js readiness yourbrand.com

Not on npm yet. The examples below are written as npx ai-search-audit … for once it is published — until then, substitute node dist/cli.js … from the cloned directory. Everything works today; only the install shortcut is pending.

AI-READINESS  stripe.com                                    82/100

  ✓ Served over HTTPS
  ✓ AI crawlers allowed
  ✓ Structured data (schema.org)
  ✓ llms.txt published (bonus)
  ✓ Title + meta description
  ✓ Readable without JavaScript
  ✓ Canonical URL set
  ✓ Social preview tags (Open Graph)
  ✗ Single, clear H1
      2 H1 tags — ambiguous which is the main topic
  ✗ Images have alt text
      27 of 31 images missing alt text
  ✓ Sitemap referenced
  ✓ No broken internal links

  → 2 issues to fix

(That's real output — stripe.com, unmodified.)

11 checks, all first-party fetches: HTTPS · AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended…) unblocked in robots.txt · schema.org markup · llms.txt · title + meta · readable without JavaScript · canonical · Open Graph · single-H1 structure · image alt-text coverage · sitemap referenced · broken internal links (sampled).

Exits non-zero when checks fail, so you can gate a deploy on it:

- run: npx ai-search-audit readiness ${{ env.SITE }}

Machine-readable output for pipelines:

npx ai-search-audit readiness yourbrand.com --json > report.json

The visibility audit — bring your own keys

To measure what the engines actually say, add whichever keys you have. Any one is enough; more engines means more coverage.

export OPENAI_API_KEY=...      # optional
export GOOGLE_API_KEY=...      # optional
export PERPLEXITY_API_KEY=...  # optional

npx ai-search-audit audit yourbrand.com

It reads your site, infers what you sell, generates the questions your buyers would actually ask, and asks all of them — blind — across every engine you configured.

VISIBILITY  lymexa.com                       0 of 8 answers  ·  0%
  Lymexa — premium pickleball paddles and recovery gear brand, USA

  "What are the best premium pickleball paddles for advanced players?"
    Gemini      ✗ not named  JOOLA, CRBN, Selkirk, Six Zero
    Perplexity  ✗ not named  JOOLA, Selkirk, CRBN, Gearbox

  "Which high-performance pickleball paddle brands are manufactured in the USA?"
    Gemini      ✗ not named  Engage, Paddletek, Selkirk, Thompson Pickleball
    Perplexity  ✗ not named  Engage, Paddletek, Selkirk, GAMMA

  RECOMMENDED INSTEAD
    Selkirk                      4× named
    Therabody                    4× named
    Hyperice                     4× named

  CITATION GAP — cited on the questions you lost
    reddit.com                   7×  Community discussion AI trusts for real opinions
    youtube.com                  6×  Video content AI pulls into answers
    pickleheads.com              4×  Third-party source AI cites instead of you

  ! ChatGPT did not respond — this score covers the rest only.

(Real output, trimmed for length. Note the last line: when an engine fails, the report says so instead of quietly averaging the rest and calling it your score.)

Runs on your own keys — a full audit is typically a few cents.

Use it from your agent

It ships as an MCP server, so Claude, ChatGPT or any MCP-capable agent can run it directly:

claude mcp add --transport stdio ai-search-audit -- npx ai-search-audit mcp

Then just ask:

"Is my site visible in AI search? What's cited instead of me?"

tool

what it does

keys

readiness_check

11-point AI-readiness audit

none

audit_visibility

blind multi-engine visibility + verbatim answers

BYO

citation_gap

sources cited on the questions you lose

BYO

engine_status

which engines this install can query

none

There's also a SKILL.md so agents know how to interpret the numbers — that readiness isn't visibility, that 0% is a normal starting point, and that partial engine coverage must be reported as partial.

Use it as a library

import { checkReadiness } from 'ai-search-audit';

const report = await checkReadiness('example.com');
console.log(report.score, report.checks);

Free vs hosted

Everything here is free forever, self-hosted, AGPL — full capability, no feature locks, no telemetry, no account.

A hosted version exists for the one thing self-hosting genuinely can't give you: scheduled re-runs, stored history, trend lines and alerts — the infrastructure to watch a number move over months without running anything yourself. That's the only difference. If you're happy running it, run it.

Contributing

Issues and PRs welcome. The checks are deliberately conservative: every one has to be something an assistant or its crawler actually depends on, and verifiable by hand. If a check can't be justified that way, it doesn't belong here.

License

AGPL-3.0. Use it, fork it, run it commercially, embed it in your own tooling. If you offer it to others as a hosted service, that service must be open too.


A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Enables AI agents to check whether AI assistants recommend a brand and audit a site's AI-agent readiness, providing visibility scores and specific gaps.
    Last updated
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    Evaluates any website's AI visibility with 15 checks across crawlability, structure, content, and connectivity, and provides actionable fixes.
    Last updated
    5
    MIT
  • A
    license
    -
    quality
    C
    maintenance
    Enables AI assistants to scan brand visibility across ChatGPT, Claude, Gemini & Perplexity, analyze website GEO readiness, compare competitors, and get actionable recommendations.
    Last updated
    MIT

View all related MCP servers

Related MCP Connectors

  • Brand visibility auditing across LLMs, AI search, and answer engines with GEO reports and scores.

  • SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.

  • AI brand visibility analytics: visibility scores, optimizations, video, Reddit, and search rankings.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bolidee/ai-search-audit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server