Multi-server MCP toolkit with format conversion, browser automation, speech recognition, OCR, vision analysis, and web search capabilities
Server provides 13 tools across ASR, browser fetch, and format conversion domains. All tools have descriptions (10-200 chars, baseline 194) and input schemas with typed parameters. However, output schemas are undocumented, LLMs cannot predict return structure for chaining. Parameter descriptions are present but often minimal (e.g., 'Optional language code' lacks format/constraint details). Error handling is absent from visible code; no recovery guidance. Tool naming is clear and verb-forward (transcribe_, fetch_, markdown_to_pdf), but some descriptions lack WHEN/WHY context. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels (WRITE vs READ_ONLY). Composition is sound, tools are single-responsibility, but output chaining support is weak.
Check ASR server status
Report which engines are installed and Chrome availability
Default tool. Auto-selects nodriver -> Playwright fallback. Returns clean Markdown by default. Fetches JavaScript-heavy or anti-bot-protected web pages.
Force a specific engine (nodriver/playwright) for debugging or fine-grained control
Convert an HTML file (.html) to PDF with print-aware styling. Supports chromium (default, pixel-identical to Chrome Print) and weasyprint (lightweight). Three color themes: print (white), sepia (warm), one-dark-pro (dark). Preserves clickable web and local file links.
Inspect Markdown/HTML references before PDF conversion, without writing files. Reports local source paths, source existence, actual PDF candidates, nearby PDFs and selection evidence.
Output schemas undocumented. LLMs cannot predict return structure (fields, types, pagination) for downstream tool chaining. E.g., transcribe_audio returns what? Transcript text only? Timestamps? Confidence scores?
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Tools explicitly marked WRITE (markdown_to_pdf, html_to_pdf, svg_to_png) lack destructiveHint; READ_ONLY tools lack readOnlyHint. Agents cannot infer safety/retry semantics.
Parameter descriptions lack constraint details. 'Optional language code' does not specify format (ISO 639-1? BCP 47?), valid values, or examples. 'Timeout in seconds' lacks min/max bounds. LLMs guess and pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Convert a Markdown file (.md) to a styled PDF. Supports two rendering backends (chromium and weasyprint), Chinese fonts, tables, code blocks, blockquotes, and page numbers. Three color themes available: print (white), sepia (warm), and one-dark-pro (dark).
Extract text from born-digital PDFs using PyMuPDF
Take a PNG screenshot of a fully-rendered page
Rasterize a self-contained SVG file to a PNG image. Runs locally on CPU. External file and network references are blocked; embedded data: resources remain supported. Output limited to 8192 pixels per side and 32 million total pixels.
Transcribe audio files (auto-starts ASR server)
Full pipeline with speaker-attributed text and word timestamps
Full transcript plus a separate speaker timeline for multi-person podcasts/meetings
Status tools (asr_status, browser_status) have minimal descriptions ('Check ASR server status', 'Report which engines are installed'). No WHEN/WHY context. LLMs cannot determine when to call them vs. attempting operations directly.
No error handling guidance visible. Tools lack recovery hints (e.g., 'If transcription fails, check asr_status first'). Agents cannot self-correct on failures.