ClaudeCodeMod

All shelves / MCP servers

PDF Reader

sylphxai/pdf-reader-mcp · 711 stars · Rust · MIT

MCP server Any file → clean Markdown for AI agents: PDF, Word, PowerPoint, Excel, EPUB, HTML and web pages, images (OCR), audio and video (metadata, subtitles, transcripts). A fast Rust MCP server and CLI that runs on your machine. No API key.

Install

In your shell
npx -y @sylphx/anymd setup     # --dry-run to preview, --remove to undo

These repos do not share one command. When an entry shows a command, it was copied as published. Check the repo's README before you run it.

Open the repo

Files

README.md

PDF, Word, PowerPoint, Excel, EPUB, HTML and web pages, images (OCR), audio and video (metadata, subtitles, transcripts). A fast Rust MCP server and CLI that runs on your machine. No API key.

Install · Benchmarks · Tools · CLI · Formats · Docs · Pro

npx -y @sylphx/anymd setup              # add anymd to every MCP client on this machine
npx -y @sylphx/anymd report.pdf > report.md   # or convert from the shell

Why anymd

  • Fast. Native Rust converts in parallel, page by page. On the 38 benchmark documents, anymd takes 11.5 s in total; docling 2,432.4 s (212×), markitdown 75.6 s (7×); marker converted 30 of them in 7,104.5 s, against anymd's 4.64 s on the same 30 (1,532×).
  • Accurate. A layout engine rebuilds words from glyph gaps, puts two-column papers in reading order, and recovers tables, including borderless ones. The text stays exactly as printed, with no glued words and no scrambled columns.
  • Lean on tokens. Pages come back as Markdown with `` citation anchors, a small front-matter header, and compact tables. A token budget and a cursor keep large documents within your agent's context.
  • Every format, one call. One tool reads every format listed below. It also accepts web URLs and whole directories, and search looks across all of them.
  • Local and private. Nothing is uploaded. OCR uses installed local doc-VLM models or tesseract; transcripts use ffmpeg and bundled Qwen3-ASR. OCR setup and ASR model downloads require explicit opt-in.

Install

Add anymd to every MCP client on your machine (Claude Code, Codex, Cursor, VS Code, Claude Desktop, Windsurf, Gemini CLI) with one command:

npx -y @sylphx/anymd setup     # --dry-run to preview, --remove to undo

Or add it by hand: every MCP client runs the same command, npx -y @sylphx/anymd. Node 18+ is the only requirement; npm installs the native binary for your platform.

claude mcp add anymd -- npx -y @sylphx/anymd

Or as a plugin, with the anymd skill: /plugin marketplace add SylphxAI/anymd, then /plugin install anymd@anymd.

codex mcp add anymd -- npx -y @sylphx/anymd

or in ~/.codex/config.toml:

[mcp_servers.anymd]
command = "npx"
args = ["-y", "@sylphx/anymd"]

or in .cursor/mcp.json:

{ "mcpServers": { "anymd": { "command": "npx", "args": ["-y", "@sylphx/anymd"] } } }

Install in VS Code with one click, or from a terminal:

code --add-mcp '{"name":"anymd","command":"npx","args":["-y","@sylphx/anymd"]}'

or in .vscode/mcp.json:

{ "servers": { "anymd": { "type": "stdio", "command": "npx", "args": ["-y", "@sylphx/anymd"] } } }

One click: download anymd-<version>.mcpb from the latest release and open it. Or, by hand:

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{ "mcpServers": { "anymd": { "command": "npx", "args": ["-y", "@sylphx/anymd"] } } }

Any client that speaks MCP over stdio: command npx, args ["-y", "@sylphx/anymd"]. To keep the server inside one folder, add --allow-dir=/path/to/docs.

npm install -g @sylphx/anymd     # or run it once with: npx -y @sylphx/anymd <file>

Python: uvx anymd report.pdf > report.md runs it once, pip install anymd installs it, and uvx anymd mcp starts the MCP server. The wheels carry the same prebuilt binary.

Docker (amd64 and arm64):

docker run --rm -v "$PWD:/data" ghcr.io/sylphxai/anymd report.pdf > report.md
docker run -i --rm ghcr.io/sylphxai/anymd        # MCP server on stdio

Or build it from crates.io (Rust 1.95+, CMake and a C++ compiler; doc-VLM OCR and local ASR are included):

cargo install anymd

npm, pip and Docker ship a prebuilt binary, while cargo install compiles one on your machine.

Benchmarks

AgentDocBench is an open benchmark for document → Markdown conversion for agents: license-clean documents in 12 categories (math papers, two-column papers, financial tables, forms, scans, CJK, slides, spreadsheets, Word, EPUB, HTML), scored on verbatim sentences, text F1, reading order, and table cells, with time and output tokens. Every tool runs on the same kind of GitHub-hosted runner (4 CPUs):

The generated leaderboard, per-category scores (including where anymd loses), and method are in the benchmark guide. The corpus, ground truth, adapters, and raw results are in bench/, and the Benchmark workflow reruns everything; new tools can join with a single adapter file.

Image and video extraction

Image and video benchmarks cover page-image OCR and embedded video subtitles separately:

The image score is historical, not a score for the current OCR model. The video scores were measured on 2026-10-08 using small authored regression datasets, not films or lectures; anymd drops a repeated caption at a different timestamp. They measure embedded subtitle extraction, not visual understanding or ASR. The guide links the alternative selection, limitations, timings, raw outputs and reproduction harness.

MCP tools

anymd exposes four tools.

Facts

Kind
MCP server
Repo
sylphxai/pdf-reader-mcp
Group
Uncategorized
Stars
711
License
MIT
Language
Rust
Last push
2026-10-09
Forks
90
Homepage
sylphxai.github.io/anymd
Topics
ai-agents, cli, document-conversion, docx, docx-to-markdown, epub, html-to-markdown, llm, markdown, markitdown-alternative, mcp, model-context-protocol, ocr, pdf, pdf-to-markdown, pptx

More on this shelf

  1. 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
  2. 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
  3. 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
  4. 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
  5. 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
  6. 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k