getAdvantage MCP
officialScan how ChatGPT and Claude read your app, see who they name instead of you, and get the paste-ready fixes (llms.txt, JSON-LD, FAQ, meta) to get found.
What can you do with getAdvantage MCP?
-
Run an AI-readability scan — Ask your assistant to call
get_foundon a live URL to score how legible the page is to AI engines across nine signals, with paste-ready fixes. -
Check conversion readiness — Use
convert_checkto measure whether a first-time visitor would sign up, including a 5-second cold-read test on paid plans. -
Verify shipped safety — Invoke
ship_verifiedto run deterministic checks for common exposures like secrets in client bundles, security headers, and CORS issues. -
Run all three scans at once — Call
combined_scanto get Get Found, Convert, and Ship Verified results in one payload with an intersection summary and permalink.
Documentation
API & MCP docs
Run the three Advantage scans from your own code, your CI, or from inside your AI editor. Get Found measures how AI reads a live URL. Convert measures whether a first-time visitor would sign up. Ship Verified checks what the page shipped that it shouldn't have. Every result is an observed measurement at scan time — never a verdict, certification, or guarantee.
The API is free to try without a key at a per-IP rate. An API key raises the rate to your plan's tier and returns live model output on a paid plan. The machine-readable spec is at /api/openapi.json.
**Why wire it in once?**So you don't hand-maintain AEO. Drop the embed or one API call into your CI and the DOM-safe fixes (JSON-LD, meta, FAQ) keep applying themselves; we re-check as ChatGPT, Perplexity, Gemini & Claude change how they read sites, so your scores stay current without you chasing the target. A neutral tool keeps continuous watch on AI-visibility and shipped-safety — independent oversight, not a one-time audit. (Your llms.txt and robots.txt stay files you place once.)
Authentication
Create a key at /app/api-keys (shown once — store it as an environment secret, never commit it). Send it as a Bearer token on any request:
curl "https://getadvantage.app/api/analyze?url=https://yourapp.com" \
-H "Authorization: Bearer adv_live_…"
Without the header you get the keyless free tier (per-IP rate, sampled output). With a key, the rate follows your plan and a paid plan returns live model output. Over the limit returns HTTP 429 with a retry-after header; an invalid key returns 401.
Rate limits
Limits are observed per key (or per IP, keyless) at request time:
- Keyless: 5/min · 30/day, sampled output
- Starter: 60/min · 1,000/day, live output
- Pro: 120/min · 5,000/day, live output
- Agency: 240/min · 20,000/day (fair use), live output
The combined endpoint counts as one tick at the same per-engine rate (it never charges three times for one call).
Endpoints
GET /api/analyze?url=
Get Found — AI-readability scan (9 signals)
Scores how legible the page is to AI engines across nine signals (title, meta description, structured data, headings, llms.txt, content-to-markup ratio, Open Graph, canonical, robots). Returns a per-signal breakdown, paste-ready fixes, and a generated starter llms.txt.
curl "https://getadvantage.app/api/analyze?url=https://yourapp.com"
GET /api/verify-convert?url=
Convert — conversion readiness + 5-second cold-read
Scores the signals that decide whether a first-time visitor understands the app and signs up. On a paid key it also runs an agentic 5-second first-impression test. Returns checks, fixes, a benchmark percentile, and a shareable /v report.
curl "https://getadvantage.app/api/verify-convert?url=https://yourapp.com"
GET /api/verify-safety?url=
Ship Verified — shipped-safety checks + badge
Runs deterministic checks for common vibe-coded exposures (secrets in the client bundle, backend config, exposed files, security headers, CORS, transport, source maps). A passing check means we did not find that specific issue — never that the app is secure or certified. Returns checks, fixes, a benchmark percentile, a /v report, and a “Checked by Advantage” badge.
curl "https://getadvantage.app/api/verify-safety?url=https://yourapp.com"
POST /api/v1/scan/combined
Combined — all three engines, one call
Runs all three engines over one URL and returns one payload: three independent score blocks (never averaged), an intersection summary naming the weakest dimension and the single biggest next move, and one permalink. The fastest way to get the whole picture in a single request.
curl -X POST "https://getadvantage.app/api/v1/scan/combined" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer adv_live_…" \
-d '{"url":"https://yourapp.com"}'
MCP server — scan from inside your editor
Advantage is also a Model Context Protocol server, so you can add it once to Claude Code, Cursor, Claude Desktop, or Windsurf and just type “scan my app with getadvantage”. It speaks remote Streamable HTTP (the current official remote transport) — zero install, the scans run on our servers. It exposes four tools: get_found, convert_check, ship_verified, and combined_scan. Each leads with the score and the single biggest paste-ready fix, and includes the report link.
Add it (Cursor / Claude Desktop / Claude Code)
Drop this into your MCP client config:
{
"mcpServers": {
"getadvantage": {
"url": "https://getadvantage.app/api/mcp"
}
}
}
With an API key (higher rate, live output), add the header:
{
"mcpServers": {
"getadvantage": {
"url": "https://getadvantage.app/api/mcp",
"headers": { "Authorization": "Bearer adv_live_…" }
}
}
}
Or, in Claude Code, one line:
claude mcp add --transport http getadvantage https://getadvantage.app/api/mcp
The MCP server is free to try without a key at the keyless rate; a key raises the rate and returns live output, exactly like the HTTP API.
Want to track sites, see history, and auto-apply fixes via the embed? Create an account — or scan one app free first.