MinerU MCP Server for PDF to Markdown conversion
Project description
MinerU 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, for files up to 20 pages / 10 MB. Set MINERU_API_TOKEN to unlock higher limits and extra output formats.
⚡ 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 MinerU 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: OpenDataLab@pjlab.org.cn (or raise an issue at MinerU-Ecosystem )
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mineru_open_mcp-1.0.19.tar.gz.
File metadata
- Download URL: mineru_open_mcp-1.0.19.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
213b6889293942a08faa72fcb79d701b977936ff20607342709c940eb18f97ad
|
|
| MD5 |
cf76ca783e4ce2ed895eaae5e3487ec4
|
|
| BLAKE2b-256 |
2170af1a0a6186e0f630f545fd0314eabe6b865e10e2f624557af27f42c86f16
|
File details
Details for the file mineru_open_mcp-1.0.19-py3-none-any.whl.
File metadata
- Download URL: mineru_open_mcp-1.0.19-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22c2e7e92916963eb5547e078c0b9792ee489f23195b6bea78085c643475da76
|
|
| MD5 |
e7c2c6f54209440af5b221add8153ddd
|
|
| BLAKE2b-256 |
c041b0fa82869f7f7f0a59aa5de74c972f9c8fbfeb4fa816af35b14d27e1d6a7
|