anymd
anymd, formerly pdf-reader-mcp, is a Rust MCP server and CLI that converts documents to Markdown on your own machine. It reads PDF, Word, PowerPoint, Excel, EPUB, HTML and web pages, images through OCR, and audio and video through metadata, subtitles and transcripts. The README stresses that nothing is uploaded: OCR uses installed local document VLM models or tesseract, transcripts use ffmpeg and a bundled Qwen3-ASR model, and OCR setup and ASR model downloads need explicit opt-in.
It exposes four MCP tools: `outline` for a heading tree with node ids, `read` to turn a file, URL or folder into Markdown with page ranges, a `max_tokens` budget (default 20000) and a cursor for large documents, `search` across files, folders and URLs in literal or ranked modes, and `inspect` for PDF operations such as rendering pages, extracting regions, OCR and structure with geometry. Output includes `<!-- page 3 -->` citation anchors, a small front-matter header and compact tables, and a layout engine rebuilds reading order for two-column papers and borderless tables.
The README makes speed claims against other converters: 4.58 s in total on 19 benchmark documents against 45.4 s for markitdown and 1,723.3 s for docling. It points to an open AgentDocBench benchmark with per-category scores, including where anymd loses, but these are still the authors' own numbers. Setup is `npx -y @sylphx/anymd setup`, which adds it to MCP clients such as Claude Code, Codex, Cursor, VS Code, Claude Desktop, Windsurf and Gemini CLI, and only needs Node 18+. Licence is MIT and the last push was 2026-10-11. This review is based on the README and repository data; we have not run it ourselves.
Features
Why choose it
Trade-offs
Compatibility
Quick start
Use cases
Alternatives
Featured in these lists
Comments
No comments yet. Be the first!