images_mcp_server

LeoSole423/images_mcp_server

3.2

If you are the rightful owner of images_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A comprehensive MCP server for advanced image processing, providing powerful tools for AI to manipulate, process, and analyze complex images.

Tools
  1. crop_image

    Crops an image by specifying coordinates.

  2. zoom_image

    Applies zoom to an image with focal point control.

  3. enhance_image

    Enhances image quality by adjusting brightness, contrast, and sharpness.

  4. detect_edges

    Detects edges using the Canny algorithm.

  5. segment_image

    Segments the image into regions using SLIC.

  6. extract_text_regions

    Identifies regions that might contain text.

  7. get_image_info

    Provides detailed information about the image.

Servidor MCP de Análisis de Imágenes 🖼️🔍

Un servidor MCP (Model Context Protocol) completo para procesamiento avanzado de imágenes. Proporciona herramientas potentes que las IAs (ChatGPT, Claude, etc.) pueden usar para manipular, procesar y analizar imágenes complejas.

🚀 Características

Herramientas para IA

  • Usado POR la IA: La IA usa estas herramientas para procesar imágenes, no necesitas API keys
  • Procesamiento local: Todas las operaciones se realizan con PIL, OpenCV y scikit-image
  • Flujo inteligente: La IA puede combinar herramientas para análisis complejos

Manipulación de Imágenes

  • Zoom inteligente: Acercamiento/alejamiento con control de punto focal
  • Recorte preciso: Extracción de regiones específicas
  • Mejora automática: Ajuste de brillo, contraste y nitidez

Procesamiento Avanzado

  • Detección de bordes: Algoritmo Canny para identificar contornos
  • Segmentación: División en regiones usando algoritmo SLIC
  • Extracción de texto: Identificación de áreas con texto potencial
  • Análisis estadístico: Información detallada sobre propiedades de la imagen

📦 Instalación

Prerrequisitos

  • Python 3.8 o superior
  • NO necesitas API keys - El servidor es usado POR la IA, no llama a APIs externas

Instalación automática

# Clonar el repositorio
git clone <tu-repositorio>
cd image_mcp_server

# Opción 1: Instalar con pyproject.toml
pip install -e .

# Opción 2: Instalar con requirements.txt
pip install -r requirements.txt

⚙️ Configuración

Variables de Entorno (Opcional)

Crea un archivo .env si quieres personalizar la configuración:

# Server Configuration
SERVER_PORT=8083

# Image Processing Configuration
MAX_IMAGE_SIZE=10485760  # 10MB en bytes  
TEMP_DIR=./temp_images
OUTPUT_DIR=./processed_images
DEBUG=true

Configuración MCP

Actualiza tu archivo de configuración MCP (config.json):

{
  "mcpServers": {
    "image-analysis": {
      "command": "python", 
      "args": ["src/main.py"]
    }
  }
}

🛠️ Uso

🔄 Flujo de Trabajo

1. USUARIO → envía imagen a ChatGPT/Claude
2. CHATGPT/CLAUDE → usa herramientas MCP para procesar
3. SERVIDOR MCP → procesa con PIL/OpenCV/scikit-image  
4. SERVIDOR MCP → devuelve imagen procesada
5. CHATGPT/CLAUDE → analiza resultado y responde al usuario

Iniciando el Servidor

🖥️ Para uso LOCAL (Claude Desktop, etc.)
python src/main.py
🌐 Para uso con OpenAI ChatGPT (URL)
python src/http_server.py

Esto iniciará un servidor HTTP en puerto 8083 compatible con URLs.

🤖 Configuración para OpenAI ChatGPT

  1. Ejecutar servidor HTTP: python src/http_server.py
  2. Configurar URL en OpenAI: https://imagemcp.aeye.com.ar/
  3. Endpoints disponibles:
    • GET / - Información del servidor
    • GET /tools - Lista de herramientas
    • POST /execute/{tool_name} - Ejecutar herramientas
    • GET /health - Estado del servidor

Ver archivo openai_setup.md para instrucciones detalladas.

Herramientas Disponibles

1. crop_image

Recorta una imagen especificando coordenadas.

{
  "tool": "crop_image", 
  "arguments": {
    "image_data": "base64_encoded_image",
    "x": 100,
    "y": 100,
    "width": 300,
    "height": 200
  }
}
2. zoom_image

Aplica zoom a una imagen con control de punto focal.

{
  "tool": "zoom_image",
  "arguments": {
    "image_data": "base64_encoded_image",
    "zoom_factor": 2.0,
    "center_x": 250,
    "center_y": 150
  }
}
3. enhance_image

Mejora la calidad de la imagen.

{
  "tool": "enhance_image",
  "arguments": {
    "image_data": "base64_encoded_image",
    "brightness": 1.2,
    "contrast": 1.3,
    "sharpness": 1.1
  }
}
4. detect_edges

Detecta bordes usando el algoritmo Canny.

{
  "tool": "detect_edges",
  "arguments": {
    "image_data": "base64_encoded_image",
    "threshold1": 100,
    "threshold2": 200
  }
}
5. segment_image

Segmenta la imagen en regiones usando SLIC.

{
  "tool": "segment_image",
  "arguments": {
    "image_data": "base64_encoded_image",
    "n_segments": 100
  }
}
6. extract_text_regions

Identifica regiones que podrían contener texto.

{
  "tool": "extract_text_regions",
  "arguments": {
    "image_data": "base64_encoded_image"
  }
}
7. get_image_info

Obtiene información detallada sobre la imagen.

{
  "tool": "get_image_info",
  "arguments": {
    "image_data": "base64_encoded_image"
  }
}

🎯 Casos de Uso

Análisis Médico

# Flujo que una IA puede usar para análisis médico
Usuario: "Analiza esta radiografía"
IA usa herramientas MCP:
1. get_image_info() - IA verifica calidad de imagen
2. enhance_image() - IA mejora contraste/nitidez  
3. detect_edges() - IA identifica estructuras
4. segment_image() - IA aísla regiones de interés
5. zoom_image() - IA enfoca áreas sospechosas
6. IA analiza todos los resultados con su capacidad visual

Análisis de Documentos

# Procesamiento de documentos complejos
Usuario: "Extrae el texto de este documento escaneado"
IA usa herramientas MCP:
1. get_image_info() - IA verifica resolución
2. enhance_image() - IA mejora legibilidad
3. extract_text_regions() - IA identifica áreas de texto
4. crop_image() - IA extrae secciones específicas
5. IA lee y transcribe el contenido usando su capacidad OCR

Análisis de Imágenes Satelitales

# Análisis geoespacial
Usuario: "Identifica características en esta imagen satelital"
IA usa herramientas MCP:
1. segment_image() - IA identifica diferentes terrenos
2. detect_edges() - IA encuentra características geográficas
3. zoom_image() - IA enfoca áreas de interés
4. IA clasifica y describe las características encontradas

📁 Estructura del Proyecto

image_mcp_server/
├── src/
│   ├── __init__.py
│   ├── main.py              # Servidor MCP local (stdio)
│   └── http_server.py       # Servidor HTTP para OpenAI ChatGPT ✨ NUEVO
├── pyproject.toml          # Configuración del proyecto y dependencias
├── requirements.txt        # Dependencias para pip install
├── config.json             # Configuración MCP local (puerto 8083)
├── openai_setup.md         # Instrucciones para OpenAI ChatGPT ✨ NUEVO
└── README.md               # Documentación

🧪 Ejemplos de Uso

Ejemplo básico de herramienta:

{
  "tool": "zoom_image",
  "arguments": {
    "image_data": "base64_encoded_image",
    "zoom_factor": 2.0,
    "center_x": 250,
    "center_y": 150
  }
}

🐛 Solución de Problemas

¿Necesito API keys?

  • NO - Este servidor es usado POR la IA, no llama a APIs externas
  • La IA (ChatGPT/Claude) usa estas herramientas para procesar imágenes localmente

Error: "Módulo no encontrado"

  • Ejecuta pip install -e . o pip install -r requirements.txt para instalar dependencias
  • Verifica que estés usando Python 3.8 o superior

Imágenes muy grandes

  • El servidor limita el tamaño de imagen a 10MB por defecto
  • Ajusta MAX_IMAGE_SIZE en las variables de entorno si necesitas procesar imágenes más grandes

Problemas de rendimiento

  • Las operaciones de segmentación y detección de bordes pueden ser lentas en imágenes grandes
  • Considera redimensionar imágenes muy grandes antes del procesamiento

🤝 Contribución

Las contribuciones son bienvenidas. Por favor:

  1. Fork el proyecto
  2. Crea una rama para tu feature (git checkout -b feature/AmazingFeature)
  3. Commit tus cambios (git commit -m 'Add some AmazingFeature')
  4. Push a la rama (git push origin feature/AmazingFeature)
  5. Abre un Pull Request

📝 Licencia

Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.

🎖️ Características Técnicas

  • Asíncrono: Diseñado para manejar múltiples solicitudes concurrentes
  • Extensible: Fácil agregar nuevas herramientas de procesamiento
  • Robusto: Manejo de errores completo y logging detallado
  • Optimizado: Procesamiento eficiente de imágenes grandes
  • Compatible: Funciona con cualquier cliente MCP estándar

📞 Soporte

Si encuentras problemas o tienes preguntas:

  1. Consulta la sección de solución de problemas
  2. Revisa la documentación en este README
  3. Abre un issue en el repositorio
  4. Contacta al equipo de desarrollo

¡Disfruta analizando imágenes con IA! 🚀✨