A navigation memory for AI agents — zero-LLM web-navigation CLI that recalls cheap, reliable routes instead of re-exploring. Serves webnav verbs as Model Context Protocol tools over stdio.
webnav has 11 tools with basic descriptions and input schemas, but significant gaps limit production readiness. Most tool descriptions are 40-80 chars (below the 194-char baseline for A+ tools). Input schemas are present but minimal, many parameters lack detailed constraints, format specifications, or validation guidance. Error handling is undocumented; no recovery guidance or error classification. No tool annotations (readOnlyHint/destructiveHint). Parameter descriptions are sparse (e.g., 'Element reference identifier' for 'ref' is vague). Output schemas are not documented. The tool set mixes user-facing navigation (webnav_click, webnav_type) with development commands (webnav_dev_*), but no clear separation or permission gating. Composition is reasonable, tools chain well (find → walk → click), but descriptions don't guide LLM selection between similar tools.
Click an element on the current page by its ref (from read output).
Export the map as JSON or YAML (development command).
Ingest a recorded session into the map (development command).
Inspect the map structure and state fingerprints (development command).
Find a destination on a site by searching the map or the live web. Returns matching states or search results.
Navigate the browser to a URL.
Read the current page content and return structured accessibility snapshot (YAML).
Record a human-driven browsing session to teach the map new routes.
Parameter descriptions are minimal and lack format/constraint guidance. E.g., 'ref' is described as 'Element reference identifier' but does not explain format, length, or how to obtain it from webnav_read output. LLMs cannot infer valid values.
Output schemas are not documented. webnav_read returns 'structured accessibility snapshot (YAML)' but the schema is not specified. webnav_find returns 'matching states or search results' without field definitions. LLMs cannot plan downstream calls or extract required data.
No error handling or recovery guidance. Tools lack descriptions of failure modes, retryability, or what the LLM should do if a call fails. E.g., webnav_click does not document what happens if the ref is invalid or the element is not clickable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Scroll the current page by a number of pixels.
Type text into a field on the current page by its ref.
Walk a known route from the current page to a goal state deterministically using the map.
Tool annotations missing. No readOnlyHint or destructiveHint declared. webnav_click, webnav_type, webnav_walk, webnav_record, and webnav_dev_ingest are marked WRITE in metadata but tool definitions lack destructiveHint annotation for MCP spec compliance.
Development tools (webnav_dev_*) are exposed alongside user-facing tools with no permission gating or clear separation. No scope declarations (e.g., 'dev:inspect', 'dev:export'). An agent could accidentally call webnav_dev_export or webnav_dev_ingest without authorization.