Model Context Protocol server for Arquivo.pt — the Portuguese Web Archive
Six tools with complete JSON schemas and descriptions. All tools are read-only, well-named with action verbs (search, list, get, extract). Schemas include proper types, descriptions, and constraints (enums, min/max). However, descriptions are brief (10-50 chars) and lack context on when to use each tool or what to do with results. Output schemas are not documented. Error handling and recovery guidance are absent from tool definitions.
Fetch + strip HTML, return readable text
PNG render of an archived page
Fetch a specific archived page
Search 1.8B+ archived images on Arquivo.pt (Dionisius).
CDX query: every capture of a given URL
Full-text search across Arquivo.pt.
Tool descriptions are too brief (10-50 chars) and lack context. 'Full-text search across Arquivo.pt' does not explain when to use search vs image_search, what the output contains, or how results chain to other tools.
Output schemas are not documented. LLMs cannot predict what fields search() returns, forcing them to guess how to extract URLs, timestamps, or metadata for downstream calls to list_versions or get_snapshot.
No error handling or recovery guidance in tool definitions. If a URL is not in the archive, or a timestamp is invalid, the LLM has no guidance on what to do next (retry, try a different date, call search first).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Parameter descriptions lack format guidance. 'Start date (YYYY, YYYY-MM, YYYY-MM-DD, or YYYYMMDDHHMMSS)' is in the description, but LLMs often ignore prose constraints. Should use a regex pattern or enum to enforce format.
No tool annotations (readOnlyHint, idempotentHint). While all tools are read-only, explicit annotations would help clients optimize caching and retry logic.