Image
Obtiene y procesa imágenes desde URLs, rutas de archivos locales y arreglos numpy, devolviéndolas como cadenas codificadas en base64.
Documentación
MCP Server - Image
Un servidor de Model Context Protocol (MCP) que proporciona herramientas para obtener y procesar imágenes desde URLs, rutas de archivos locales y arrays de numpy. El servidor incluye una herramienta llamada fetch_images que devuelve imágenes como cadenas codificadas en base64 junto con sus tipos MIME.
Apóyanos
Si encuentras útil este proyecto y deseas apoyar futuros proyectos, ¡considera invitarnos un café! Tu apoyo nos ayuda a seguir construyendo soluciones innovadoras de IA.
Tus contribuciones ayudan mucho a alimentar nuestra pasión por crear aplicaciones inteligentes y fáciles de usar.
Tabla de Contenidos
- Características
- Requisitos Previos
- Instalación
- Ejecutar el Servidor
- Herramientas Disponibles
- Depuración
- Contribuciones
- Licencia
Características
- Obtener imágenes desde URLs (http/https)
- Cargar imágenes desde rutas de archivos locales
- Manejo especializado para imágenes locales grandes
- Compresión automática de imágenes para imágenes grandes (>1MB)
- Procesamiento paralelo de múltiples imágenes
- Mapeo adecuado de tipos MIME para diferentes extensiones de archivo
- Manejo integral de errores y registro
Requisitos Previos
- Python 3.10+
- Administrador de paquetes uv (recomendado)
Instalación
- Clona este repositorio
- Crea y activa un entorno virtual usando uv:
uv venv
# On Windows:
.venv\Scripts\activate
# On Unix/MacOS:
source .venv/bin/activate
- Instala las dependencias usando uv:
uv pip install -r requirements.txt
Ejecutar el Servidor
Hay dos formas de ejecutar el servidor MCP:
1. Método Directo
Para iniciar el servidor MCP directamente:
uv run python mcp_image.py
2. Configurar para Windsurf/Cursor
Windsurf
Para agregar este servidor MCP a Windsurf:
- Edita el archivo de configuración en ~/.codeium/windsurf/mcp_config.json
- Agrega la siguiente configuración:
{
"mcpServers": {
"image": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-image", "run", "mcp_image.py"]
}
}
}
Cursor
Para agregar este servidor MCP a Cursor:
- Abre Cursor y ve a Configuración (Barra de navegación → Configuración de Cursor)
- Navega a Características → Servidores MCP
- Haz clic en + Agregar Nuevo Servidor MCP
- Ingresa la siguiente configuración:
{
"mcpServers": {
"image": {
"command": "uv",
"args": ["--directory", "/path/to/mcp-image", "run", "mcp_image.py"]
}
}
}
Herramientas Disponibles
El servidor proporciona las siguientes herramientas:
fetch_images: Obtiene y procesa imágenes desde URLs o rutas de archivos locales Parámetros: image_sources: Lista de URLs o rutas de archivos a imágenes Devuelve: Lista de imágenes procesadas con codificación base64 y tipos MIME
Ejemplos de Uso
Ahora puedes usar comandos como:
- "Obtén estas imágenes: [lista de URLs o rutas de archivos]"
- "Carga y procesa esta imagen local: [ruta_de_archivo]"
Ejemplos
# URL-only test
[
"https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Chocolate_%28blue_background%29.jpg/400px-Chocolate_%28blue_background%29.jpg",
"https://imgs.search.brave.com/Sz7BdlhBoOmU4wZjnUkvgestdwmzOzrfc3GsiMr27Ik/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9pbWdj/ZG4uc3RhYmxlZGlm/ZnVzaW9ud2ViLmNv/bS8yMDI0LzEwLzE4/LzJmOTY3NTViLTM0/YmQtNDczNi1iNDRh/LWJlMTVmNGM5MDBm/My5qcGc",
"https://shigacare.fukushi.shiga.jp/mumeixxx/img/main.png"
]
# Mixed URL and local file test
[
"https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Chocolate_%28blue_background%29.jpg/400px-Chocolate_%28blue_background%29.jpg",
"C:\\Users\\username\\Pictures\\image1.jpg",
"https://imgs.search.brave.com/Sz7BdlhBoOmU4wZjnUkvgestdwmzOzrfc3GsiMr27Ik/rs:fit:860:0:0:0/g:ce/aHR0cHM6Ly9pbWdj/ZG4uc3RhYmxlZGlm/ZnVzaW9ud2ViLmNv/bS8yMDI0LzEwLzE4/LzJmOTY3NTViLTM0/YmQtNDczNi1iNDRh/LWJlMTVmNGM5MDBm/My5qcGc",
"C:\\Users\\username\\Pictures\\image2.jpg"
]
Depuración
Si encuentras algún problema:
- Verifica que todas las dependencias estén instaladas correctamente
- Confirma que el servidor esté ejecutándose y escuchando conexiones
- Para problemas de carga de imágenes locales, asegúrate de que las rutas de archivos sean correctas y accesibles
- Para errores de "Tipo de imagen no compatible", verifica el manejo del tipo de contenido
- Busca mensajes de error en la salida del servidor
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.