Servidor de reconocimiento de imágenes MCP
Un servidor MCP que ofrece capacidades de reconocimiento de imágenes mediante las API de visión de IA de Anthropic, OpenAI y Cloudflare Workers. Versión 1.2.1.

Autores
Originalmente este proyecto fue creado por @mario-andreschak . ¡Gracias!
Actualmente lo mantiene @zudsniper .
Características
Descripción de la imagen utilizando Anthropic Claude Vision, OpenAI GPT-4 Vision o Cloudflare Workers AI llava-1.5-7b-hf
Fácil integración con Claude Desktop, Cursor y otros clientes compatibles con MCP
Soporte para la implementación de Docker
Soporte para la instalación de uvx
Compatibilidad con múltiples formatos de imagen (JPEG, PNG, GIF, WebP)
Proveedores primarios y de respaldo configurables
Compatibilidad con entrada de imágenes basada en archivos y Base64
Extracción de texto opcional mediante Tesseract OCR
Requisitos
Python 3.8 o superior
Tesseract OCR (opcional): necesario para la función de extracción de texto
Windows: Descargar e instalar desde UB-Mannheim/tesseract
Linux:
sudo apt-get install tesseract-ocrmacOS:
brew install tesseract
Instalación
Opción 1: Usar uvx (recomendado para Claude Desktop y Cursor)
Instalar el administrador de paquetes uv :
Instalar el paquete con uvx:
Cree y configure su archivo de entorno como se describe en la sección Configuración
Opción 2: Usar Docker
Opción 3: Desde la fuente
Clonar el repositorio:
Crea y configura tu archivo de entorno:
Construir el proyecto:
Integración
Integración de escritorio de Claude
Vaya a Claude > Configuración > Desarrollador > Editar configuración > claude_desktop_config.json
Agregar configuración con variables de entorno en línea:
Integración del cursor
Vaya a Configuración del cursor > MCP y pegue con variables de entorno:
Integración de Docker
Opción 1: Usar la imagen de DockerHub
Agregue esto a su configuración de Claude Desktop con entorno en línea:
Para la configuración de Cloudflare:
Uso
Ejecutar el servidor directamente
Si se instala con pip/uvx:
Desde el directorio de origen:
Usando Docker:
Comience en modo de desarrollo con el Inspector MCP:
Herramientas disponibles
describe_imagePropósito : Analizar imágenes cargadas directamente al chat.
Entrada : datos de imagen codificados en Base64
Salida : Descripción detallada de la imagen.
Ideal para : imágenes cargadas directamente en Claude, Cursor u otras interfaces de chat
describe_image_from_filePropósito : Procesar archivos de imagen locales del sistema de archivos
Entrada : Ruta a un archivo de imagen
Salida : Descripción detallada de la imagen.
Ideal para : desarrollo local con acceso al sistema de archivos
Nota : Cuando se ejecuta en Docker, se requiere mapeo de volumen (consulte la sección Acceso a archivos de Docker)
describe_image_from_urlPropósito : Analizar imágenes desde URLs web sin descargarlas manualmente
Entrada : URL de una imagen de acceso público
Salida : Descripción detallada de la imagen.
Ideal para : imágenes web, capturas de pantalla o cualquier cosa con una URL pública.
Nota : utiliza encabezados similares a los del navegador para evitar la limitación de velocidad.
Configuración del entorno
ANTHROPIC_API_KEY: Su clave API antrópica.OPENAI_API_KEY: Su clave API de OpenAI.CLOUDFLARE_API_KEY: Su clave API de Cloudflare.CLOUDFLARE_ACCOUNT_ID: Su ID de cuenta de Cloudflare.VISION_PROVIDER: Proveedor de visión principal (anthropic,openaiocloudflare).FALLBACK_PROVIDER: Proveedor de respaldo opcional.LOG_LEVEL: Nivel de registro (DEBUG, INFO, WARNING, ERROR).ENABLE_OCR: habilita la extracción de texto OCR de Tesseract (trueofalse).TESSERACT_CMD: Ruta personalizada opcional al ejecutable de Tesseract.OPENAI_MODEL: Modelo OpenAI (predeterminado:gpt-4o-mini). Se puede usar el formato OpenRouter para otros modelos (p. ej.,anthropic/claude-3.5-sonnet:beta).OPENAI_BASE_URL: URL base personalizada opcional para la API de OpenAI. Establézcala enhttps://openrouter.ai/api/v1para OpenRouter.OPENAI_TIMEOUT: Tiempo de espera personalizado opcional (en segundos) para la API de OpenAI.CLOUDFLARE_MODEL: modelo de IA de Cloudflare Workers (predeterminado:@cf/llava-hf/llava-1.5-7b-hf).CLOUDFLARE_MAX_TOKENS: Número máximo de tokens a generar (predeterminado:512).CLOUDFLARE_TIMEOUT: Tiempo de espera para las solicitudes de API de Cloudflare en segundos (valor predeterminado:60).
Uso de OpenRouter
OpenRouter permite acceder a varios modelos mediante el formato de la API de OpenAI. Para usar OpenRouter, siga estos pasos:
Obtenga una clave API de OpenAI de OpenRouter.
Establezca
OPENAI_API_KEYen su archivo.enven su clave API de OpenRouter.Establezca
OPENAI_BASE_URLenhttps://openrouter.ai/api/v1.Establezca
OPENAI_MODELen el modelo deseado utilizando el formato OpenRouter (por ejemplo,anthropic/claude-3.5-sonnet:beta).Establezca
VISION_PROVIDERenopenai.
Modelos predeterminados
Antrópico:
claude-3.5-sonnet-betaOpenAI:
gpt-4o-miniIA de los trabajadores de Cloudflare:
@cf/llava-hf/llava-1.5-7b-hfOpenRouter: utilice el formato
anthropic/claude-3.5-sonnet:betaenOPENAI_MODEL.
Desarrollo
Guía de configuración del desarrollo
Configuración del entorno de desarrollo
Clonar el repositorio:
Configuración con uv (recomendado):
Configuración alternativa con pip:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -e . # Or alternatively: pip install -r requirements.txt pip install -r requirements-dev.txt
Configurar el entorno:
Desarrollo de VS Code / DevContainer
Instalar VS Code con la extensión Contenedores Remotos
Abra la carpeta del proyecto en VS Code
Haga clic en "Reabrir en el contenedor" cuando se le solicite
El devcontainer se compilará y se abrirá con todas las dependencias instaladas
Uso del contenedor de desarrollo con Claude Desktop
Pasar el archivo de entorno a Docker Compose:
Agregue esto a su configuración de Claude Desktop:
Probar sus cambios localmente
Ejecute el servidor MCP en modo de desarrollo:
El Inspector proporciona una interfaz web (normalmente en http://localhost:3000 ) donde puedes:
Envía solicitudes a tus herramientas
Ver registros de solicitud/respuesta
Depurar problemas con su implementación
Pruebe herramientas específicas:
Para
describe_image: Proporcione una imagen codificada en base64Para
describe_image_from_file: proporcione una ruta a un archivo de imagen localPara
describe_image_from_url: Proporcione una URL a una imagen
Integración con Claude Desktop para realizar pruebas
Modifique temporalmente la configuración de Claude Desktop para usar su versión de desarrollo:
Reinicie Claude Desktop para aplicar los cambios
Prueba cargando imágenes o proporcionando URLs de imágenes en tus conversaciones
Ejecución de pruebas
Ejecutar todas las pruebas:
Ejecutar un conjunto de pruebas específico:
Soporte de Docker
Construya la imagen de Docker:
Ejecute el contenedor:
Limitaciones de acceso a archivos de Docker
Al ejecutar el servidor MCP en Docker, la herramienta describe_image_from_file solo puede acceder a los archivos dentro del contenedor. De forma predeterminada, el contenedor no tiene acceso a los archivos del sistema host. Para habilitar el acceso a los archivos locales, debe asignar directorios explícitamente al configurar el servidor MCP.
Nota importante : Al usar Claude Desktop, Cursor u otras plataformas donde se suben imágenes a los chats, estas se almacenan en los servidores de Anthropic y no son accesibles directamente al servidor MCP a través de una ruta del sistema de archivos. En estos casos, debe:
Utilice la herramienta
describe_image(que funciona con imágenes codificadas en base64) para las imágenes cargadas directamente en el chatUtilice la nueva herramienta
describe_image_from_urlpara imágenes alojadas en líneaPara los archivos locales, asegúrese de que el directorio esté asignado correctamente al contenedor Docker
Asignación de directorios locales a Docker
Para darle al contenedor Docker acceso a carpetas específicas en su sistema, modifique la configuración de su servidor MCP para incluir la asignación de volúmenes:
Por ejemplo, para mapear su carpeta de Descargas:
Windows:
-v "C:\\Users\\YourName\\Downloads:/app/images"macOS/Linux:
-v "/Users/YourName/Downloads:/app/images"
Luego acceda a los archivos utilizando la ruta del contenedor: /app/images/your_image.jpg
Licencia
Licencia MIT: consulte el archivo LICENCIA para obtener más detalles.
Uso de Cloudflare Workers AI
Para utilizar Cloudflare Workers AI para el reconocimiento de imágenes:
Inicie sesión en el panel de Cloudflare y seleccione su cuenta.
Vaya a IA > IA de trabajadores .
Seleccione Usar API REST y cree un token de API con permisos de Workers AI.
Establezca lo siguiente en su archivo
.env:CLOUDFLARE_API_KEY: Su token de API de CloudflareCLOUDFLARE_ACCOUNT_ID: ID de su cuenta de CloudflareVISION_PROVIDER: Establecer encloudflareCLOUDFLARE_MODEL: Opcional, el valor predeterminado es@cf/llava-hf/llava-1.5-7b-hf
Uso con asistentes de IA
Una vez configurado, su asistente de IA (Claude, por ejemplo) puede analizar imágenes mediante:
Sube una imagen directamente en el chat
El asistente utilizará automáticamente el servidor MCP para analizar la imagen.
El asistente describirá la imagen en detalle basándose en la salida de la API de visión.
Ejemplo de mensaje después de cargar una imagen:
También puedes personalizar el mensaje según tus necesidades específicas:
o
Historial de versiones
1.2.1 (28/03/2025): Documentación reorganizada y flujo de trabajo de devcontainer mejorado
1.2.0 (28/03/2025): Se corrigió la obtención de imágenes de URL con encabezados httpx y del navegador, se agregó compatibilidad con devcontainer
1.1.0 (28/03/2025): Descripciones de herramientas mejoradas para una mejor selección, SDK de OpenAI actualizado a la última versión
1.0.1 (28/03/2025): Se agregó reconocimiento de imágenes basado en URL, se mejoró la documentación de Docker y se corrigieron las limitaciones del sistema de archivos.
1.0.0 (28/03/2025): Se agregó compatibilidad con Cloudflare Workers AI con el modelo llava-1.5-7b-hf, compatibilidad con Docker y compatibilidad con uvx.
0.1.2 (2025-02-20): Se mejoró el manejo de errores de OCR y se agregó una cobertura de prueba integral para la funcionalidad de OCR.
0.1.1 (19/02/2025): Se agregó compatibilidad con Tesseract OCR para la extracción de texto de imágenes (función opcional)
0.1.0 (19/02/2025): Versión inicial con compatibilidad con visión antrópica y OpenAI
Licencia
Licencia MIT: consulte el archivo LICENCIA para obtener más detalles.
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
Lanzamiento de nuevas versiones
Para lanzar una nueva versión:
Actualizar la versión en
pyproject.tomlysetup.pyEnviar cambios a la rama
releaseLas acciones de GitHub harán lo siguiente automáticamente:
Ejecutar pruebas
Crear y enviar imágenes de Docker
Publicar en PyPI
Crear una versión de GitHub
Secretos de repositorio necesarios para CI/CD:
DOCKERHUB_USERNAME- Nombre de usuario de Docker HubDOCKERHUB_TOKEN- Token de acceso a Docker HubPYPI_API_TOKEN- Token API de PyPI
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Proporciona capacidades de reconocimiento de imágenes utilizando las API Anthropic Claude Vision y OpenAI GPT-4 Vision, admitiendo múltiples formatos de imagen y ofreciendo extracción de texto opcional a través de Tesseract OCR.
- Autores
- Características
- Requisitos
- Instalación
- Integración
- Uso
- Desarrollo
- Licencia
- Uso con asistentes de IA
- Historial de versiones
- Licencia
- Contribuyendo
Related Resources
Related MCP Servers
- Asecurity-licenseAqualityA server that accepts image URLs and analyzes their content using GPT-4-turbo, enabling Claude AI assistants to understand and describe images through natural language.Last updated -116MIT License
- -security-license-qualityThis is a server implementation for performing Optical Character Recognition (OCR) using the Google Cloud Vision API. It is built on top of the FastMCP framework, which allows for the creation of modular and extensible command processing tools.
Textin MCP Serverofficial
Asecurity-licenseAqualityA server that enables OCR capabilities to recognize text from images, PDFs, and Word documents, convert them to Markdown, and extract key information.Last updated -34523MIT License- -security-license-qualityProvides AI-powered visual analysis capabilities for Claude and other MCP-compatible AI assistants, allowing them to capture and analyze screenshots, perform file operations, and generate UI/UX reports.