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.
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
- Ejecutar servidor HTTP:
python src/http_server.py - Configurar URL en OpenAI:
https://imagemcp.aeye.com.ar/ - Endpoints disponibles:
GET /- Información del servidorGET /tools- Lista de herramientasPOST /execute/{tool_name}- Ejecutar herramientasGET /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 .opip install -r requirements.txtpara 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_SIZEen 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:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - 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:
- Consulta la sección de solución de problemas
- Revisa la documentación en este README
- Abre un issue en el repositorio
- Contacta al equipo de desarrollo
¡Disfruta analizando imágenes con IA! 🚀✨
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.