Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 60 out of 100
- Agent Ease of Use 71 out of 100
- Security & Trust 92 out of 100
- GEO, AIO and AEO 53 out of 100
- SEO 100 out of 100
- Performance 98 out of 100
- Accessibility 91 out of 100
What AI sees of your website
Have I Been Pwned: Check if your email address has been exposed in a data breach
Have I Been Pwned allows you to check whether your email address has been exposed in a data breach.
Next step
Turn this report into a fix workflow
3 failed checks are ready to move into MCP or CLI remediation. Generate a repair prompt, connect the scanner to your coding agent, or open the integration docs before your next rescan.
| Metric | Score | Status | Passed | Failed | Warning | Evidence |
|---|---|---|---|---|---|---|
| AI Discoverability | 60 | Needs work | 19 | 2 | 0 | View details |
| Discoverability | 100 | Strong | 10 | 0 | 0 | |
| Content Readiness | 22 | Priority fix | 6 | 1 | 0 | View details |
| Bot Access Control | 58 | Needs work | 3 | 1 | 0 | View details |
| Agent Ease of Use | 71 | Needs work | 34 | 2 | 2 | View details |
| API | 95 | Strong | 13 | 0 | 0 | |
| Auth | 79 | Mostly ready | 14 | 0 | 0 | |
| MCP | 45 | Priority fix | 2 | 2 | 2 | View details |
| Skill Discovery | 63 | Needs work | 5 | 0 | 0 | |
| GEO, AIO and AEO | 53 | Needs work | 7 | 0 | 0 | |
| GEO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 3 | 0 | 0 | |
| AEO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| SEO | 100 | Strong | 9 | 0 | 0 | |
| SEO | 100 | Strong | 9 | 0 | 0 | |
| Security & Trust | 92 | Strong | 25 | 0 | 0 | |
| Security & Trust | 92 | Strong | 25 | 0 | 0 | |
| Performance | 98 | Strong | 16 | 0 | 0 | |
| Performance | 98 | Strong | 16 | 0 | 0 | |
| Accessibility | 91 | Strong | 6 | 0 | 0 | |
| Accessibility | 91 | Strong | 6 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
AI DiscoverabilityContent ReadinessEmerging recommendation
llms.txt
llms.txt failed at "Fetch root llms.txt".
100 Fail
AI DiscoverabilityContent ReadinessEmerging recommendation
llms.txt
llms.txt failed at "Fetch root llms.txt".
Needs attention
llms.txt
Issue
/llms.txt was not found or could not be fetched.
Why it matters
llms.txt is an emerging Markdown convention for giving language-model clients curated context and links before they crawl broadly. Broken, private, or low-signal links make the file much less useful even when it exists.
Check name
llms.txt
Score
0/100
Status
fail
Category
Content Readiness
Maturity
Emerging recommendation
Goal
Publish a concise llms.txt index that helps agents discover useful public site context.
Result
llms.txt failed at "Fetch root llms.txt".
Validation steps
Fetch root llms.txt
/llms.txt was not found or could not be fetched.
Inspect optional llms-full.txt
Passed.
Evidence log2 steps · 7 lines
Fetch root llms.txt [fail]! /llms.txt was not found or could not be fetched.INFOFetch root llms.txt path="/llms.txt"INFOTrying to fetch /llms.txt url="https://haveibeenpwned.com/llms.txt"FAIL/llms.txt was not found or could not be fetched statusCode=404FAILFetch root llms.txt failed reason="/llms.txt is required for this check."Inspect optional llms-full.txt [informational]INFOInspect optional llms-full.txtINFOTrying to fetch /llms-full.txt url="https://haveibeenpwned.com/llms-full.txt"SKIP/llms-full.txt is not present statusCode=404
AI DiscoverabilityBot Access ControlEstablished
AI bot rules in robots.txt
AI bot rules in robots.txt failed at "Classify AI crawler rules".
69 Fail
AI DiscoverabilityBot Access ControlEstablished
AI bot rules in robots.txt
AI bot rules in robots.txt failed at "Classify AI crawler rules".
Needs attention
AI bot rules in robots.txt
Issue
No explicit User-agent rules were found for major AI crawler tokens.
Why it matters
AI crawler product tokens have different meanings. Explicit robots.txt groups make training, search, and retrieval access policy auditable for compliant crawler operators.
Check name
AI bot rules in robots.txt
Score
31/100
Status
fail
Category
Bot Access Control
Maturity
Established
Goal
Declare deliberate robots.txt rules for major AI training, AI search, user-triggered, and dataset crawlers.
Result
AI bot rules in robots.txt failed at "Classify AI crawler rules".
Validation steps
Classify AI crawler rules
No explicit User-agent rules were found for major AI crawler tokens.
Evidence log1 step · 6 lines
Classify AI crawler rules [fail]! No explicit User-agent rules were found for major AI crawler tokens.INFOClassify AI crawler rulesINFOParsing User-agent groups and Allow/Disallow records for known AI crawler tokens evaluatedPath="/"INFOEvaluating exact User-agent matches before wildcard fallback exactAiPolicyCount=0 totalCrawlerTokens=18FAILNo explicit AI crawler User-agent groups were found examplesExpected=["GPTBot","OAI-SearchBot","ClaudeBot","Google-Extended","CCBot"]FAILCompare explicit AI crawler coverage actual=0 expected="> 0 explicit non-search AI crawler policies" missingTokens=["GPTBot","OAI-SearchBot","ChatGPT-User","ClaudeBot","Claude-SearchBot","Claude-User","Google-Extended","Applebot-Extended","Amazonbot","Amzn-SearchBot","Amzn-User","PerplexityBot"]INFOResolved effective root-path policy for crawler tokens blocked=0 allowed=21 unspecified=0Agent Ease of UseMCPEmerging recommendation
MCP Server Card
MCP Server Card failed at "Validate server-card shape".
60 Fail
Agent Ease of UseMCPEmerging recommendation
MCP Server Card
MCP Server Card failed at "Validate server-card shape".
Needs attention
MCP Server Card
Issue
MCP Server Card is missing required fields: protocolVersion.
Details
Why it matters
MCP server cards give agents a stable, public pre-connection discovery surface for server identity, remote transports, protocol compatibility, and safe routing without guessing endpoints.
Check name
MCP Server Card
Score
40/100
Status
fail
Category
MCP
Maturity
Emerging recommendation
Goal
Publish an MCP Server Card that helps agents discover remote MCP server transports before opening a session.
Result
MCP Server Card failed at "Validate server-card shape".
Validation steps
Discover MCP server card
The MCP server card was found only at a transitional or linked path.
Validate server-card shape
MCP Server Card is missing required fields: protocolVersion.
Missing required fields
- protocolVersion
Invalid remotes
- #0 (transport) - missing url or endpoint
Compatibility warnings
- Card uses the transitional serverInfo/protocolVersion/transport shape instead of the current remotes[] model.
Validate MCP remotes
At least one MCP remote transport is invalid.
Probe same-origin MCP endpoint
No MCP remote endpoint could be probed.
Evidence log4 steps · 31 lines
Discover MCP server card [warning]! The MCP server card was found only at a transitional or linked path.INFODiscover MCP server card candidateCount=5INFOBuild MCP server-card candidate list currentPath="/.well-known/mcp-server-card" transitionalPaths=["/.well-known/mcp/server-card.json","/.well-known/mcp/server-cards.json","/mcp.json","/.well-known/mcp.json"] linkedPaths=[]INFOTrying to fetch /.well-known/mcp-server-card url="https://haveibeenpwned.com/.well-known/mcp-server-card" source="current"FAIL/.well-known/mcp-server-card did not return a usable server card statusCode=404 contentType="text/html; charset=utf-8"INFOTrying to fetch /.well-known/mcp/server-card.json url="https://haveibeenpwned.com/.well-known/mcp/server-card.json" source="transitional"PASS/.well-known/mcp/server-card.json returned a successful response statusCode=200 contentType="application/json; charset=utf-8" finalUrl="https://haveibeenpwned.com/.well-known/mcp/server-card.json"INFOTrying to fetch /.well-known/mcp/server-cards.json url="https://haveibeenpwned.com/.well-known/mcp/server-cards.json" source="transitional"FAIL/.well-known/mcp/server-cards.json did not return a usable server card statusCode=404 contentType="text/html; charset=utf-8"INFOTrying to fetch /mcp.json url="https://haveibeenpwned.com/mcp.json" source="transitional"FAIL/mcp.json did not return a usable server card statusCode=404 contentType="text/html; charset=utf-8"INFOTrying to fetch /.well-known/mcp.json url="https://haveibeenpwned.com/.well-known/mcp.json" source="transitional"FAIL/.well-known/mcp.json did not return a usable server card statusCode=404 contentType="text/html; charset=utf-8"WARNCheck selected card is published at the current well-known path actual="/.well-known/mcp/server-card.json" expected="/.well-known/mcp-server-card" source="transitional" finalUrl="https://haveibeenpwned.com/.well-known/mcp/server-card.json"WARNMCP server card was discovered through a transitional or linked path path="/.well-known/mcp/server-card.json" source="transitional" reason="The MCP server card was found only at a transitional or linked path."Validate server-card shape [fail]! MCP Server Card is missing required fields: protocolVersion.INFOValidate server-card shape profile="legacy-server-card"PASSCheck response body parsed as JSON actual=true expected=truePASSCheck Content-Type is JSON-compatible actual=true expected=trueWARNCheck recognized MCP server-card profile actual="legacy-server-card" expected="sep-2127-draft" reason="Document uses the transitional serverInfo/protocolVersion/transport metadata model."FAILCheck required card fields are present actual=1 expected=0 missing=["protocolVersion"]WARNCheck MCP server-card uses the current remotes[] profile without legacy compatibility warnings actual="1 compatibility warning(s)" expected="current sep-2127-draft card shape with no legacy compatibility warnings" warnings=["Card uses the transitional serverInfo/protocolVersion/transport shape instead of the current remotes[] model."]FAILMCP server-card shape validation failed reason="MCP Server Card is missing required fields: protocolVersion."Validate MCP remotes [fail]! At least one MCP remote transport is invalid.INFOValidate MCP remotes remoteCount=1PASSCheck at least one MCP remote is declared actual=1 expected="> 0"FAILCheck invalid remote count actual=1 expected=0 invalidRemotes=[{"index":0,"source":"transport","issues":["missing url or endpoint"]}]WARNCheck same-origin remote coverage actual=0 expected=1FAILRemote #0 is invalid index=0 source="transport" type="streamable-http" authRequired=false issues=["missing url or endpoint"]FAILMCP remote validation failed reason="At least one MCP remote transport is invalid."Probe same-origin MCP endpoint [warning]! No MCP remote endpoint could be probed.INFOProbe same-origin MCP endpoint probeCount=0INFOSelecting same-origin unauthenticated MCP remotes for a bounded initialize probeWARNCheck successful initialize probe count actual=0 expected="> 0 when a safe same-origin unauthenticated remote exists" activeProbeCount=0 authBlocked=0WARNMCP endpoint probe could not fully confirm operability reason="No MCP remote endpoint could be probed."
Sign in to see 29 other issues and the full report
Create a free account to unlock every issue, evidence details, exports, and higher free limits.
Fix with MCP or CLI
Use this report as the handoff into remediation. Generate a coding-agent prompt with the failing checks attached, or jump to the MCP and CLI setup docs before your next rescan.
Score history