Extract structured web data for AI agents via Agent API Gateway
Server defines 6 tools with basic schemas and descriptions. All tools have input schemas with type definitions and required fields. However, descriptions are generic and lack actionable context for LLM selection. Parameter descriptions are minimal or missing (e.g., 'wait_for' and 'country' in extract_product lack descriptions). No output schema documentation. Error handling returns raw API errors without recovery guidance. Tools lack idempotency hints and permission declarations. Naming is verb-based but generic ('extract' vs 'extract_from_url'). No pagination support despite potential for large results.
Extract structured data from a public URL. schema: product | article | company. Returns validated JSON fields.
Extract article fields (title, author, date, topics, summary) from a URL.
Extract company fields (name, description, location, industry) from a URL.
Extract product fields (name, price, stock, rating, variants) from a URL.
Return current plan tier, credits used, and credits remaining for this API key.
List available extraction schemas and field definitions.
Parameter descriptions missing or incomplete. 'wait_for' and 'country' in extract_product/article/company lack descriptions; LLM cannot infer their purpose or valid values.
No output schema documented. Tools return JSON but LLM has no visibility into field names, types, or structure. Prevents downstream tool chaining and forces LLM to guess field names.
Error handling returns raw API errors without recovery guidance. 'API 401: ...' or 'API 400: ...' tells LLM nothing about next steps. Should include actionable hints like 'Check AGENT_API_KEY is set' or 'Verify URL is public HTTPS'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). All tools are read-only but lack explicit hints. Agents cannot distinguish safe-to-retry tools from destructive ones.
Redundant tool set. 'extract' with schema enum duplicates extract_product/article/company. LLM must reason about which to call, wasting tokens. Consider removing extract_* variants or consolidating.