MCP server for searching and retrieving captured screenshots with full-text search, OCR extraction, and batch management
Capio has three well-named, read-only tools with clear descriptions (194 - 250 chars, within baseline 34 - 392). All tools have input schemas with types and descriptions. However, output schemas are undocumented, responses are free-text strings rather than structured objects, forcing LLMs to parse unstructured content. Parameter descriptions lack format constraints (e.g., no regex for batch_id UUID format, no enum for platform values). Error handling is minimal, no recovery guidance or actionable error messages. Missing tool annotations (readOnlyHint) despite all tools being read-only.
Get full details for a specific Capio batch including the raw OCR text. Use this after a search() to drill into a specific result and read the full extracted content of the screenshots.
List Capio batches, optionally filtered by platform. Returns the most recently processed batches. Use platform= to narrow by source.
Search Capio's captured screenshots using full-text search. Searches across LLM-generated titles, summaries (gist), author names, and raw OCR text extracted from screenshots. Returns matching batches ranked by relevance. Use this to answer questions about content the user has captured — job postings, articles, social media posts, etc. FTS5 syntax is supported: AND, OR, NOT, phrase "like this", prefix match word*.
Output schemas undocumented. All three tools return free-text strings instead of structured JSON objects. LLMs must parse unstructured text (e.g., 'batch_id: abc-123\ntitle: Job Post') rather than accessing typed fields. This wastes tokens, increases parsing errors, and breaks downstream tool chaining.
Parameter descriptions lack format constraints. 'batch_id' has no UUID format hint; 'platform' has no enum (linkedin, instagram, web, twitter). LLMs may pass invalid values; validation errors are not actionable.
No tool annotations. All three tools are read-only but lack readOnlyHint annotation. Agents cannot distinguish safe tools from destructive ones without reading descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Error handling provides no recovery guidance. 'Batch not found' and 'No results found' are bare messages with no suggestions (e.g., 'Try list_batches() to see available batches'). Agents cannot self-correct.
No pagination metadata. search() and list_batches() accept 'limit' but do not return total_count or next_cursor. Agents cannot determine if results are truncated or plan multi-page retrieval.