Document Understanding MCP Server
@jaesharp
About Document Understanding MCP Server
A document reading, search, and metadata server to provide access to PDFs (and, in the future, other formats) to LLMs via the Model Context Protocol (MCP)
Basic information
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"document-understanding-mcp-server": {
"command": "uv",
"args": [
"venv",
"#",
"Create",
".venv"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Document Understanding MCP Server?
A Model Context Protocol (MCP) server that provides tools for extracting text, metadata, layout, tables, and images from PDF documents, with OCR fallback for scanned pages. It is currently in alpha stage and intended for local development and testing only.
How to use Document Understanding MCP Server?
Install Python 3.11+, uv, sync dependencies from pyproject.toml, and install Java (for table extraction) and Tesseract (for OCR). Set the required environment variable DOCUMENT_UNDERSTANDING_BASE_PATH to the directory the server may read PDFs from. The server offers tools that AI models can invoke via the MCP interface.
Key features of Document Understanding MCP Server
- Extracts text content with automatic OCR fallback for scanned pages
- Retrieves PDF metadata (author, title, dates)
- Provides detailed layout info (text blocks, images, drawings with coordinates)
- Extracts tables from PDF pages using
tabula-py - Searches for exact text occurrences and returns bounding boxes
- Detects languages of extracted text content
Use cases of Document Understanding MCP Server
- Analyze scanned invoices or contracts for data extraction
- Search for specific terms across large PDF documents
- Understand page structure and spatial relationships in PDFs
- Extract tables from financial reports or scientific papers
FAQ from Document Understanding MCP Server
Does the server require Java or Tesseract?
Yes, table extraction requires a Java Runtime Environment (JRE). The OCR fallback for scanned pages requires Tesseract OCR. The server will refuse to start if either is missing, unless you use --allow-no-java or --allow-no-tesseract flags.
What is the DOCUMENT_UNDERSTANDING_BASE_PATH environment variable?
It is the absolute path to the directory the server is allowed to read PDFs from. The server will not start without this variable, unless the --allow-any-path security risk flag is used.
Is this server ready for production use?
No. The README explicitly warns it is in alpha stage and should not be deployed in production or exposed to untrusted networks.
Can the server handle encrypted PDFs?
Yes, several tools accept an optional password argument to open encrypted PDFs.
How can I enable experimental tools?
Use the --enable-experimental command-line flag at startup to enable tools like find_nearby_content.
More Other MCP servers
Reactive Resume
amruthpillaiA one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
XcodeBuildMCP
cameroncookeA Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Inbox Zero AI
elie222The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Core Philosophy: Connect, Unify, Respond
mindsdbDelegate anything. It comes back done.
Codelf
unbugA search tool helps dev to solve the naming things problem.
Comments