Skip to main content
Glama
AdevAarons

Specularis AI Visibility Audit

by AdevAarons

Specularis AI Visibility Audit — MCP Server

Run a free AI visibility (GEO/AEO) audit on any website from inside Claude, ChatGPT, or any MCP client — check whether ChatGPT, Claude, Perplexity and Gemini can reach, read and cite it, and find the sources they cite instead.

Hosted endpoint (Streamable HTTP):

https://specularis-mcp-audit-production.up.railway.app/mcp

No installation needed — it's a remote MCP server. Add the URL above and you're done.

Connect it

Claude (claude.ai or Claude Desktop): Settings → Connectors → Add custom connector → paste the URL above.

Claude Code:

claude mcp add --transport http specularis-audit https://specularis-mcp-audit-production.up.railway.app/mcp

Then in any chat: "Audit example.com for AI visibility" — the tool runs.

Related MCP server: SEO/AEO Audit MCP

Tools

Tool

What it does

run_ai_visibility_audit(website_url, email?, name?, role?)

Instant in-chat snapshot: AI crawler access (GPTBot, ClaudeBot, PerplexityBot, CCBot, Google-Extended), JSON-LD structured data, and llms.txt. Include an email to also receive the full scored report — 0–100 across six pillars — as a PDF. role accepts Real Estate Agent, Attorney, Founder or Other and tilts the scoring toward local entity signals, reviews and directories.

find_ai_citations(query, domain)

Given a buyer question ("best personal injury lawyer in Miami") and a domain, returns the sources AI engines actually cite when answering it, tagged by engine, plus an appears in X of N count for the domain. The ranked source list is the off-site target list.

book_strategy_call()

Returns a link to book a strategy call with Specularis.

Passing email to run_ai_visibility_audit sends a report and registers the person as a Specularis lead. Omit it for the snapshot alone.

Without an MCP client

The same scan engine is reachable over plain HTTP, with no key and no connector:

curl -s "https://specularis-mcp-audit-production.up.railway.app/api/scan?d=example.com"

Pass a bare hostname — no scheme, no path. It returns the full structured scan: per-bot fetch results, browser-vs-bot word counts for render-gap detection, parsed schema types, llms.txt, sitemap, and the six pillar scores. Useful for scanning domains in bulk.

If inconclusive is true, the scan could not complete — read inconclusiveReason and don't report a score.

What the full audit measures

Each bot is fetched with its real published user agent, so the result is what the engine itself would receive — not what a browser sees.

The report scores six pillars out of 100:

Pillar

Max

What it covers

access

20

Whether GPTBot, ClaudeBot and PerplexityBot can actually reach and receive the page

entity

15

Organization / Person / LocalBusiness schema, sameAs, address

content

15

Whether the text answers the questions buyers actually ask

offsite

30

The directories, review platforms and threads AI engines cite

freshness

10

Whether the content is maintained

technical

10

Sitemap, llms.txt, render gaps, crawlability

offsite is deliberately the largest pillar — more than access and entity combined. That reflects how the engines behave: they cite third-party corroboration far more often than a company's own marketing pages, so a technically flawless site can still be invisible.

A note on measuring "blocked". A real block is a 403, or a genuine interstitial with under 80 words of page text. Bot-protection layers return challenge pages intermittently, and counting those as blocks inflates the result — we published numbers once that were wrong for exactly this reason, and corrected them. Re-run before reporting a block.

Across 561 US businesses scanned in 2026, roughly half were effectively invisible to AI engines.

Use it as an agent skill

SKILL.md packages this as a portable agent skill in the open SKILL.md format — when to run an audit, how to read every field it returns, and the order to apply the fixes in. It works against either the MCP tools or the HTTP endpoint above.

Self-hosting

The server is a single-file Node app (Streamable HTTP transport).

npm install
npm start

Point any MCP client at http://localhost:3000/mcp.

Variable

Purpose

N8N_WEBHOOK_URL

Backend audit engine endpoint for the full PDF report

CONTACT_URL

Booking link returned by book_strategy_call

AUDIT_URL

Web-form fallback link included in responses

PORT

Listen port (default 3000)

PERPLEXITY_API_KEY

Primary engine for find_ai_citations

ANTHROPIC_API_KEY

Adds Claude as a second engine

GEMINI_API_KEY

Adds Gemini as a third engine

OPENAI_API_KEY

Adds ChatGPT as a fourth engine

OPENAI_MODEL

Model for the ChatGPT engine (default gpt-5-mini)

FINDER_DAY_MAX

Global daily cap on citation-finder runs (default 250)

find_ai_citations needs at least one engine key. The engines array in each response reports which ones actually ran, so only claim the engines it names.

Who's behind it

Built by Specularis — a GEO/AEO agency helping businesses get found and cited by AI engines. The audit is free; the report is the real deliverable.

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Evaluates any website's AI visibility with 15 checks across crawlability, structure, content, and connectivity, and provides actionable fixes.
    1 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables auditing AI search visibility: checks site readiness for AI crawlers and measures whether ChatGPT, Gemini, and Perplexity recommend your site, including verbatim answers and citation gap analysis.
    59 npm
    4
    AGPL 3.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to audit a website's AI visibility by checking crawler access, identity files, and page signals, and running a full scored audit across ChatGPT, Claude, Gemini, and Perplexity.
    10
    16 npm
    MIT