CanAgentUse tools

UCP Suite

Validate Universal Commerce Protocol discovery, then test product search, carts, checkout links, and merchant handoff flows.

MCP Playground

Connect to remote MCP servers, inspect tools and resources, test prompts, auth, headers, notifications, and JSON-RPC responses.

A2A Playground

Inspect Agent Cards, validate advertised endpoints, and prepare safe requests for agent-to-agent workflows.

Agent Website Viewer

Enter a public URL and see the roles, names, landmarks, controls, and blockers that shape how AI agents understand the page.

SCANNED
Jun 26, 2026, 1:57 AM
VISIBILITY
Public
Rescan Report
Share Report
Copy Report Link
Export Report
51/100

OVERALL SCORE

Level 3, Bot-Aware

Moderate readiness for AI agents
AIDiscoverability38%Agent Easeof Use51%Security& Trust80%GEO, AIO, AEO47%SEO100%Performance64%Accessibility48%
  • AI Discoverability 38 out of 100
  • Agent Ease of Use 51 out of 100
  • Security & Trust 80 out of 100
  • GEO, AIO and AEO 47 out of 100
  • SEO 100 out of 100
  • Performance 64 out of 100
  • Accessibility 48 out of 100

CAPTURED SCREENSHOT

Captured website desktop screenshot

What AI sees of your website

Messenger favicon

Messenger

Hang out wherever, whenever! Messenger makes it easy and fun to stay close to your favourite people

Open Agent View

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.

Fix with MCP / CLI
Detailed report scores grouped by capability area
MetricScoreStatusPassedFailedWarningEvidence
AI Discoverability
38
Priority fix1131View details
Discoverability
40
Priority fix400
Content Readiness
6
Priority fix431View details
Bot Access Control
63
Needs work300
Agent Ease of Use
51
Needs work111View details
Skill Discovery
53
Needs work111View details
GEO, AIO and AEO
47
Priority fix400
GEO Readiness
Not Applicable
Not Applicable100
AIO Readiness
Not Applicable
Not Applicable300
SEO
100
Strong1000
SEO
100
Strong1000
Security & Trust
80
Mostly ready2012View details
Security & Trust
80
Mostly ready2012View details
Performance
64
Needs work1200
Performance
64
Needs work1200

Prioritized recommendations

Issues ranked by score impact

3 items need attention

AI DiscoverabilityContent ReadinessEstablished

Content freshness signals

Content freshness signals is missing or incomplete.

100 Fail

Needs attention

Content freshness signals

Failed check
01

Issue

Content freshness signals are incomplete: missing any valid freshness date in Last-Modified, Schema.org, Open Graph, Dublin Core, generic meta, or sitemap lastmod.

Details

02

Why it matters

Freshness signals help agents, crawlers, and search systems decide whether content is current enough to cite, summarize, cache, or compare against newer sources.

Check name

Content freshness signals

Score

0/100

Status

fail

Category

Content Readiness

Maturity

Established

Goal

Expose modified and published dates for freshness-aware retrieval, citation, and ranking.

Result

Content freshness signals is missing or incomplete.

Validation steps

  1. Validate Last-Modified header

    No valid Last-Modified HTTP header was found.

  2. Validate structured freshness dates

    No Schema.org freshness dates were found.

  3. Validate metadata freshness dates

    No Open Graph, Dublin Core, or generic meta freshness date was found.

  4. Corroborate with sitemap lastmod

    Add a sitemap entry with a valid lastmod for the canonical page URL when sitemap corroboration is useful.

Evidence log4 steps · 16 lines
Validate Last-Modified header [fail]! No valid Last-Modified HTTP header was found.INFOValidate Last-Modified headerINFOReading Last-Modified response headerFAILCheck Last-Modified header is present and parseable actual="missing" expected="valid" alternateDates=[]FAILLast-Modified header is missing or invalidValidate structured freshness dates [fail]! No Schema.org freshness dates were found.INFOValidate structured freshness datesINFOCollecting Schema.org freshness dates from JSON-LD, Microdata, and RDFaFAILCheck structured freshness date count actual=0 expected="> 0" invalidDateCount=0 formats={} alternateDates=[]FAILNo structured freshness dates foundValidate metadata freshness dates [fail]! No Open Graph, Dublin Core, or generic meta freshness date was found.INFOValidate metadata freshness datesINFOCollecting Open Graph, Dublin Core, and generic meta freshness datesFAILCheck metadata freshness date count actual=0 expected="> 0" metaDateCount=0 invalidDateCount=0 alternateDates=[]FAILNo metadata freshness dates foundCorroborate with sitemap lastmod [warning]INFOCorroborate with sitemap lastmodINFODiscovering sitemap candidates and matching the scanned page URL candidateCount=2 attempts=2WARNCheck matching sitemap lastmod actual="no match" expected="valid match when available" robotsStatusCode=200WARNNo matching sitemap lastmod found after sitemap attempts attempts=2

Agent Ease of UseSkill DiscoveryEmerging recommendation

DNS-AID Agent Discovery

DNS-AID Agent Discovery failed at "Validate HTTPS/SVCB shape".

39 Fail

Needs attention

DNS-AID Agent Discovery

Failed check
01

Issue

One or more DNS-AID records could not be parsed as usable HTTPS/SVCB ServiceMode records.

Details

02

Why it matters

DNS-AID lets agents discover index, A2A, and other agent entrypoints before fetching HTTP metadata. HTTPS/SVCB records provide the service-binding substrate, while DNSSEC can authenticate the discovery answer when available.

Check name

DNS-AID Agent Discovery

Score

61/100

Status

fail

Category

Skill Discovery

Maturity

Emerging recommendation

Goal

Publish DNS-AID HTTPS/SVCB records under _agents for DNS-based agent entrypoint discovery.

Result

DNS-AID Agent Discovery failed at "Validate HTTPS/SVCB shape".

Validation steps

  1. Validate HTTPS/SVCB shape

    One or more DNS-AID records could not be parsed as usable HTTPS/SVCB ServiceMode records.

    Malformed record issues
    [
      {
        "ownerName": "star.c10r.facebook.com",
        "rrtype": "HTTPS",
        "ttl": 7200,
        "mode": "unknown",
        "targetName": "45",
        "params": [
          {
            "key": "00",
            "value": "present"
          },
          {
            "key": "02",
            "value": "present"
          },
          {
            "key": "04",
            "value": "present"
          },
          {
            "key": "73",
            "value": "present"
          },
          {
            "truncated": true,
            "omittedCount": 41,
            "originalCount": 45
          }
        ],
        "mandatory": [],
        "alpn": [],
        "endpointIssue": "missing endpoint",
        "unknownParams": [
          "00",
          "02",
          "04",
          "73",
          {
            "truncated": true,
            "omittedCount": 41,
            "originalCount": 45
          }
        ],
        "parseWarnings": [
          "SvcPriority is missing or not numeric."
        ],
        "source": "cloudflare-doh-json",
        "raw": "\\# 45 00 02 04 73 74 61 72 08 66 61 6c 6c 62 61 63 6b 04 63 31 30 72 08 66 61 63 65 62 6f 6f 6b 03 63 6f 6d 00 00 01 00 06 02 68 32 02 68 33"
      },
      {
        "ownerName": "star.c10r.facebook.com",
        "rrtype": "HTTPS",
        "ttl": 7200,
        "mode": "unknown",
        "targetName": "13",
        "params": [
          {
            "key": "00",
            "value": "present"
          },
          {
            "key": "01",
            "value": "present"
          },
          {
            "key": "00",
            "value": "present"
          },
          {
            "key": "00",
            "value": "present"
          },
          {
            "truncated": true,
            "omittedCount": 9,
            "originalCount": 13
          }
        ],
        "mandatory": [],
        "alpn": [],
        "endpointIssue": "missing endpoint",
        "unknownParams": [
          "00",
          "01",
          "00",
          "00",
          {
            "truncated": true,
            "omittedCount": 9,
            "originalCount": 13
          }
        ],
        "parseWarnings": [
          "SvcPriority is missing or not numeric."
        ],
        "source": "cloudflare-doh-json",
        "raw": "\\# 13 00 01 00 00 01 00 06 02 68 32 02 68 33"
      }
    ]
  2. Check DNSSEC authentication evidence

    DNSSEC authentication evidence was not visible for the DNS-AID labels or hostname.

Evidence log2 steps · 18 lines
Validate HTTPS/SVCB shape [fail]! One or more DNS-AID records could not be parsed as usable HTTPS/SVCB ServiceMode records.INFOValidate HTTPS/SVCB shapeFAILCompare parsed DNS-AID record count actual=2 expected="> 0"FAILCompare ServiceMode record count actual=0 expected="> 0"FAILDNS-AID record has parse/shape warnings ownerName="star.c10r.facebook.com" rrtype="HTTPS" mode="unknown" warnings=["SvcPriority is missing or not numeric."]FAILDNS-AID record has parse/shape warnings ownerName="star.c10r.facebook.com" rrtype="HTTPS" mode="unknown" warnings=["SvcPriority is missing or not numeric."]FAILOne or more DNS-AID records could not be parsed as usable HTTPS/SVCB ServiceMode records.Check DNSSEC authentication evidence [warning]! DNSSEC authentication evidence was not visible for the DNS-AID labels or hostname.INFOCheck DNSSEC authentication evidenceWARNCompare DNSSEC authenticated-data flag actual=false expected=trueWARNCompare visible DNSSEC material actual=false expected=trueWARNResolver did not confirm authenticated DNSSEC data name="_index._agents.www.messenger.com" rrtype="HTTPS" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_index._agents.www.messenger.com" rrtype="SVCB" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_a2a._agents.www.messenger.com" rrtype="HTTPS" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_a2a._agents.www.messenger.com" rrtype="SVCB" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_index._agents.www.messenger.com" rrtype="DNSKEY" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="_a2a._agents.www.messenger.com" rrtype="DNSKEY" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="www.messenger.com" rrtype="DNSKEY" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNResolver did not confirm authenticated DNSSEC data name="messenger.com" rrtype="DNSKEY" resolver="cloudflare-doh-json" ad=false dnssecTypes=[]WARNDNSSEC authentication evidence was not visible for the DNS-AID labels or hostname.

Security & TrustSecurity & TrustEstablished

Content-Security-Policy

Content-Security-Policy failed at "Evaluate script execution".

35 Fail

Needs attention

Content-Security-Policy

Failed check
01

Issue

script-src allows dangerous script schemes: blob:.

02

Why it matters

Content Security Policy reduces the impact of injection bugs by limiting where scripts, styles, frames, forms, and other browser resources can load or execute.

Check name

Content-Security-Policy

Score

65/100

Status

fail

Category

Security & Trust

Maturity

Established

Goal

Constrain browser resource loading and script execution with an enforcing Content-Security-Policy header.

Result

Content-Security-Policy failed at "Evaluate script execution".

Validation steps

  1. Evaluate script execution

    script-src allows dangerous script schemes: blob:.

  2. Review hardening directives

    CSP is missing recommended hardening directives: base-uri, form-action.

  3. Review CSP reporting

    CSP does not define a reporting endpoint.

Evidence log3 steps · 12 lines
Evaluate script execution [fail]! script-src allows dangerous script schemes: blob:.INFOEvaluate script executionINFOInspect effective script directive effectiveDirective="script-src" sources=["*.facebook.com","*.fbcdn.net","*.facebook.net","127.0.0.1:*","'nonce-f8ar6UXn'","blob:","'self'","connect.facebook.net","*.messenger.com","'unsafe-eval'","https://*.google-analytics.com","*.google.com"]FAILCompare script execution posture actual={"hasNonce":true,"hasHash":false,"hasStrictDynamic":false,"hasUnsafeInline":false,"hasUnsafeEval":true,"hasWildcardHost":true,"hasBroadScheme":false,"dangerousSchemes":["blob:"]} expected="constrained script sources without unsafe execution allowances" issue="script-src allows dangerous script schemes: blob:."FAILscript-src allows dangerous script schemes: blob:.Review hardening directives [warning]! CSP is missing recommended hardening directives: base-uri, form-action.INFOReview hardening directivesINFOInspect CSP hardening directives objectSrc=["data:","blob:","https://*.fbcdn.net","https://*.facebook.com","*.fbsbx.com","*.messenger.com"] frameAncestors=["'self'"] formCount=1WARNCompare recommended hardening coverage actual=["base-uri","form-action"] expected="no missing object-src/base-uri/form-action requirements" issue="CSP is missing recommended hardening directives: base-uri, form-action."WARNCSP is missing recommended hardening directives: base-uri, form-action.Review CSP reporting [warning]! CSP does not define a reporting endpoint.INFOReview CSP reportingINFOInspect CSP reporting directives reportOnlyHeaderPresent=false reportOnlyDirectives=[]WARNCompare violation reporting configuration actual="no reporting endpoint" expected="report-to or report-uri present" issue="CSP does not define a reporting endpoint."WARNCSP does not define a reporting endpoint.

Sign in to see 39 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.

Fix with MCP / CLI

Score history