Image Analysis MCP Server

Image Analysis MCP Server

Enables AI assistants to locally process images with tools for cropping, zooming, enhancement, edge detection, segmentation, and text region extraction, all without external API keys. It uses PIL, OpenCV, and scikit-image for robust image analysis.

Category
Visit Server

README

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! 🚀✨

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured