Gemini OCR

Proporciona servicios de reconocimiento óptico de caracteres (OCR) utilizando la API de Gemini de Google.

Documentación

Servidor MCP de Gemini OCR

Este proyecto proporciona un servicio de OCR (Reconocimiento Óptico de Caracteres) simple pero potente a través de un servidor FastMCP, aprovechando las capacidades de la API de Google Gemini. Permite extraer texto de imágenes proporcionando una ruta de archivo o una cadena codificada en base64.

Objetivo

Extraer el texto de la siguiente imagen:

CAPTCHA

y convertirlo a texto plano, por ejemplo, fbVk

Características

  • OCR basado en archivos: Extrae texto directamente de un archivo de imagen en tu sistema local.
  • OCR con base64: Extrae texto de una cadena de imagen codificada en base64.
  • Fácil de usar: Expone la funcionalidad de OCR como herramientas simples en un servidor MCP.
  • Impulsado por Gemini: Utiliza los avanzados modelos Gemini de Google para un reconocimiento de texto de alta precisión.

Requisitos previos

  • Python 3.8 o superior
  • Una clave de API de Google Gemini. Puedes obtener una en Google AI Studio.

Configuración e instalación

  1. Clona el repositorio:

    git clone https://github.com/WindoC/gemini-ocr-mcp
    cd gemini-ocr-mcp
    
  2. Crea y activa un entorno virtual:

    # Install uv standalone if needed
    
    ## On macOS and Linux.
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    ## On Windows.
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  3. Instala las dependencias requeridas:

    uv sync
    

Ejemplo de configuración de MCP

Si estás ejecutando esto como un servidor para una aplicación MCP principal, puedes configurarlo en tu config.json principal de MCP.

Ejemplo en Windows:

{
  "mcpServers": {
    "gemini-ocr-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "x:\\path\\to\\your\\project\\gemini-ocr-mcp",
        "run",
        "gemini-ocr-mcp.py"
      ],
      "env": {
        "GEMINI_MODEL": "gemini-2.5-flash-preview-05-20",
        "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY"
      }
    }
  }
}

Ejemplo en Linux/macOS:

{
  "mcpServers": {
    "gemini-ocr-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/project/gemini-ocr-mcp",
        "run",
        "gemini-ocr-mcp.py"
      ],
      "env": {
        "GEMINI_MODEL": "gemini-2.5-flash-preview-05-20",
        "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY"
      }
    }
  }
}

Nota: Recuerda reemplazar las rutas de marcador de posición con la ruta absoluta a tu directorio del proyecto.

Herramientas proporcionadas

ocr_image_file

Realiza OCR en un archivo de imagen local.

  • Parámetro: image_file (cadena): La ruta absoluta o relativa al archivo de imagen.
  • Devuelve: (cadena) El texto extraído de la imagen.

ocr_image_base64

Realiza OCR en una imagen codificada en base64.

  • Parámetro: base64_image (cadena): La cadena codificada en base64 de la imagen.
  • Devuelve: (cadena) El texto extraído de la imagen.