Local-first Markdown conversion for files, webpages, and media — CLI and MCP server
Three tools with moderate naming and descriptions, but critical schema gaps. Tool names lack action verbs (convert, ingest, doctor are weak). Descriptions exist but are generic (194-char baseline; these average ~120 chars). Input schemas are partially visible but lack comprehensive parameter descriptions and type constraints. The 'convert' tool has a complex options object with enum constraints (mode: fast|balanced|thorough), but most parameter descriptions are minimal (10-20 chars). 'ingest' and 'doctor' schemas are sparse. No output schemas documented. Error handling and recovery guidance absent. Composition is reasonable (three distinct concerns), but parameter naming could be more explicit (e.g., 'input' is vague; 'source_path' or 'file_path' would be clearer).
Convert any input (file, URL, YouTube, image, PDF, EPUB, MOBI, audio, video, code, DOCX, PPTX, text, markdown, JSON, HTML) to Markdown with structured metadata and chunks
Detect available local tools and optional dependencies (tesseract, pdftotext, ebook-convert, pandoc, libreoffice, ffmpeg, whisper, unzip) and report capabilities
Batch convert a folder of files to Markdown with optional recursive processing
Tool names lack action verbs. 'convert', 'ingest', 'doctor' are weak; should be 'convert_to_markdown', 'ingest_folder', 'check_dependencies' to signal intent clearly.
Output schemas not documented. LLMs cannot plan downstream calls or extract fields without knowing what convert/ingest/doctor return. Baseline: 100% of A+ tools document return types.
Parameter descriptions are minimal (10-20 chars). 'Include summary in output' and 'Include timestamps for media' lack context on when/why to use them. Baseline: 72 chars average.
No error handling or recovery guidance. If convert fails on a PDF, the LLM has no hint to try a fallback or check dependencies. Missing pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
'doctor' tool has empty input schema ({}). No parameters documented. Unclear what it returns or how to interpret results.