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

  • 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

  1. Clona este repositorio
  2. Crea y activa un entorno virtual usando uv:
uv venv
# On Windows:
.venv\Scripts\activate
# On Unix/MacOS:
source .venv/bin/activate
  1. 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:

  1. Edita el archivo de configuración en ~/.codeium/windsurf/mcp_config.json
  2. 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:

  1. Abre Cursor y ve a Configuración (Barra de navegación → Configuración de Cursor)
  2. Navega a Características → Servidores MCP
  3. Haz clic en + Agregar Nuevo Servidor MCP
  4. 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:

  1. Verifica que todas las dependencias estén instaladas correctamente
  2. Confirma que el servidor esté ejecutándose y escuchando conexiones
  3. Para problemas de carga de imágenes locales, asegúrate de que las rutas de archivos sean correctas y accesibles
  4. Para errores de "Tipo de imagen no compatible", verifica el manejo del tipo de contenido
  5. 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.