Skip to main content

Lizeur - PDF Content Extraction MCP Server

Lizeur is a Model Context Protocol (MCP) server that enables AI assistants to extract and read content from PDF documents using Mistral AI's OCR capabilities. It provides a simple interface for converting PDF files to markdown text that can be easily consumed by AI models.

Features

  • PDF OCR Processing: Uses Mistral AI's latest OCR model to extract text from PDF documents
  • Intelligent Caching: Automatically caches processed documents to avoid re-processing
  • Markdown Output: Returns clean markdown text for easy integration with AI workflows
  • FastMCP Integration: Built with FastMCP for optimal performance and ease of use

Prerequisites

  • Python 3.10
  • UV package manager
  • Mistral AI API key

Installation

From pypi

pip install lizeur

And add the following configuration to your mcp.json file:

Note: Lizeur will be installed in the python3.10 folder. If this folder is not in your system PATH, your IDE may not be able to detect the lizeur binary.

Solution: You can add the full path to the lizeur binary in the command field to ensure your IDE can locate it.

{
  "mcpServers": {
    "lizeur": {
      "command": "lizeur",
      "env": {
        "MISTRAL_API_KEY": "your-mistral-api-key-here",
        "CACHE_PATH": "your cache path",
      }
    }
  }
}

Manual

1. Clone the Repository

git clone https://github.com/SilverBzH/lizeur
cd lizeur

2. Create and Activate Virtual Environment

# Create a virtual environment
uv venv --python 3.10

# Activate the virtual environment
# On macOS/Linux:
source .venv/bin/activate

# On Windows:
# .venv\Scripts\activate

3. Install Dependencies and Build

# Install dependencies
uv sync

# Build the package
uv build

4. Install System-Wide

# Install the package system-wide
uv pip install --system .

This will install the lizeur command globally on your system.

Usage

Once configured, the MCP server provides two tools that can be used by AI assistants:

Available Functions

read_pdf

  • Function: read_pdf
  • Parameter: absolute_path (string) - The absolute path to the PDF file
  • Returns: Complete OCR response including all pages with markdown content, bounding boxes, and other OCR metadata

read_pdf_text

  • Function: read_pdf_text
  • Parameter: absolute_path (string) - The absolute path to the PDF file
  • Returns: Markdown text content from all pages without the full OCR metadata (simpler for agents to process)

Example Usage in AI Assistant

The AI assistant can now use the tools like this:

What the OP command looks like for this specific controller, here is the doc /path/to/document.pdf

The MCP server will:

  1. Check if the document is already cached
  2. If not cached, upload the PDF to Mistral AI for OCR processing This will use your MISTRAL API key and cost money
  3. Extract the text and convert it to markdown
  4. Cache the result for future use
  5. Return the markdown content

Note: Use read_pdf_text when you only need the text content, or read_pdf when you need the complete OCR response with metadata. read_pdf can be confusion for some agent if the pdf file is big.

Development

Local Development Setup

# Install in development mode
uv pip install -e .

# Run the server directly
python main.py

Project Structure

  • main.py - Main server implementation with FastMCP integration
  • pyproject.toml - Project configuration and dependencies
  • uv.lock - Locked dependency versions

Dependencies

  • mcp[cli]>=1.12.4 - Model Context Protocol implementation
  • mistralai>=0.0.10 - Mistral AI Python client

License

This project is licensed under the MIT License.

Support

For issues and questions, please refer to the project repository or contact the maintainers.

Metadata

Release files for lizeur 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lizeur 0.1.3
File Size Uploaded Provenance Actions
lizeur-0.1.3.tar.gz 37.2 kB Without provenance Details for lizeur-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lizeur 0.1.3
File Interpreter ABI Platform Actions
lizeur-0.1.3-py3-none-any.whl Python 3 none any Details for lizeur-0.1.3-py3-none-any.whl

Total release size: 80.7 kB

Release files / lizeur-0.1.3.tar.gz

Download URL lizeur-0.1.3.tar.gz
Size 37.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8604456cd5b08e11d34f46c25cec2696463cedd194090b2d334cb8ab049ba1bd
BLAKE2b-256 checksum
How to use checksums
85b21566c4b497629f3cd29b6d9457801aaba7e549e1dcc5a0343d173d54a4c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.8

Release files / lizeur-0.1.3-py3-none-any.whl

Download URL lizeur-0.1.3-py3-none-any.whl
Size 43.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c867653c62ca029f54dc512b791e0783a545191459a7de56ca4bd90bd6553e7
BLAKE2b-256 checksum
How to use checksums
7c9aa29f9f5a4daa5b843df7f99b05dd72f619d92ef970fb78c1786f04a90d88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.8

Security for lizeur 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page