MCP-MinerU
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP-MinerUextract all tables from quarterly_report.pdf using the fastest backend"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP-MinerU
MCP server for document and image parsing via MinerU. Extract text, tables, and formulas from PDFs, screenshots, and scanned documents with MLX acceleration on Apple Silicon.
Installation
claude mcp add --transport stdio --scope user mineru -- \
uvx --from mcp-mineru python -m mcp_mineru.serverThis command installs and configures the server for all your Claude Code projects using uvx (no manual installation required).
Alternative methods: See Installation Guide for PyPI, source installation, and Claude Desktop configuration.
Related MCP server: PDF MCP Flow
Features
Multiple format support: PDF, JPEG, PNG, and other image formats
OCR capabilities: Built-in text extraction from screenshots and photos
Table recognition: Preserves structure when extracting tables
Formula extraction: Converts mathematical equations to LaTeX
MLX acceleration: Optimized for Apple Silicon (M1/M2/M3/M4)
Multiple backends: Choose speed vs quality tradeoffs
Quick Start
Parse a PDF document
User: "Analyze the tables in research_paper.pdf"
Claude: [Calls parse_pdf tool] "The paper contains 3 tables..."Extract text from a screenshot
User: "What does this screenshot say? image.png"
Claude: [Calls parse_pdf tool] "The screenshot contains..."Check system capabilities
User: "Which backend should I use?"
Claude: [Calls list_backends tool] "Your system has Apple Silicon M4..."For more examples, see Usage Examples.
Tools
parse_pdf
Parse PDF and image files to extract structured content as Markdown.
Parameters:
file_path(required): Absolute path to file (PDF, JPEG, PNG, etc.)backend(optional):pipeline|vlm-mlx-engine|vlm-transformersformula_enable(optional): Enable formula recognition (default: true)table_enable(optional): Enable table recognition (default: true)start_page(optional): Starting page for PDFs (default: 0)end_page(optional): Ending page for PDFs (default: -1)
list_backends
Check system capabilities and get backend recommendations.
Returns: System information, available backends, and performance recommendations.
Supported Formats
PDF documents (.pdf)
JPEG images (.jpg, .jpeg)
PNG images (.png)
Other image formats (WebP, GIF, etc.)
Performance
Benchmarked on Apple Silicon M4 (16GB RAM):
pipeline: ~32s/page, CPU-only, good quality
vlm-mlx-engine: ~38s/page, Apple Silicon optimized, excellent quality
vlm-transformers: ~148s/page, highest quality, slowest
Documentation
Installation Guide - Detailed installation options
Updating Guide - How to update to the latest version
Usage Examples - More use cases and API reference
MinerU Documentation - Underlying parsing engine
Development
git clone https://github.com/TINKPA/mcp-mineru.git
cd mcp-mineru
uv pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/
ruff check src/License
Apache License 2.0 - see LICENSE file for details.
Acknowledgments
Built on top of MinerU by OpenDataLab.
Available Tools
2 toolslist_backendsB
Check system capabilities and list recommended backends for document and image parsing
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It merely states the function without disclosing behavioral details such as what 'system capabilities' includes, whether the operation is read-only, the return format, or potential error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundancy or filler. Every word contributes to conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is incomplete. It does not explain the returned data format, how to interpret 'recommended backends,' or provide context for using the sibling parse_pdf, leaving the agent with insufficient guidance for effective invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema trivially covers everything. The description adds no parameter-specific semantics, but none are needed; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with specific verbs 'check' and 'list' and identifies the resource (system capabilities, recommended backends). It effectively distinguishes from the sibling parse_pdf, which handles actual parsing rather than capability listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus parse_pdf or alternatives. The description implies checking capabilities before parsing, but it lacks explicit context, exclusions, or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_pdfA
Parse PDF and image files (PDF, JPEG, PNG, etc.) to extract text, tables, formulas, and structure using MinerU vunknown. Supports multiple backends including MLX-accelerated inference on Apple Silicon. Works with documents, screenshots, photos, and scanned images.
| Name | Required | Description | Default |
|---|---|---|---|
| backend | No | Backend to use: - pipeline: Fast, general-purpose (recommended for most cases) - vlm-mlx-engine: Fastest on Apple Silicon (M1/M2/M3/M4) - vlm-transformers: VLM model, slower but more accurate | pipeline |
| end_page | No | Ending page number (-1 for all pages) | |
| file_path | Yes | Absolute path to the file to parse (supports PDF, JPEG, PNG, and other image formats) | |
| start_page | No | Starting page number (0-indexed) | |
| table_enable | No | Enable table recognition | |
| formula_enable | No | Enable formula recognition |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It mentions supported formats and backend behaviors (e.g., MLX acceleration on Apple Silicon) but does not disclose output format, error handling, or any potential side effects. This is a moderate level of transparency—better than nothing but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: two sentences quickly state what the tool does, then add context about backends and use cases. There is no redundant or filler content. The minor oddity of 'vunknown' does not affect conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has six parameters and no output schema, the description covers the core functionality, supported input types, and backend options, which is largely sufficient for an agent to understand the tool's role. However, it does not explain return structure or potential limitations, leaving small gaps. Still, it's fairly complete for a parsing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already fully documented in the input schema. The description adds no new semantic details beyond repeating that PDF/JPEG/PNG files are supported and that tables/formulas are extracted, which are already present in the schema property descriptions. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool parses PDF and image files to extract text, tables, formulas, and structure. The specific verb 'Parse' and the listed resource types distinguish it from the sibling tool list_backends, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool—for documents, screenshots, photos, and scanned images—and notes backend options including Apple Silicon acceleration. However, it does not explicitly mention exclusions or compare against list_backends, so it's not a 5, but it offers sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.0- First observed
list_backends - First observed
parse_pdf
TDQS
parse_pdf and list_backends have completely distinct purposes: one performs the actual document/image parsing, while the other reports system capabilities. No overlap or ambiguity exists between them.
Both tool names follow a consistent verb_noun pattern in snake_case (parse_pdf, list_backends). The naming is predictable and uniform across the set.
With only two tools, the server feels minimal for its stated purpose of document and image parsing. While the scope is narrow, a slightly more complete set (e.g., separate format detection or result retrieval) might be expected in a fuller-featured server.
For the domain of document parsing, parse_pdf covers the core extraction of text, tables, formulas, and structure across multiple file types, while list_backends addresses capability discovery. There are no obvious dead ends or missing critical operations within this focused scope.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Agent-native document parsing: PDF, scans and FR/EU invoices to structured JSON or Markdown.
OCR and document understanding: extract text from images, then summarize or translate it.
High-fidelity PDF to structured Markdown conversion and document field extraction.
Extract tables, text and formulas from PDFs, including scanned pages and broken text layers.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceProvides offline, high-accuracy OCR capabilities for images and PDFs using macOS's built-in Vision framework. Supports multi-language text extraction with intelligent block aggregation for tables and paragraphs, outputting structured JSON data suitable for document reconstruction.1-
- AlicenseNot gradedqualityDmaintenanceEnables AI-driven PDF document processing including PDF to Markdown conversion, intelligent text and table extraction, image extraction, format conversion between PDF/Word/Markdown, batch processing, and fuzzy search - optimized for LLM context and RAG workflows.2MIT
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with comprehensive document parsing capabilities including PDF text extraction, OCR, HTML-to-markdown conversion, table extraction, and summarization, optimized for agent workflows.65MIT
- AlicenseNot gradedqualityBmaintenanceEnables intelligent document processing by extracting text, classifying document types, and generating structured summaries from PDFs and images using vision LLMs.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TINKPA/mcp-mineru'
If you have feedback or need assistance with the MCP directory API, please join our Discord server