- Removed image preprocessing (Kreuzberg handles it internally)
- Improved file search (partial name matching)
- Shows available files when file not found
- Uses mimetypes for proper content-type
- Add extract_files() for processing multiple files one by one
- Support comma-separated and JSON array input
- Switch OCR backend from Tesseract to PaddleOCR (better accuracy)
- Update tool description
- Convert images to grayscale before OCR
- Increase contrast by 2x for better text detection
- This matches the preprocessing that effi-ocr (Tesseract) was using