Score any site's agent readiness and watch real AI agents navigate it — powered by ora
This is a CLI tool wrapped as an MCP server with 5 tools. All tools have descriptions and input schemas are visible in source. However, schemas lack proper JSON Schema structure with explicit type declarations and constraints. Parameter descriptions are present but often generic (e.g., 'URL or domain'). No output schemas documented. Error handling descriptions mention exit codes but lack recovery guidance. Tools are read-only (good) but lack idempotent/destructive annotations. Average tool score: 42/100.
Score a site's agent readiness (exit codes: 0 ok, 1 below --min-score, 2 usage, 3 API error)
Run a real AI agent at a site on a curated task — or, with a partner API key, a free-text one — via ora's public API (exit codes: 0 ok, 1 run failed, 2 usage, 3 API error)
Send a real AI agent at a site and watch it navigate live
List, print, or install ora's agent skills (digest-verified from the registry, never bundled)
Audit a page's WebMCP tools in a real browser - localhost included, so you can check before you publish (exit codes: 0 ok, 1 below --min-score, 2 usage, 3 API error)
Input schemas lack explicit JSON Schema type declarations and constraints. Parameters are documented as strings with descriptions, but no 'type', 'enum', 'minimum', 'maximum', or 'pattern' fields visible in schema definitions.
No output schemas documented. Tools return complex objects (AuditScanResult, JourneyRun, etc.) but LLMs have no schema to understand response structure, forcing them to parse unstructured output.
Error handling descriptions mention exit codes (0, 1, 2, 3) but do not guide LLM recovery. No actionable error messages like 'Try search_users() first' or 'Invalid status: must be one of...'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Parameter descriptions are generic and lack format/constraint details. E.g., 'URL or domain' does not specify format (http/https required?), 'min-score' is a string but should clarify it's a numeric string 0-100.
Tool 'journey' has vague naming and minimal description. 'journey' alone does not convey action (send_agent_to_site? run_agent_task?). Description 'Send a real AI agent at a site and watch it navigate live' lacks WHEN to use it vs 'deep-journey'.