Google Images MCP Server
Resultados de Google Images con sus páginas de origen, miniaturas y URLs de resolución completa, como JSON estructurado.
Documentación
Servidor MCP de Google Images
Un servidor de Model Context Protocol (MCP) alojado que ofrece a Claude, Cursor, Windsurf y cualquier otro cliente MCP una herramienta de solo lectura para Google Images. Ejecuta una búsqueda de imágenes con filtros de tamaño, color y tipo, y obtén 100 resultados por llamada, cada uno con la página de origen y la URL del archivo en resolución completa, como JSON estructurado, sin necesidad de alojar nada.
Lee la página de resultados de Google Images tal como la ve un visitante sin sesión iniciada.
1,000 créditos gratis cada mes, sin necesidad de tarjeta, lo que equivale a 200 llamadas a Google Images a la tarifa de 5 créditos.
https://mcp.hasdata.com/api/mcp?apis=google_images
Contenido
- Lo que necesitas
- Inicio rápido
- Ejemplos de indicaciones
- Herramientas
- Errores y rutas de fallo
- Precios, nivel gratuito y límites
- Cómo se compara
- Preguntas frecuentes
- Enlaces de HasData
- Desarrollo
- Contribuciones
- Licencia
Lo que necesitas
Un cliente MCP y una clave de API de HasData desde el panel de control, gratis de crear sin tarjeta, y el nivel gratuito cubre unas 200 llamadas al mes a la tarifa de 5 créditos. Este es un servidor remoto, así que la ruta más sencilla es una URL y un encabezado x-api-key, sin contenedor que ejecutar. Un cliente que solo hable stdio llega a través de un lanzador ligero, publicado como @hasdata/google-images-mcp en npm y hasdata-google-images-mcp en PyPI, como se muestra a continuación.
Inicio rápido
La URL del servidor es la misma para todos los clientes. Lo probamos de forma práctica en Claude Code y Claude Desktop. Los demás bloques siguen el formato documentado de cada cliente para un servidor remoto.
| Campo | Valor |
|---|---|
| URL | https://mcp.hasdata.com/api/mcp?apis=google_images |
| Transporte | HTTP, transmisible |
| Encabezado de autenticación | x-api-key: HASDATA_API_KEY |
Los clientes con soporte OAuth pueden añadir la misma URL como conector e iniciar sesión sin poner una clave en un archivo de configuración.
Claude Code
claude mcp add --transport http google-images "https://mcp.hasdata.com/api/mcp?apis=google_images" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
Configuración, luego Conectores, luego Añadir conector personalizado, y pega https://mcp.hasdata.com/api/mcp?apis=google_images e inicia sesión.
Para la ruta de archivo de configuración, Claude Desktop solo carga servidores locales (stdio), así que llega a un servidor remoto a través de un lanzador stdio. El paquete @hasdata/google-images-mcp es ese lanzador, y lee la clave del entorno. Añade esto a claude_desktop_config.json:
{
"mcpServers": {
"google-images": {
"command": "npx",
"args": ["-y", "@hasdata/google-images-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Para Python en lugar de Node, cambia el lanzador por el paquete de PyPI, que uvx ejecuta sin instalación manual:
{
"mcpServers": {
"google-images": {
"command": "uvx",
"args": ["hasdata-google-images-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Cursor
~/.cursor/mcp.json para cada proyecto, o .cursor/mcp.json para uno solo:
{
"mcpServers": {
"google-images": {
"url": "https://mcp.hasdata.com/api/mcp?apis=google_images",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json. Windsurf llama al campo serverUrl, no url:
{
"mcpServers": {
"google-images": {
"serverUrl": "https://mcp.hasdata.com/api/mcp?apis=google_images",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
VS Code
.vscode/mcp.json en el espacio de trabajo:
{
"servers": {
"google-images": {
"type": "http",
"url": "https://mcp.hasdata.com/api/mcp?apis=google_images",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Ejemplos de indicaciones
- Encuentra imágenes del horizonte de Austin y dame las de más de 1500 píxeles de ancho.
- ¿Qué sitios están posicionando imágenes para este nombre de producto?
- Obtén fotografías en blanco y negro para esta consulta, omitiendo clipart y arte lineal.
- Busca esta consulta en el Google alemán y compara las fuentes con las de EE. UU.
- Encuentra imágenes de este monumento y dime cuáles son fotos de archivo.
- Trae la siguiente página de resultados para esta consulta.
Una sola llamada responde a cada una de estas, porque una página trae 100 resultados. La paginación solo se necesita más allá de eso.
Herramientas
Una herramienta, 5 créditos por llamada exitosa.
Obtener resultados de búsqueda de imágenes
hasdata_google_images_images_getImageSearchResults
Una página de resultados de Google Images.
| Parámetro | Tipo | Obligatorio | Notas |
|---|---|---|---|
q | string | sí | El término de búsqueda |
tbs | string | La cadena de filtros de Google para tamaño, color y tipo. Ver más abajo | |
location | string | Ubicación canónica de Google para la búsqueda | |
uule | string | La ubicación codificada, si ya tienes una | |
domain | string | Dominio de Google, uno de 195, por defecto google.com | |
gl | string | Código de país, uno de 245 | |
hl | string | Idioma de la interfaz, uno de 159 | |
safe | string | active o off | |
filter | number | 1 mantiene los filtros de resultados similares y omitidos de Google, 0 los elimina | |
deviceType | string | desktop, mobile o tablet | |
ijn | number | Número de página, donde 0 es la primera página |
Devuelve un array de imagesResults. Cada entrada lleva position, title, link a la página que aloja la imagen, source como nombre del sitio, thumbnail en la CDN de Google, original como el archivo en resolución completa, y originalWidth y originalHeight.
{
"position": 1,
"title": "The city skyline of Austin, Texas - Backyard Image",
"link": "https://www.backyardimage.com/the-city-skyline-of-austin-texas/",
"source": "Backyard Image",
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSOGtSVdgWtQtW1_x8-gi7iQckNHXBQ5FdKqEpCKXsbWg&s=10",
"original": "https://www.backyardimage.com/wp-content/uploads/2025/01/2025-01-12-drone-Heap-0015-Pano-Edit.jpg",
"originalWidth": 1200,
"originalHeight": 615
}
El parámetro tbs es la propia cadena de filtros de Google, y varios filtros se combinan con comas.
| Filtro | Valor |
|---|---|
| Grande, mediano o icono | isz:l, isz:m, isz:i |
| Más grande que un tamaño | isz:lt,islt:qsvga para 400×300, hasta islt:4mp para 2272×1704 |
| Tamaño exacto | isz:ex,iszw:1000,iszh:1000 |
| Color completo o blanco y negro | ic:color, ic:gray |
| Un color específico | ic:specific,isc:red, y los demás nombres de colores |
| Tipo | itp:photo, itp:face, itp:clipart, itp:lineart, itp:animated |
Errores y rutas de fallo
Planifica estos en lugar de asumir un camino sin problemas.
original es una URL de terceros y puede estar muerta, bloqueada por hotlink o lenta. Apunta al archivo en el sitio que lo aloja, así que no tiene ninguna de las garantías de disponibilidad de Google. Obténla de forma defensiva y recurre a thumbnail, que se sirve desde la CDN de Google.
thumbnail es un enlace de la CDN de Google, no una imagen incrustada. Es una URL real en lugar de un URI de datos, así que mostrarla aún cuesta una solicitud a gstatic.com.
Una página trae 100 resultados, no 10. El costo es por llamada y no por resultado, así que una llamada que cubre 100 imágenes es la forma más económica aquí. Recurre a ijn solo más allá del primer centenar.
ijn empieza en cero. Pasar 1 obtiene la segunda página, no la primera.
Las dimensiones describen el original, no la miniatura. originalWidth y originalHeight son el archivo detrás de original, así que un filtro de tamaño aplicado localmente tiene que leer esos valores en lugar de medir lo que mostraste.
Los valores de tbs son de Google, y uno no reconocido se ignora en lugar de rechazarse. Un filtro que no hace nada en silencio se ve igual que un filtro que lo encontró todo, así que comprueba que los resultados realmente se redujeron antes de confiar en una cadena tbs que armaste a mano.
domain, gl y hl son tres ejes separados. El dominio es qué Google responde, el código de país es de dónde viene la búsqueda, y el idioma es la interfaz. Cambiar uno mueve los resultados menos de lo que esperas.
Los resultados que traen datos también llevan un requestMetadata.id que vale la pena citar en soporte.
Precios, nivel gratuito y límites
La herramienta de Google Images cuesta 5 créditos por llamada exitosa. El tamaño de la respuesta no cambia el precio, y una llamada devuelve 100 resultados, lo que la convierte en una de las herramientas más baratas del catálogo por fila devuelta.
El nivel gratuito es 1,000 créditos cada mes sin tarjeta, lo que equivale a 200 llamadas a Google Images a la tarifa base. Se renueva con el ciclo de facturación, así que un agente de bajo volumen funciona con el nivel gratuito indefinidamente.
Los planes de pago empiezan en $49 al mes por 200,000 créditos, lo que equivale a 40,000 llamadas. El precio unitario baja con el volumen, desde $1.23 por 1,000 llamadas en el plan de entrada hasta $0.50 en Business, $0.42 en Growth y $0.37 en los planes de alto volumen más grandes.
Tu plan también define la concurrencia. El nivel gratuito permite 1 solicitud a la vez, Startup 15, Business 30, Growth 50, y los planes de alto volumen van de 200 a 1,500. Reintenta con el 429 con retroceso en cualquier cosa desatendida, porque un agente que recorre una lista de palabras clave llegará al techo antes que tú.
Una solicitud que devuelve un código distinto de 200 no se factura. Una llamada exitosa que no encuentra nada sigue siendo una llamada.
Cómo se compara
La API JSON de Búsqueda personalizada de Google es la ruta oficial a los resultados de imágenes, y es un instrumento más limitado.
| API JSON de Búsqueda personalizada | Este servidor | |
|---|---|---|
| Elegibilidad | Un proyecto de Google Cloud y un motor de búsqueda que configures | Una clave de API |
| Resultados por llamada | 10 | 100 |
| Límite diario | 10,000 consultas al día, nivel gratuito de 100 | Los créditos de tu plan |
| Alcance | Los sitios que cubre tu motor programable | La página pública de Google Images |
| Conjunto de filtros | Un subconjunto documentado | La propia cadena tbs de Google |
| URL en resolución completa | Devuelta | Devuelta |
La fila que lo decide es el alcance. Un motor de búsqueda programable cubre lo que configures para cubrir, y buscar en la web abierta con él requiere configuración adicional y aun así se comporta diferente de la página que ve una persona. Cuando controlas los sitios que quieres buscar, la API oficial es gratis a bajo volumen y encaja mejor.
Preguntas frecuentes
¿Hay un servidor MCP oficial de Google Images?
Google no publica uno. Este lo mantiene HasData y lee páginas públicas de Google Images.
¿Qué es un servidor MCP de Google Images?
Un servidor MCP expone herramientas que un cliente de IA puede llamar. Este convierte una página de resultados de Google Images en JSON sobre el que un agente puede razonar, sin un navegador ni una librería de scraping en tu stack.
¿Necesito una cuenta de Google o un proyecto de Cloud?
No. La única credencial es tu clave de HasData.
¿Puedo descargar las imágenes?
La respuesta te da original, la URL del archivo en el sitio que lo aloja. Si puedes descargar, almacenar o reutilizar ese archivo es una cuestión de derechos de autor sobre esa imagen, y no la responde el hecho de que Google la haya indexado. Asume que una imagen está protegida a menos que hayas comprobado lo contrario.
¿Puedo buscar por imagen en lugar de por texto?
No. Esta herramienta acepta una consulta de texto. La búsqueda inversa de imágenes es un endpoint diferente.
¿Cómo filtro por tamaño?
A través de tbs. isz:l obtiene imágenes grandes, isz:lt,islt:2mp obtiene cualquier cosa por encima de 1600×1200, y isz:ex,iszw:1000,iszh:1000 obtiene exactamente 1000×1000. Los filtros se combinan con comas.
¿Puedo usar esto junto con otras APIs de HasData?
Sí. Una clave cubre todo, y un endpoint las sirve todas a través del parámetro apis. Apunta un cliente a ?apis=google_images,google_serp para obtener ambos conjuntos de herramientas en una conexión, o a mcp.hasdata.com/api/mcp para el catálogo completo.
¿HasData está afiliado a Google?
No. HasData es un servicio independiente y no está afiliado, respaldado ni patrocinado por Google. Google es una marca comercial de su respectivo propietario. Las herramientas trabajan solo con datos disponibles públicamente, y eres responsable de usar los resultados de acuerdo con los términos de Google y la ley que te aplica.
Cumplimiento y datos personales
La búsqueda de imágenes devuelve lo que coincida con la consulta, por lo que una consulta que nombre a una persona devuelve fotos de esa persona, y itp:face solicita rostros específicamente. Las imágenes de personas identificables son datos personales, y en varias jurisdicciones el procesamiento biométrico está regulado por separado y de forma más estricta. Construir un conjunto de rostros a partir de estos resultados es el caso que requiere pensar más detenidamente antes de empezar, en lugar de después.
Enlaces de HasData
- API de Google Images, el endpoint REST detrás de esta herramienta
- Documentación de la API
- Documentación del servidor MCP
- Precios
- Panel de control
Otros servidores MCP de HasData: Google Search, Google Maps, Google Trends, Google Flights, Bing, DuckDuckGo, YouTube, TikTok, Instagram, Amazon, Walmart, Shopify, Yelp, Yellow Pages, Zillow, Redfin, Airbnb, Booking.com, Indeed, Glassdoor.
Desarrollo
El lanzador es un puente delgado de stdio hacia el servidor remoto, por lo que no hay nada que compilar.
npm install
HASDATA_API_KEY=your_key_here npm test
Las pruebas en test/ verifican el contrato de la herramienta, la parte que puede romperse sin un commit aquí. Comprueban que ?apis=google_images devuelve la única herramienta esperada, que su nombre no ha cambiado, que todavía requiere q y lleva una descripción, que los parámetros de filtro y segmentación documentados en este README siguen en el esquema, y que la clave en uso es realmente aceptada. Esa última comprobación llama a la herramienta de verdad y cuesta 5 créditos, que es el precio de un canario que puede fallar por la razón correcta.
Una prueba verifica que una búsqueda en vivo devuelve resultados que llevan tanto original como sus dimensiones. Esos tres campos son lo que hace que valga la pena llamar a esta herramienta en lugar de a un SERP simple, y un cambio en el analizador que los eliminara dejaría una lista de herramientas verde detrás.
El conjunto de pruebas del contrato también se ejecuta semanalmente según un horario, porque la lista de herramientas ascendente puede cambiar sin que nadie toque este repositorio.
Contribuciones
Una tabla de herramientas, una muestra de respuesta o un comportamiento documentado que no coincida con la realidad merece un issue. Hay una plantilla exactamente para eso. Las solicitudes de extracción son bienvenidas para lo mismo, y para cualquier cosa en el lanzador.
Licencia
MIT, ver LICENCIA.