Single tool 'scrape' has a clear action-verb name and explicit input schema with proper types and descriptions. However, the output schema is not documented, the tool returns raw JSON from the UseScraper API without specifying what fields to expect. Error handling returns HTTP error details but lacks actionable recovery guidance. Missing tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite being a read-only operation. Parameter descriptions are adequate but could be more prescriptive about constraints.
Scrape content from a webpage using UseScraper API
Output schema not documented. Tool returns raw response.data as JSON string without documenting structure, field types, or what an LLM should expect. LLMs cannot plan downstream operations or extract specific fields reliably.
Missing tool annotations. The 'scrape' tool is read-only (no side effects) but lacks readOnlyHint=true annotation. This prevents clients from classifying the tool correctly for safety and optimization.
Error handling lacks recovery guidance. When API errors occur, the tool returns the UseScraper error message but does not guide the LLM on what to do next (retry, check URL format, check API key, etc.).
Parameter 'extract_object' is under-specified. Description says 'Optional object specifying data to extract' but does not explain its schema, valid keys, or how it affects the response structure. LLMs cannot construct valid payloads.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 46 | - | v1 |
No result limits or pagination documented. Tool description does not mention if large pages are automatically truncated, what the maximum response size is, or if pagination is supported. Could lead to context window exhaustion.