@s6s/visibility-mcp
v0.1.0
Published
S6S AI Visibility MCP — audit any brand's visibility across AI engines (ChatGPT, Gemini, Perplexity), get share-of-voice, fix plans, and assemble client-ready proposals from inside Claude, Cursor, or any MCP client.
Maintainers
Readme
S6S AI Visibility MCP
Audit any brand's visibility across AI engines — ChatGPT, Gemini, Perplexity — and assemble client-ready proposals, from inside Claude, Cursor, or any MCP client.
Classic SEO tools (Semrush, Ahrefs, Screaming Frog) ship MCP servers for search. This is the first that serves AI-visibility data: how AI assistants actually mention, cite, and recommend a brand — and what to do about it.
Built for agencies pitching GEO/AI-visibility retainers: snapshot a prospect for free, run a full multi-engine check, pull share of voice and a fix plan, and have your model assemble the proposal that closes the deal.
Install
// Claude Desktop / Cursor MCP config
{
"mcpServers": {
"s6s-ai-visibility": {
"command": "npx",
"args": ["-y", "@s6s/visibility-mcp"],
"env": {
"S6S_API_KEY": "your-key-from-s6s.ai"
}
}
}
}Get a free API key at s6s.ai → Settings → API Keys. readiness_snapshot works without one; every other tool requires a key.
| Env var | Default | Purpose |
|---------|---------|---------|
| S6S_API_KEY | — | Your S6S key (Bearer auth). Required for all tools except readiness_snapshot. |
| S6S_BASE_URL | https://s6s.ai | Override for self-host / staging. |
Tools
| Tool | What it does | Cost |
|------|--------------|------|
| readiness_snapshot(domain) | Free hook. Deterministic AI-readiness audit — AI-crawler access (GPTBot, Google-Extended, PerplexityBot), schema, llms.txt, Wikipedia/Reddit presence. | Free |
| register_brand(domain, targetLocations?) | Auto-discover & register a brand. Does not start monitoring or spend credits. Returns the brandId. | Free |
| check_visibility(brandId) | Full multi-engine check (ChatGPT/Gemini/Perplexity) across the AI App, Local, and Search & Agent surfaces. Polls to completion. | Credits |
| get_report(brandId) | Per-surface scores with confidence states, which engines mention the brand, evidence, limitations. | Free read |
| get_share_of_voice(brandId) | Competitive share of voice — who AI recommends instead. | Free read |
| get_fix_plan(brandId) | Prioritized, engine-specific recommendations tied to the evidence. | Free read |
| get_attribution(brandId) | Before/after attribution for applied fixes, with the confidence floor. | Free read |
Prompt: assemble_proposal(brandId, agencyName?)
Pulls the report, share of voice, and fix plan and assembles a branded, confidence-honest proposal — the artifact that wins the retainer.
The honesty contract
Every score this server returns carries its confidence state and sample size. When you put S6S data in a client deck:
- Never invent or round up a number. Quote the values and confidence labels exactly.
- An "early read" or "directional" result is not a confident result — label it as such.
- Never claim guaranteed ranking/visibility movement. Recommendations are expected to improve readiness; outcomes depend on factors no one controls.
- Fixes are applied with human approval — never describe execution as autonomous.
The assemble_proposal prompt bakes these rules in. They protect both you and your client: honest measurement is the pitch.
What this is not (yet)
Phase 0 has zero site-modifying capability — no auto-publishing, no writes. The fix plan is a set of drafts your team approves and applies. Direct write/execution integrations come later, once measured before/after evidence backs them.
Made by S6S. MIT licensed.
