Wikimedia Image Search

Servidor MCP que permite a los asistentes de IA buscar imágenes de Wikimedia Commons con metadatos y miniaturas visuales.

Documentación

Servidor MCP de Búsqueda de Imágenes de Wikimedia

Este servidor MCP (Model Context Protocol) permite a los asistentes de IA buscar imágenes en Wikimedia Commons. Proporciona metadatos detallados y composiciones de miniaturas opcionales para ayudar a los modelos de IA a comparar visualmente los resultados.

Descripción general

Este servidor está diseñado para dar "ojos" a los asistentes de IA al buscar contenido visual. En lugar de adivinar basándose únicamente en nombres de archivo o descripciones de texto, la IA puede recuperar una lista estructurada de metadatos de imágenes y una imagen compuesta que contiene miniaturas de los resultados de búsqueda.

Esta capacidad es particularmente útil cuando un asistente de IA necesita:

  • Encontrar imágenes adecuadas para crear sitios web, artículos o presentaciones.
  • Seleccionar imágenes para materiales educativos o libros.
  • Verificar el contenido visual de una imagen antes de recomendarla.
  • Comparar múltiples imágenes para elegir la más relevante para un contexto específico.

Al proporcionar tanto metadatos (licencia, autor, descripción, dimensiones) como una vista previa visual, la IA puede tomar decisiones informadas sobre qué imágenes usar o descargar.

Configuración

Requisitos previos

  • Node.js: Versión 18 o superior.
  • Cliente MCP: Un cliente compatible como VS Code, Cursor, Claude Code, Windsurf, Cline, Claude Desktop...

Instalación

Para usar este servidor, configura tu cliente MCP para ejecutarlo usando npx.

VS Code

Agrega la siguiente configuración a tu archivo de configuración de MCP (normalmente ubicado en %APPDATA%\Code\User\globalStorage\mcp-servers.json en Windows o ~/Library/Application Support/Code/User/globalStorage/mcp-servers.json en macOS).

{
  "mcpServers": {
    "wikimedia-image-search": {
      "command": "npx",
      "args": [
        "-y",
        "wikimedia-image-search-mcp"
      ]
    }
  }
}
Cursor

Ve a Configuración de Cursor > MCP > Agregar nuevo servidor MCP.

  • Nombre: wikimedia-image-search
  • Tipo: comando
  • Comando: npx -y wikimedia-image-search-mcp

Alternativamente, edita tu archivo .cursor/mcp.json:

{
  "mcpServers": {
    "wikimedia-image-search": {
      "command": "npx",
      "args": [
        "-y",
        "wikimedia-image-search-mcp"
      ]
    }
  }
}
Claude Desktop

Edita tu archivo claude_desktop_config.json (normalmente ubicado en %APPDATA%\Claude\claude_desktop_config.json en Windows o ~/Library/Application Support/Claude/claude_desktop_config.json en macOS).

{
  "mcpServers": {
    "wikimedia-image-search": {
      "command": "npx",
      "args": [
        "-y",
        "wikimedia-image-search-mcp"
      ]
    }
  }
}
Claude Code

Ejecuta el siguiente comando en tu terminal:

claude mcp add wikimedia-image-search -- npx -y wikimedia-image-search-mcp

Uso de la herramienta

Este servidor expone una única herramienta: wikimedia_search_images.

Esquema de la herramienta

La herramienta acepta los siguientes parámetros:

  • query (cadena, obligatorio): Los términos de búsqueda (por ejemplo, "sunset ocean", "eiffel tower").
  • limit (número, opcional): Número máximo de resultados a devolver (predeterminado: 9, máximo: 50).
  • offset (número, opcional): Número de resultados a omitir para la paginación.
  • license (cadena, opcional): Filtrar por licencia. Opciones: "all" (predeterminado) o "no_restrictions" (CC0/Dominio Público).
  • include_thumbnails (booleano, opcional): Si se debe generar y devolver una imagen compuesta de miniaturas (predeterminado: true).

Cómo funciona

  1. Obtención: La herramienta consulta la API de Wikimedia Commons utilizando los términos de búsqueda y filtros proporcionados. Recupera datos JSON sin procesar que contienen URLs de imágenes, metadatos e información de licencia.
  2. Procesamiento: La respuesta JSON sin procesar se analiza y transforma en una lista limpia y estructurada de objetos ImageMetadata.
  3. Formateo:
    • Texto: La lista de metadatos se convierte en una cadena con formato YAML. Esto proporciona a la IA una descripción general de texto legible y estructurada de los resultados (incluyendo tamaño de archivo, dimensiones, autor y licencia).
    • Visual: Si include_thumbnails es verdadero, la herramienta descarga la miniatura de cada resultado. Luego utiliza la biblioteca sharp para componer estas miniaturas en una sola imagen de cuadrícula, con números de índice superpuestos en cada imagen.
  4. Respuesta: La herramienta devuelve un mensaje de contenido múltiple que contiene el texto YAML y la imagen compuesta (tipo MIME image/jpeg).

Puedes ver ejemplos de los archivos de salida en el directorio test-output/:

Demostración

Desarrollo

Para contribuir a este proyecto o ejecutarlo localmente desde el código fuente:

  1. Clonar el repositorio:

    git clone https://github.com/yanexr/wikimedia-image-search-mcp.git
    cd wikimedia-image-search-mcp
    
  2. Instalar dependencias:

    npm install
    # or
    pnpm install
    
  3. Compilar el proyecto:

    npm run build
    # or
    pnpm run build
    
  4. Configuración local: Para probar el servidor localmente con un cliente MCP, apunta la configuración a tu archivo compilado.

    {
      "mcpServers": {
        "wikimedia-local": {
          "command": "node",
          "args": [
            "C:/path/to/wikimedia-image-search-mcp/dist/index.js"
          ]
        }
      }
    }
    
  5. Pruebas y depuración: Puedes usar el Inspector MCP para probar el servidor de forma interactiva:

    npm run inspect
    # or
    pnpm run inspect