Self-hosted document intelligence, table extraction, and OCR engine with ONNX Runtime acceleration. Provides native MCP server for AI agents, LangChain/LlamaIndex loaders, and REST API for PDF/PPTX/image processing.
Four tools with complete input schemas and descriptions, but quality is uneven. Tool names follow verb_noun pattern (blast_ocr_process, blast_ocr_extract_*) but descriptions vary in clarity and actionability. All tools have documented parameters with types, but descriptions lack LLM-optimized guidance on when to use each tool vs. alternatives. Output schemas are not documented, LLMs cannot predict return structure. Error handling and recovery guidance are absent. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being read-only operations.
Detect mathematical formulas and convert to standard KaTeX/LaTeX Markdown delimiters ($...$ and $$...$$).
Extract structured tables from document images or scanned pages into Markdown and HTML, scored with a built-in TEDS evaluator.
Run high-throughput OCR and document intelligence extraction on a PDF, image, or PPTX file. Returns full markdown text, dual-layer PDF, and structured metadata.
Extract document text and split into hierarchy-aware RAG chunks with TOC lineage and token bounds.
Output schemas not documented. LLMs cannot predict return structure (markdown text, metadata fields, table format, chunk structure). Forces agents to guess downstream field names and types.
No tool annotations despite all tools being read-only. Missing readOnlyHint metadata prevents agents from understanding safety profile and retry semantics.
Descriptions lack actionable guidance on when to use each tool. 'Extract tables' vs 'extract formulas' vs 'semantic chunk', unclear which to call for a given document type or use case.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If a file is unsupported, corrupted, or missing, agents receive no actionable error message or next steps.
Parameter descriptions lack format/constraint details. 'source_path' says 'Absolute path' but does not specify: must file exist? What happens if relative? What file types are actually supported?