Export Report
OVERALL SCORE
Level 3, Bot-Aware
- AI Discoverability 57 out of 100
- Agent Ease of Use 54 out of 100
- Security & Trust 82 out of 100
- GEO, AIO and AEO 68 out of 100
- SEO 100 out of 100
- Performance 67 out of 100
- Accessibility 39 out of 100
What AI sees of your website
Real Estate AI | Kurby
AI-powered neighborhood reports for any US address. Get instant insights on safety, schools, walkability, cost of living, and more.
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 | 57 | Needs work | 31 | 2 | 1 | View details |
| Discoverability | 47 | Priority fix | 6 | 0 | 0 | |
| Content Readiness | 66 | Needs work | 21 | 0 | 0 | |
| Bot Access Control | 58 | Needs work | 4 | 2 | 1 | View details |
| Agent Ease of Use | 54 | Needs work | 16 | 4 | 3 | View details |
| API | 50 | Needs work | 4 | 0 | 0 | |
| Auth | 37 | Priority fix | 1 | 0 | 0 | |
| MCP | 37 | Priority fix | 3 | 0 | 0 | |
| Skill Discovery | 50 | Needs work | 5 | 4 | 3 | View details |
| Google Agentic Browsing | 100 | Strong | 3 | 0 | 0 | |
| GEO, AIO and AEO | 68 | Needs work | 10 | 0 | 0 | |
| GEO Readiness | Not Applicable | Not Applicable | 2 | 0 | 0 | |
| AIO Readiness | Not Applicable | Not Applicable | 4 | 0 | 0 | |
| AEO Readiness | Not Applicable | Not Applicable | 4 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| SEO | 100 | Strong | 10 | 0 | 0 | |
| Security & Trust | 82 | Mostly ready | 20 | 0 | 0 | |
| Security & Trust | 82 | Mostly ready | 20 | 0 | 0 | |
| Performance | 67 | Needs work | 12 | 0 | 0 | |
| Performance | 67 | Needs work | 12 | 0 | 0 |
Prioritized recommendations
Issues ranked by score impact
3 items need attention
AI DiscoverabilityBot Access ControlEmerging recommendation
ai.txt policy
ai.txt policy failed at "Validate transport".
62 Fail
AI DiscoverabilityBot Access ControlEmerging recommendation
ai.txt policy
ai.txt policy failed at "Validate transport".
Needs attention
ai.txt policy
Issue
ai.txt appears to be an HTML page or error document rather than a plain-text policy.
Details
Why it matters
ai.txt is a fragmented emerging convention. It can communicate human-readable AI crawling, training, attribution, restriction, and contact guidance, but it is not a standard access-control mechanism and absence should not be penalized.
Check name
ai.txt policy
Score
38/100
Status
fail
Category
Bot Access Control
Maturity
Emerging recommendation
Goal
Publish an advisory human-readable AI usage policy only when the site intentionally needs one.
Result
ai.txt policy failed at "Validate transport".
Validation steps
Validate transport
ai.txt appears to be an HTML page or error document rather than a plain-text policy.
/ai.txt transport is invalid or not plain text
Parse ai.txt policy
Transport validation failed before policy parsing could be trusted.
/ai.txt policy format is missing required sections or non-standard
Validate policy content
ai.txt does not follow the AI Visibility section model; treating it as non-standard advisory text.
/ai.txt content is incomplete or unsafe
Evidence log3 steps · 14 lines
Validate transport [fail]! ai.txt appears to be an HTML page or error document rather than a plain-text policy.INFOValidate transportINFOChecking ai.txt media type, size, line count, and whether the response looks like plain text contentType="text/html; charset=utf-8" length=5425 lineCount=10FAILCompare media type to preferred text/plain transport actual="text/html" expected="text/plain preferred; readable text required"FAILai.txt appears to be an HTML page or error document rather than a plain-text policy.Parse ai.txt policy [fail]! Transport validation failed before policy parsing could be trusted.INFOParse ai.txt policyINFODetecting ai.txt convention from bracket sections, frontmatter, headings, and ai.txt context linksINFODetected policy structure convention="unknown-text" sections=[] markdownHeadings=[]WARNCheck AI Visibility required sections actual="missing identity, permissions, restrictions" expected="identity, permissions, and restrictions" missingRecommended=["attribution","contact","content-types"]WARNTransport validation failed before policy parsing could be trusted.Validate policy content [warning]! ai.txt does not follow the AI Visibility section model; treating it as non-standard advisory text.INFOValidate policy contentINFOChecking required section content, permission/restriction language, attribution, contact details, and safety risks convention="unknown-text"INFODetected policy signals hasPermissionLanguage=false hasRestrictionLanguage=false hasTrainingLanguage=false hasAttributionLanguage=false hasContact=falseWARNCheck required and recommended section coverage actual={"missingRequired":["identity","permissions","restrictions"],"missingRecommended":["attribution","contact","content-types"]} expected={"missingRequired":[],"recommendedPresentWhenPossible":true}WARNai.txt does not follow the AI Visibility section model; treating it as non-standard advisory text.
Agent Ease of UseSkill DiscoveryEmerging recommendation
agents.json
agents.json failed at "Validate Wildcard schema shape".
38 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
agents.json
agents.json failed at "Validate Wildcard schema shape".
Needs attention
agents.json
Issue
agents.json response is not valid JSON.
Details
Why it matters
Wildcard agents.json gives agents workflow-level context beyond plain OpenAPI, including flows, links, examples, and API action structure. It is an emerging OpenAPI-adjacent proposal, so scanners should validate the contract shape without treating it as an A2A or IETF standard.
Check name
agents.json
Score
25/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish a Wildcard-style agents.json file so agents can discover OpenAPI-backed workflows, links, examples, and authentication requirements.
Result
agents.json failed at "Validate Wildcard schema shape".
Validation steps
Discover agents.json
agents.json was found only at the fallback /agents.json path.
agents.json is missing or only available at a fallback path
Validate Wildcard schema shape
agents.json response is not valid JSON.
agents.json schema shape is invalid or incomplete
Validate API actions
Wildcard agents.json must include valid OpenAPI-derived action or operation definitions.
agents.json action definitions are invalid or missing
Validate flows and links
No executable flows were found.
agents.json flows or links are invalid
Review examples and LLM usability
Examples or descriptions are too thin for reliable agent argument generation.
agents.json examples or descriptions need improvement
Evidence log5 steps · 23 lines
Discover agents.json [warning]! agents.json was found only at the fallback /agents.json path.INFODiscover agents.jsonINFOTry agents.json discovery paths in priority order paths=["/.well-known/agents.json","/agents.json"]WARNagents.json candidate path did not return a usable contract path="/.well-known/agents.json" statusCode=404 contentType="text/html; charset=utf-8"PASSFound an agents.json candidate path="/agents.json" statusCode=200 contentType="text/html; charset=utf-8" bytes=5425WARNSelected fallback agents.json location path="/agents.json" requestedUrl="https://kurby.ai/agents.json"WARNagents.json was found only at the fallback /agents.json path.Validate Wildcard schema shape [fail]! agents.json response is not valid JSON.INFOValidate Wildcard schema shapeINFOParse agents.json and classify contract shape shape="unknown"FAILCompare contract shape actual="unknown" expected="wildcard"FAILCompare missing required schema fields actual="none" expected="none"FAILCompare Content-Type with JSON expectation actual=false expected=trueFAILagents.json response is not valid JSON.Validate API actions [fail]! Wildcard agents.json must include valid OpenAPI-derived action or operation definitions.INFOValidate API actionsFAILCompare API action count actual=0 expected="> 0"FAILCompare invalid action definitions actual=0 expected=0FAILWildcard agents.json must include valid OpenAPI-derived action or operation definitions.Validate flows and links [fail]! No executable flows were found.INFOValidate flows and linksFAILCompare workflow flow count actual=0 expected="> 0"FAILCompare operation link issues actual=0 expected=0FAILNo executable flows were found.Review examples and LLM usability [warning]! Examples or descriptions are too thin for reliable agent argument generation.INFOReview examples and LLM usabilityWARNCompare usable example count actual=0 expected="> 0 when actions are present"WARNExamples or descriptions are too thin for reliable agent argument generation.
Agent Ease of UseSkill DiscoveryEmerging recommendation
A2A Agent Card
A2A Agent Card failed at "Probe same-origin A2A endpoint".
14 Fail
Agent Ease of UseSkill DiscoveryEmerging recommendation
A2A Agent Card
A2A Agent Card failed at "Probe same-origin A2A endpoint".
Needs attention
A2A Agent Card
Issue
The same-origin A2A endpoint did not return a valid A2A Message, Task, or authentication challenge.
Details
Why it matters
A2A Agent Cards provide protocol-specific discovery for agent identity, skills, input and output modes, transport bindings, capabilities, and security requirements. Legacy A2A also used /.well-known/agent.json, so scanners must classify the card shape before reporting readiness.
Check name
A2A Agent Card
Score
73/100
Status
fail
Category
Skill Discovery
Maturity
Emerging recommendation
Goal
Publish a version-appropriate A2A Agent Card so A2A-compatible clients can discover agent skills and invoke the declared endpoint safely.
Result
A2A Agent Card failed at "Probe same-origin A2A endpoint".
Validation steps
Discover A2A Agent Card
The A2A Agent Card was found at a legacy or fallback path.
A2A Agent Card is missing or discovered at a non-canonical path
Probe same-origin A2A endpoint
The same-origin A2A endpoint did not return a valid A2A Message, Task, or authentication challenge.
Advertised same-origin A2A endpoint did not answer a safe probe
Evidence log2 steps · 12 lines
Discover A2A Agent Card [warning]! The A2A Agent Card was found at a legacy or fallback path.INFODiscover A2A Agent CardINFOTry A2A discovery paths in priority order paths=["/.well-known/agent-card.json","/.well-known/agent.json","/agent-card.json","/.well-known/a2a/agent-card.json"]WARNA2A candidate path did not return a usable card path="/.well-known/agent-card.json" statusCode=404 contentType="text/html; charset=utf-8"PASSFound an A2A candidate path="/.well-known/agent.json" statusCode=200 contentType="application/json; charset=utf-8" bytes=2495PASSFound an A2A candidate path="/agent-card.json" statusCode=200 contentType="text/html; charset=utf-8" bytes=5425WARNA2A candidate path did not return a usable card path="/.well-known/a2a/agent-card.json" statusCode=404 contentType="text/html; charset=utf-8"WARNSelected non-canonical A2A Agent Card path="/.well-known/agent.json" pathClass="legacy-a2a" requestedUrl="https://kurby.ai/.well-known/agent.json"WARNThe A2A Agent Card was found at a legacy or fallback path.Probe same-origin A2A endpoint [fail]! The same-origin A2A endpoint did not return a valid A2A Message, Task, or authentication challenge.INFOProbe same-origin A2A endpointINFOProbe same-origin A2A endpoint when scanner policy allows itFAILA2A endpoint probe did not validate url="https://kurby.ai/api/a2a" statusCode=200 rpcError={"code":-32602,"message":"Unknown or missing skill. Provide a \"skill\" field. Available: neighborhood_search, neighborhood_compare, crime_analysis, school_lookup, air_quality, climate_risk, flood_zone, walkability, property_tax, nearby_neighborhoods"}FAILThe same-origin A2A endpoint did not return a valid A2A Message, Task, or authentication challenge.
Sign in to see 42 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