Servidor MCP Gemini OCR
Este proyecto proporciona un sencillo pero potente servicio de OCR (Reconocimiento Óptico de Caracteres) a través de un servidor FastMCP, aprovechando las capacidades de la API Gemini de Google. 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
y convertirlo en texto plano, por ejemplo, fbVk
Características
- OCR basado en archivos: Extraiga texto directamente de un archivo de imagen en su sistema local.
- OCR en base64: Extraiga texto de una cadena de imagen codificada en base64.
- Fácil de usar: Expone la funcionalidad OCR como herramientas sencillas en un servidor MCP.
- Powered by Gemini: Utiliza los modelos avanzados Gemini de Google para un reconocimiento de texto de alta precisión.
Requisitos previos
- Python 3.8 o superior
- Una clave API Gemini de Google. Puedes obtener una en Google AI Studio.
Configuración e instalación
Clona el repositorio:
git clone https://github.com/WindoC/gemini-ocr-mcp cd gemini-ocr-mcp
Crea y activa un entorno virtual:
# Instala uv standalone si es necesario ## En macOS y Linux. curl -LsSf https://astral.sh/uv/install.sh | sh ## En Windows. powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Instala las dependencias necesarias:
uv sync
Ejemplo de configuración de MCP
Si está ejecutando esto como un servidor para una aplicación MCP padre, puede configurarlo en su config.json
MCP principal.
Ejemplo de 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" } } }
Linux/macOS Ejemplo:
{ "mcpServers": { "gemini-ocr-mcp": { "command": "uv", "args": [ "--directory", "/ruta/a/tu/proyecto/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: Recuerde sustituir las rutas de los marcadores de posición por la ruta absoluta al directorio de su proyecto.
Herramientas proporcionadas
archivo_imagen_ocr
Realiza el 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_imagen_base64
Realiza el 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.