Two limits drove this: the filesystem server cannot open PDF or DOCX at all, and pulling an entire document into context blows the budget. Converting to Markdown solves the first directly. The second is the reason to reach for it deliberately — convert once, then work from the Markdown rather than re-reading the source each turn.
A document conversion server built for the case the standard filesystem server cannot cover: PDF and DOCX files, which it turns into Markdown so a model can read them. Conversion runs both ways, so a Markdown draft can come back as a DOCX or a PDF.
- PDF to Markdown, using marker-pdf
- DOCX to Markdown, using pandoc
- Markdown back out to DOCX
- Markdown back out to PDF
Python 3.10 or higher, pandoc installed on the machine, and uv for package management. Install with `uv add doc-reading-mcp` or straight from the repository; the published package is `doc-reading-mcp`, version 0.1.1. Clients launch it as `uvx doc-reading-mcp`, or point `uv --directory` at a local checkout and run the `doc_reading_mcp` module.
One command — uvx doc-reading-mcp
