TideSurf provides 20 browser automation tools with basic schemas and descriptions, but falls short of production quality. Tool names are action-verb based (navigate, click, scroll) which is good. However, descriptions are minimal (10-50 chars typically), parameter descriptions are sparse or missing, and output schemas are not documented. Many tools lack detail on what they return, making it difficult for LLMs to chain calls. Error handling guidance is absent. The server exposes a JavaScript evaluation tool (evaluate) without clear security boundaries or input validation guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications in the metadata.
Navigate back in browser history
Classify the current page or element
Clear the text content of an element
Click an element by node ID
Download a file from the page
Evaluate JavaScript in the page context
Fill a form field with text
Focus an element
Navigate forward in browser history
Descriptions are too brief (10-50 chars) and lack context on when/why to use each tool. LLMs cannot distinguish between similar tools (click vs focus vs hover) without richer guidance.
Output schemas are not documented. Tools like get_state, screenshot, search, and classify return complex data (DOM, images, results) but LLMs have no schema to understand structure or chain downstream calls.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications in metadata. LLMs cannot reason about side effects or retry safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Get the current page state including compressed DOM and node map
Hover over an element
Navigate to a URL
Press a keyboard key
Reload the current page
Take a screenshot of the current page
Scroll the page
Search for text or elements on the page
Select an option from a dropdown
Type text into a focused element
Wait for a condition or timeout
evaluate tool exposes arbitrary JavaScript execution with minimal input validation guidance. Description does not warn about security implications or constraints on what expressions are safe.
Parameter descriptions are missing or generic. 'The node ID to click' appears 8+ times; 'The JavaScript expression to evaluate' lacks format/safety constraints. LLMs cannot validate inputs before calling.