About Mineru Open Mcp
An official MCP server from MinerU that converts documents such as PDF, Word, PowerPoint and images into Markdown. Flash mode works without an API key, and setting MINERU_API_TOKEN unlocks higher limits and extra output formats.
Key features
- 01Converts PDF, DOCX and PPTX to Markdown
- 02OCR across 109 languages
- 03Table and formula extraction
- 04Flash mode without an API key
- 05Precision mode for up to 600 pages
Use cases
- 01Converting academic papers to Markdown for analysis
- 02Preparing document text for RAG pipelines
- 03Letting an AI assistant read a specific page range of a PDF
MCP support
This project is an MCP server that exposes document parsing tools, such as parse_documents and get_ocr_languages, to MCP clients. It supports the stdio and streamable-http transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx mineru-open-mcpMINERU_API_TOKENSecretMinerU API token for full capability (higher limits, extra output formats). Omit to use free Flash mode (Markdown only, 20 pages / 10 MB per file).OUTPUT_DIRDirectory for saved parse results when content is written to disk.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
2Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| enable_ocr | any | No | OCR mode: null (default) - auto-detect: the server decides whether OCR is needed. true - force OCR on when the user mentions poor scan quality. false - disable OCR. Omit this parameter unless the user explicitly mentions scan quality issues. |
| file_sources | array | Yes | Files to parse. Each entry is either: - a plain string: a local file path or URL - a dict {"source": "...", "pages": "N-M"}: with an optional page range Page range: "N" (single page) or "N-M" (for example "1-10"). PDF only. Duplicate sources are allowed, for example the same PDF with different ranges. Examples: ["report.pdf"] [{"source": "report.pdf", "pages": "1-5"}] [{"source": "a.pdf", "pages": "1-3"}, {"source": "a.pdf", "pages": "10-15"}] ["https://example.com/doc.pdf", "local.docx"] |
| language | any | No | OCR language code. Omit if unknown; the server defaults to "ch" (Chinese + English). Infer from the document filename when possible, for example "manual_en.pdf" -> "en". Common codes: "ch", "en", "japan", "korean", "latin", "arabic", "cyrillic", "devanagari". Full list: call get_ocr_languages. |
| model | any | No | Parsing model. Set to "html" only when all file_sources are web page URLs. Otherwise omit it and let MinerU auto-select the appropriate model. Ignored in Flash mode. |
| output_dir | any | No | Directory used when parsed results need to be saved locally, such as batch parsing or oversized inline content. Defaults to the server-configured directory. |
Details
From the project READMEMinerU Open MCP
An Official Mineru MCP server that exposes MinerU's document parsing as MCP tools. Connect any MCP-compatible AI client to convert PDFs, Word docs, PowerPoint files, and images into Markdown.
No API key required — Flash mode works out of the box, free with no sign-up but lower limits are applied. Set MINERU_API_TOKEN to unlock higher limits and extra output formats.
Notes for MCP clients with sandbox - For some MCP clients, your files dragged into the input box are sandboxed into a temporary directory. If you need to upload and parse local files, please provide full paths of the target files in your prompt, in case files cannot be found by the server.
⚡ Quickest Way to Run — uvx (no install needed)
mineru-open-mcp is on PyPI. With uv installed, you can run it directly — no separate install step.
Configure your MCP client
stdio — Claude Desktop, Cursor, Windsurf
The MCP client launches mineru-open-mcp as a subprocess automatically.
Using uvx (recommended — always runs the latest version):
{
"mcpServers": {
"mineru": {
"command": "uvx",
"args": ["mineru-open-mcp"],
"env": {
"MINERU_API_TOKEN": "your_key_here"
}
}
}
}
No API key? The server runs in Flash mode — free, markdown-only, learn more at Flash Mode Docs
mineru-open-mcpnot on PATH? Use the full path:"/Users/you/.local/bin/mineru-open-mcp", or use theuvxapproach above which handles this automatically.
Usage Examples
Example 1: Parse a local PDF document with target page ranges
User prompt: "Parse the 3rd-5th pages of this PDF into markdown: <your_path_to_file>" What happens:
- MinerU uploads and parses the PDF
- Returns clean Markdown with tables (HTML) and formulas (Latex) preserved
- Returns markdown texts in the chat if length permitted along with the output path, and the zip url if you prefer
- MCP client summarizes the content
Example 2: Parse a remote url hosting a file
User prompt: "Extract contents from this paper: https://arxiv.org/pdf/2509.22186" What happens:
- MinerU parses the paper into markdown
- MCP client formats and explains the tables
Example 3: Parse local PDF files with independent page ranges
User prompt: "Parse <file1> page 1-5, <file2> page 2-9, <file3> page 3 into markdown" What happens:
- MinerU uploads and parses the files separatedly
- Returns target format ouputs, the zip url for you to download, markdown abstract, the directory you want to save the output to
- MCP client uses the content for further analysis
Example 4: Advanced custom preferences
User prompt1: "use pipeline model to parse this Korean file your_path_here" User prompt2: "parse your_path_here and save the markdown to your_output_dir" What happends:
- Pipeline model is another model provided by MinerU service (BTW, vlm model is the default choice)
- You are allowed to specify a model, an ocr language, or even an independent output dir different from OUTPUT_DIR by structuring your prompt
- Your requests are parameterized into parse_documents tool and MinerU will handle the rest.
streamable-http — web-based MCP clients
Start the server manually, then point your client at it:
MINERU_API_TOKEN=your_key mineru-open-mcp --transport streamable-http --port 8001
{
"mcpServers": {
"mineru": {
"type": "streamableHttp",
"url": "http://127.0.0.1:8001/mcp"
}
}
}
Features
parse_documents? convert local files and/or remote URLs to Markdown; Input supports PDF, images(png/jpg/jpeg/jp2/webp/gif/bmp, Doc, Docx, Ppt, PPTx. Flash Mode also supports xlsx.get_ocr_languages— list all OCR languages supported by MinerU- Flash mode — works without an API key (free, markdown output only, supports PDF/images/Docx/PPTx/xls/xlsx); For full features, please provide
MINERU_API_TOKEN, which will disable flash mode. - Output behavior ? single-file parses return inline Markdown by default; batch parses save results to disk and return file metadata. Oversized inline content is also saved locally and returned via
extract_path. - Two transport modes ?
stdio,streamable-http
Environment Variables
| Variable | Description | Default |
|---|---|---|
MINERU_API_TOKEN | MinerU API token, apply on MinerU for full capability. If not provided, flash mode is enabled. | — |
OUTPUT_DIR | Directory used when parsed results need to be saved locally, such as batch parsing or oversized inline content | ~/mineru-downloads |
Privacy Policy
mineru-open-mcp connects to the official MinerU API (mineru.net) to parse documents.
- Data sent: Document content (files or URLs you provide for parsing)
- Data storage: Parsed results are temporarily cached by MinerU servers; not used for training
- Third-party: MinerU API (mineru.net) — see OpenDatalab Privacy Policy
- Local data: Parsed results will be saved to target output directory. Log files (only when ENABLE_LOG=true), saved to MINERU_LOG_DIR;
- Contact: [email protected] (or raise an issue at MinerU-Ecosystem )
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.