DocReaderMCP Server
FreeNot checkedEnables reading and streaming of organization document formats (PDF, DOCX, Excel, CSV, TSV, TXT) as Markdown, with support for page ranges and sheet selection.
About
Enables reading and streaming of organization document formats (PDF, DOCX, Excel, CSV, TSV, TXT) as Markdown, with support for page ranges and sheet selection.
README
A FastMCP server designed to read and stream various file formats commonly used in organizations (PDF, DOCX, Excel XLSX, CSV, TSV, TXT). It outputs formatted Markdown and supports both segment/page limits and item streaming.
Features
- Document Formats Supported:
PDF: Pages parsed and converted to text.DOCX: Paragraphs segmented into logical page blocks.Excel (XLSX/XLS): Targeted sheet names or first sheet parsed.CSV & TSV: Tables outputted in Markdown format.TXT: Plain text paginated into logical blocks.
- Reading Options:
- Optional
page_rangeparameter (e.g.1-3,2) to select specific pages. - Optional
sheet_nameparameter for Excel files.
- Optional
- Streaming Options:
- Text-Style Documents (PDF, DOCX, TXT): Streamed sentence-by-sentence.
- Tabular Documents (Excel, CSV, TSV): Streamed row-by-row as Markdown table rows.
- Docker Ready: Built with
python:3.13.3-slim.
Tools Reference
| Tool Name | Parameters | Description |
|---|---|---|
read_pdf |
file_path (str), page_range (Optional[str]) |
Read PDF file pages |
stream_pdf |
file_path (str), page_range (Optional[str]) |
Stream PDF sentences |
read_docx |
file_path (str), page_range (Optional[str]) |
Read DOCX paragraphs by page |
stream_docx |
file_path (str), page_range (Optional[str]) |
Stream DOCX sentences |
read_excel |
file_path (str), sheet_name (Optional[str]) |
Read sheet to Markdown table |
stream_excel |
file_path (str), sheet_name (Optional[str]) |
Stream sheet row-by-row |
read_csv |
file_path (str) |
Read CSV to Markdown table |
stream_csv |
file_path (str) |
Stream CSV row-by-row |
read_tsv |
file_path (str) |
Read TSV to Markdown table |
stream_tsv |
file_path (str) |
Stream TSV row-by-row |
read_txt |
file_path (str), page_range (Optional[str]) |
Read TXT by page |
stream_txt |
file_path (str), page_range (Optional[str]) |
Stream TXT sentences |
Installation & Setup
Local Run (Venv / System Python)
- Install dependencies:
pip install -r requirements.txt - Start the server in standard mode:
Or in development mode:python main.py runpython main.py dev
Running with Docker
- Build and start the container:
docker compose up --build - By default, the container mounts a local
./datadirectory to/datain the container. Put your organizational documents in./datato read them via the container.
Installing DocReaderMCP Server
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/prafulsapkota/MCP-doc_readerFAQ
Is DocReaderMCP Server MCP free?
Yes, DocReaderMCP Server MCP is free — one-click install via Unyly at no cost.
Does DocReaderMCP Server need an API key?
No, DocReaderMCP Server runs without API keys or environment variables.
Is DocReaderMCP Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install DocReaderMCP Server in Claude Desktop, Claude Code or Cursor?
Open DocReaderMCP Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Notion
Read and write pages in your workspace
by NotionLinear
Issues, cycles, triage — from Claude
by LinearGoogle Drive
Search and read your Drive files
by Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
by mindsdbCompare DocReaderMCP Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All productivity MCPs
