Is firmly.ai agent ready?

firmly.ai is not yet agent ready: it scores 40/100 (grade D) on the w2agent rubric. Weakest areas: Agent Protocols (8), Structured Data (22), Agent Auth (33), Bot Accessibility (43), Agent Discovery (47).

40/ 100
Grade: D

Last checked

Scored Oct 14, 2026 · Rubric v3.0

Changed since last check

+2 points since the previous check (2026-09-16)

Fixed: llms.txt follows spec, Developer portal

Regressed: Reachable as Google-Agent, Reachable as Perplexity-User

Changed: Response time (partial → fail), Agent/bot auth documentation (fail → partial)

Category scores

Technical
75
Agent Auth
33
Agent Discovery
47
Agent Protocols
8
Content Quality
65
Structured Data
22
Bot Accessibility
43

Agent protocol panel

  • A2A agent cardNot found
  • OAuth discoveryNot measured
  • MCP discoveryNot found
  • llms.txt validityPresent

Check results

Bot Accessibility

  • ✓No error status codespass
  • ✗Response timefail
  • ✗XML sitemap existsfail
  • ✓AI agent accesspass
  • ?Edge treatment of agent user-agentstracked, not scorederror
  • ✗robots.txt existsfail
  • ✗Content negotiation (Markdown)fail
  • —Declared AI usage preferencestracked, not scoredskip

Structured Data

  • ✓OpenGraph meta tagspass
  • ✓Semantic HTML elementspass
  • ✗Appropriate Schema.org typefail
  • —JSON-LD validskip
  • ✗Heading hierarchyfail
  • ✗Schema.org JSON-LD presentfail
  • ✗Schema.org completenessfail

Content Quality

  • ✗FAQ contentfail
  • ✓Answer-first contentpass
  • ✓Content lengthpass
  • ✓Token efficiency (HTML-to-text ratio)pass
  • ✗Freshness signalsfail
  • ✗Author attributionfail
  • ✓Citation readinesspass
  • ✓Lists and tables for structured infopass

Agent Discovery

  • ✓llms.txt follows specpass
  • ✓llms.txt existspass
  • —MCP server cardtracked, not scoredskip
  • ✗Markdown alternate linksfail
  • ✗/.well-known/agent-card.jsonfail
  • ✓llms.txt links resolvepass

Agent Protocols

  • ✗Discoverable API endpointsfail
  • ✗MCP endpointfail
  • ✗Action schemasfail
  • —/.well-known/ucpskip
  • ✗Structured formsfail
  • —WebMCP imperative APItracked, not scoredskip
  • —WebMCP declarative APItracked, not scoredskip
  • ✗Reachable as Google-Agentfail
  • ✓Reachable as ChatGPT-Userpass
  • ✗Reachable as Perplexity-Userfail

Agent Auth

  • —MCP authorization (401 challenge → protected resource metadata)skip
  • ✗PKCE S256 supportfail
  • ✗Public API surfacefail
  • —Client ID Metadata Documents (bonus)skip
  • —OpenAPI specificationskip
  • ~Agent/bot auth documentationpartial
  • —OAuth discovery chain (RFC 9728 → RFC 8414)skip
  • ✓Developer portalpass
  • ✗Scoped API permissionsfail
  • —API catalog (RFC 9727)skip
  • —Agent operator signing directorytracked, not scoredskip

Technical

  • ✓HTTPSpass
  • ✓UTF-8 charsetpass
  • ✗Canonical URLsfail
  • ✓Mobile viewportpass
  • ✓Content accessible without JSpass
  • ~Security headerspartial

Score history

  • 40/100 · rubric v3.0
  • 38/100 · rubric v3.0
  • 38/100 · rubric v3.0
  • 43/100 · rubric v2.0
  • 43/100 · rubric v2.0
  • 43/100 · rubric v2.0
  • 43/100 · rubric v2.0
  • 43/100 · rubric v2.0
  • 43/100 · rubric v2.0

Related websites

Is your own site agent ready?

Check your own site →

Re-audit firmly.ai