Self-hosted web search and document understanding for AI agents
CLIO Web Search has 9 tools with basic descriptions and input schemas. Most tools have clear verb-noun naming (health, ready, capabilities, doi_resolve, submit_document, get_document, cancel_document). Descriptions are present but brief (avg ~80 chars, below the 194-char baseline). Input schemas are visible and typed, but lack parameter descriptions, a critical gap. The tool set is well-composed (each does one thing), but parameter documentation is sparse. No error handling guidance, no output schemas documented, and no tool annotations (readOnlyHint/destructiveHint). The server is functional but falls short of production-grade definition quality.
Cancels an active or queued document conversion job
Returns service capabilities including search provider, document formats, extractors, and task backend configuration
Resolves a DOI to its metadata and full-text availability information
Retrieves the conversion status and result for a submitted document by job ID
Retrieves conversion progress events for a document job with pagination support
Health check endpoint returning service status and version
Readiness check endpoint that verifies all service dependencies (docling, valkey, searxng, grobid) are available
Parameter descriptions missing. Input schemas define types (string, file, boolean, integer) but lack descriptions explaining what each parameter controls, expected format, or constraints. LLMs cannot infer parameter meaning from names alone.
No output schemas documented. Tools return results but the response structure is not specified. LLMs cannot plan downstream calls or extract required fields without knowing what fields to expect.
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. An LLM receiving a 404 or timeout has no guidance on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
Submits a document for conversion and processing, returning a job ID and initial conversion status
Issues a task backend session for an agent with authorization and host information
Tool annotations missing. No readOnlyHint, destructiveHint, or idempotentHint declared. LLMs cannot determine which tools are safe to retry, which modify state, or which are read-only without explicit hints.
Descriptions are brief (avg ~65 chars, below 194-char baseline). While present, they lack context on WHEN to use each tool, dependencies, or what the tool returns. E.g., 'Resolves a DOI to its metadata and full-text availability information' does not explain what fields are returned or when to call it vs. submit_document.