lizeur


Namelizeur JSON
Version 0.1.3 PyPI version JSON
download
home_pageNone
SummaryLizeur is a MCP server to be able to get content from PDFs.
upload_time2025-08-13 17:21:00
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords ai mcp mistral model-context-protocol ocr pdf
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

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

### Manual

#### 1. Clone the Repository

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

#### 2. Create and Activate Virtual Environment

```bash
# 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

```bash
# Install dependencies
uv sync

# Build the package
uv build
```

#### 4. Install System-Wide

```bash
# 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

```bash
# 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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "lizeur",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "ai, mcp, mistral, model-context-protocol, ocr, pdf",
    "author": null,
    "author_email": "Charlie Boutier <charlie.boutier7@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/85/b2/1566c4b497629f3cd29b6d9457801aaba7e549e1dcc5a0343d173d54a4c7/lizeur-0.1.3.tar.gz",
    "platform": null,
    "description": "# Lizeur - PDF Content Extraction MCP Server\n\nLizeur 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.\n\n## Features\n\n- **PDF OCR Processing**: Uses Mistral AI's latest OCR model to extract text from PDF documents\n- **Intelligent Caching**: Automatically caches processed documents to avoid re-processing\n- **Markdown Output**: Returns clean markdown text for easy integration with AI workflows\n- **FastMCP Integration**: Built with FastMCP for optimal performance and ease of use\n\n## Prerequisites\n\n- Python 3.10\n- UV package manager\n- Mistral AI API key\n\n## Installation\n\n### From pypi\n```\npip install lizeur\n```\n\nAnd add the following configuration to your `mcp.json` file:\n\n**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.\n\n**Solution:** You can add the full path to the lizeur binary in the command field to ensure your IDE can locate it.\n\n```json\n{\n  \"mcpServers\": {\n    \"lizeur\": {\n      \"command\": \"lizeur\",\n      \"env\": {\n        \"MISTRAL_API_KEY\": \"your-mistral-api-key-here\",\n        \"CACHE_PATH\": \"your cache path\",\n      }\n    }\n  }\n}\n```\n\n### Manual\n\n#### 1. Clone the Repository\n\n```bash\ngit clone https://github.com/SilverBzH/lizeur\ncd lizeur\n```\n\n#### 2. Create and Activate Virtual Environment\n\n```bash\n# Create a virtual environment\nuv venv --python 3.10\n\n# Activate the virtual environment\n# On macOS/Linux:\nsource .venv/bin/activate\n\n# On Windows:\n# .venv\\Scripts\\activate\n```\n\n#### 3. Install Dependencies and Build\n\n```bash\n# Install dependencies\nuv sync\n\n# Build the package\nuv build\n```\n\n#### 4. Install System-Wide\n\n```bash\n# Install the package system-wide\nuv pip install --system .\n```\n\nThis will install the `lizeur` command globally on your system.\n\n## Usage\n\nOnce configured, the MCP server provides two tools that can be used by AI assistants:\n\n### Available Functions\n\n#### `read_pdf`\n- **Function**: `read_pdf`\n- **Parameter**: `absolute_path` (string) - The absolute path to the PDF file\n- **Returns**: Complete OCR response including all pages with markdown content, bounding boxes, and other OCR metadata\n\n#### `read_pdf_text`\n- **Function**: `read_pdf_text`\n- **Parameter**: `absolute_path` (string) - The absolute path to the PDF file\n- **Returns**: Markdown text content from all pages without the full OCR metadata (simpler for agents to process)\n\n### Example Usage in AI Assistant\n\nThe AI assistant can now use the tools like this:\n\n```\nWhat the OP command looks like for this specific controller, here is the doc /path/to/document.pdf\n```\n\nThe MCP server will:\n1. Check if the document is already cached\n2. If not cached, upload the PDF to Mistral AI for OCR processing **This will use your MISTRAL API key and cost money**\n3. Extract the text and convert it to markdown\n4. Cache the result for future use\n5. Return the markdown content\n\n**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.\n\n## Development\n\n### Local Development Setup\n\n```bash\n# Install in development mode\nuv pip install -e .\n\n# Run the server directly\npython main.py\n```\n\n### Project Structure\n\n- `main.py` - Main server implementation with FastMCP integration\n- `pyproject.toml` - Project configuration and dependencies\n- `uv.lock` - Locked dependency versions\n\n## Dependencies\n\n- `mcp[cli]>=1.12.4` - Model Context Protocol implementation\n- `mistralai>=0.0.10` - Mistral AI Python client\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Support\n\nFor issues and questions, please refer to the project repository or contact the maintainers.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Lizeur is a MCP server to be able to get content from PDFs.",
    "version": "0.1.3",
    "project_urls": {
        "Homepage": "https://github.com/SilverBzH/lizeur",
        "Issues": "https://github.com/SilverBzH/lizeur/issues",
        "Repository": "https://github.com/SilverBzH/lizeur"
    },
    "split_keywords": [
        "ai",
        " mcp",
        " mistral",
        " model-context-protocol",
        " ocr",
        " pdf"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7c9aa29f9f5a4daa5b843df7f99b05dd72f619d92ef970fb78c1786f04a90d88",
                "md5": "1f907349bac98aa1feaddf6c1ccd00da",
                "sha256": "4c867653c62ca029f54dc512b791e0783a545191459a7de56ca4bd90bd6553e7"
            },
            "downloads": -1,
            "filename": "lizeur-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1f907349bac98aa1feaddf6c1ccd00da",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 43485,
            "upload_time": "2025-08-13T17:20:59",
            "upload_time_iso_8601": "2025-08-13T17:20:59.307299Z",
            "url": "https://files.pythonhosted.org/packages/7c/9a/a29f9f5a4daa5b843df7f99b05dd72f619d92ef970fb78c1786f04a90d88/lizeur-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "85b21566c4b497629f3cd29b6d9457801aaba7e549e1dcc5a0343d173d54a4c7",
                "md5": "cb3a03a2a50a4009cd77eae491169c75",
                "sha256": "8604456cd5b08e11d34f46c25cec2696463cedd194090b2d334cb8ab049ba1bd"
            },
            "downloads": -1,
            "filename": "lizeur-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "cb3a03a2a50a4009cd77eae491169c75",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 37204,
            "upload_time": "2025-08-13T17:21:00",
            "upload_time_iso_8601": "2025-08-13T17:21:00.565090Z",
            "url": "https://files.pythonhosted.org/packages/85/b2/1566c4b497629f3cd29b6d9457801aaba7e549e1dcc5a0343d173d54a4c7/lizeur-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-13 17:21:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SilverBzH",
    "github_project": "lizeur",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "lizeur"
}
        
Elapsed time: 2.10643s