Google Images MCP Server

Resultados do Google Images com suas páginas de origem, miniaturas e URLs em resolução completa, como JSON estruturado.

Documentação

Servidor MCP do Google Images

Um servidor de Model Context Protocol (MCP) hospedado que oferece ao Claude, Cursor, Windsurf e qualquer outro cliente MCP uma ferramenta somente leitura do Google Images. Execute uma pesquisa de imagens com filtros de tamanho, cor e tipo e obtenha 100 resultados por chamada, cada um com a página de origem e o URL do arquivo em resolução total, como JSON estruturado, sem nada para hospedar.

Ele lê a página de resultados do Google Images que um visitante não autenticado vê.

1.000 créditos gratuitos todo mês, sem necessidade de cartão, o que equivale a 200 chamadas do Google Images na taxa de 5 créditos.

https://mcp.hasdata.com/api/mcp?apis=google_images

Glama score tool contract MCP Tools npm PyPI License

Conteúdo

O que você precisa

Um cliente MCP e uma chave de API HasData do painel, gratuita para criar sem cartão, e o plano gratuito cobre cerca de 200 chamadas por mês na taxa de 5 créditos. Este é um servidor remoto, então o caminho mais simples é um URL e um cabeçalho x-api-key, sem contêiner para executar. Um cliente que só fala stdio o acessa por meio de um lançador leve, publicado como @hasdata/google-images-mcp no npm e hasdata-google-images-mcp no PyPI, mostrado abaixo.

Início rápido

O URL do servidor é o mesmo para todos os clientes. Nós o executamos na prática no Claude Code e no Claude Desktop. Os outros blocos seguem o formato documentado de cada cliente para um servidor remoto.

CampoValor
URLhttps://mcp.hasdata.com/api/mcp?apis=google_images
TransporteHTTP, streamable
Cabeçalho de autenticaçãox-api-key: HASDATA_API_KEY

Clientes com suporte a OAuth podem adicionar o mesmo URL como conector e entrar sem colocar uma chave em um arquivo de configuração.

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

Configurações, depois Conectores, depois Adicionar conector personalizado, e cole https://mcp.hasdata.com/api/mcp?apis=google_images e entre.

Para o caminho do arquivo de configuração, o Claude Desktop carrega apenas servidores locais (stdio), então ele acessa um servidor remoto por meio de um lançador stdio. O pacote @hasdata/google-images-mcp é esse lançador, e ele lê a chave do ambiente. Adicione isto ao claude_desktop_config.json:

{
  "mcpServers": {
    "google-images": {
      "command": "npx",
      "args": ["-y", "@hasdata/google-images-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

Para Python em vez de Node, troque o lançador pelo pacote PyPI, que o uvx executa sem instalação manual:

{
  "mcpServers": {
    "google-images": {
      "command": "uvx",
      "args": ["hasdata-google-images-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}
Cursor

~/.cursor/mcp.json para cada projeto, ou .cursor/mcp.json para um único:

{
  "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. O Windsurf chama o campo de serverUrl, não 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 no espaço de trabalho:

{
  "servers": {
    "google-images": {
      "type": "http",
      "url": "https://mcp.hasdata.com/api/mcp?apis=google_images",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

Exemplos de prompts

  • Encontre imagens do horizonte de Austin e me dê as que têm mais de 1500 pixels de largura.
  • Quais sites estão classificando imagens para este nome de produto?
  • Obtenha fotografias em preto e branco para esta consulta, ignorando clipart e arte de linha.
  • Pesquise esta consulta no Google alemão e compare as fontes com as dos EUA.
  • Encontre imagens deste ponto turístico e me diga quais são fotos de banco de imagens.
  • Puxe a próxima página de resultados para esta consulta.

Uma chamada responde a cada uma dessas, porque uma página carrega 100 resultados. A paginação só é necessária além disso.

Ferramentas

Uma ferramenta, 5 créditos por chamada bem-sucedida.

Obter resultados de pesquisa de imagens

hasdata_google_images_images_getImageSearchResults

Uma página de resultados do Google Images.

ParâmetroTipoObrigatórioObservações
qstringsimO termo de pesquisa
tbsstringA string de filtro do Google para tamanho, cor e tipo. Veja abaixo
locationstringLocalização canônica do Google para a pesquisa
uulestringA localização codificada, se você já tiver uma
domainstringDomínio do Google, um de 195, padrão é google.com
glstringCódigo do país, um de 245
hlstringIdioma da interface, um de 159
safestringactive ou off
filternumber1 mantém os filtros de resultados semelhantes e omitidos do Google, 0 os remove
deviceTypestringdesktop, mobile ou tablet
ijnnumberNúmero da página, onde 0 é a primeira página

Retorna um array imagesResults. Cada entrada carrega position, title, link para a página que hospeda a imagem, source como o nome do site, thumbnail no CDN do Google, original como o arquivo em resolução total, e originalWidth e 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
}

O parâmetro tbs é a própria string de filtro do Google, e vários filtros se combinam com vírgulas.

FiltroValor
Grande, médio ou íconeisz:l, isz:m, isz:i
Maior que um tamanhoisz:lt,islt:qsvga para 400×300, até islt:4mp para 2272×1704
Tamanho exatoisz:ex,iszw:1000,iszh:1000
Cor total ou preto e brancoic:color, ic:gray
Uma cor específicaic:specific,isc:red, e os outros nomes de cores
Tipoitp:photo, itp:face, itp:clipart, itp:lineart, itp:animated

Erros e caminhos de falha

Planeje estes em vez de assumir um caminho feliz.

original é um URL de terceiros e pode estar morto, bloqueado por hotlink ou lento. Ele aponta para o arquivo no site que o hospeda, então não carrega nenhuma disponibilidade do Google. Busque-o defensivamente e recorra ao thumbnail, que é servido pelo CDN do Google.

thumbnail é um link do CDN do Google, não uma imagem incorporada. É um URL real em vez de um data URI, então exibi-lo ainda custa uma solicitação ao gstatic.com.

Uma página carrega 100 resultados, não 10. O custo é por chamada em vez de por resultado, então uma chamada cobrindo 100 imagens é a forma mais barata aqui. Use ijn apenas além dos primeiros cem.

ijn começa em zero. Passar 1 obtém a segunda página, não a primeira.

As dimensões descrevem o original, não a miniatura. originalWidth e originalHeight são o arquivo por trás de original, então um filtro de tamanho aplicado localmente tem que ler esses em vez de medir o que você exibiu.

Os valores de tbs são do Google, e um não reconhecido é ignorado em vez de rejeitado. Um filtro que silenciosamente não faz nada parece o mesmo que um filtro que encontrou tudo, então verifique se os resultados realmente estreitaram antes de confiar em uma string tbs que você montou manualmente.

domain, gl e hl são três eixos separados. O domínio é qual Google responde, o código do país é de onde a pesquisa vem, e o idioma é a interface. Mudar um move os resultados menos do que você espera.

Resultados que carregam dados também carregam um requestMetadata.id que vale citar no suporte.

Preços, plano gratuito e limites

A ferramenta do Google Images custa 5 créditos por chamada bem-sucedida. O tamanho da resposta não muda o preço, e uma chamada retorna 100 resultados, o que a torna uma das ferramentas mais baratas do catálogo por linha retornada.

O plano gratuito é 1.000 créditos todo mês sem cartão, o que equivale a 200 chamadas do Google Images na taxa base. Ele renova com o ciclo de cobrança, então um agente de baixo volume roda no plano gratuito indefinidamente.

Os planos pagos começam em US$ 49 por mês para 200.000 créditos, o que equivale a 40.000 chamadas. O preço unitário cai com o volume, de US$ 1,23 por 1.000 chamadas no plano inicial para US$ 0,50 no Business, US$ 0,42 no Growth e US$ 0,37 nos maiores planos de alto volume.

Seu plano também define a concorrência. O plano gratuito permite 1 solicitação por vez, Startup 15, Business 30, Growth 50, e os planos de alto volume vão de 200 a 1.500. Tente novamente no 429 com backoff em qualquer coisa não supervisionada, porque um agente que varre uma lista de palavras-chave atingirá o teto antes de você.

Uma solicitação que retorna não-200 não é cobrada. Uma chamada bem-sucedida que não encontra nada ainda é uma chamada.

Comparação

A API JSON de Pesquisa Personalizada do Google é a rota oficial para resultados de imagens, e é um instrumento mais estreito.

API JSON de Pesquisa PersonalizadaEste servidor
ElegibilidadeUm projeto Google Cloud e um mecanismo de pesquisa que você configuraUma chave de API
Resultados por chamada10100
Teto diário10.000 consultas por dia, plano gratuito de 100Os créditos do seu plano
EscopoOs sites que seu mecanismo programável cobreA página pública do Google Images
Conjunto de filtrosUm subconjunto documentadoA própria string tbs do Google
URL em resolução totalRetornadoRetornado

A linha que decide é o escopo. Um mecanismo de pesquisa programável cobre o que você configura para cobrir, e pesquisar na web aberta com ele exige configuração extra e ainda se comporta de forma diferente da página que uma pessoa vê. Quando você controla os sites que quer pesquisar, a API oficial é gratuita em baixo volume e o melhor ajuste.

Perguntas frequentes

Existe um servidor MCP oficial do Google Images?

O Google não publica um. Este é mantido pela HasData e lê páginas públicas do Google Images.

O que é um servidor MCP do Google Images?

Um servidor MCP expõe ferramentas que um cliente de IA pode chamar. Este transforma uma página de resultados do Google Images em JSON sobre o qual um agente pode raciocinar, sem um navegador ou uma biblioteca de scraping na sua stack.

Preciso de uma conta Google ou de um projeto Cloud?

Não. A única credencial é sua chave HasData.

Posso baixar as imagens?

A resposta fornece original, o URL do arquivo no site que o hospeda. Se você pode baixar, armazenar ou reutilizar esse arquivo é uma questão de direitos autorais sobre essa imagem, e não é respondida pelo fato de o Google tê-la indexado. Assuma que uma imagem é protegida a menos que você tenha verificado o contrário.

Posso pesquisar por imagem em vez de por texto?

Não. Esta ferramenta aceita uma consulta de texto. A pesquisa reversa de imagens é um endpoint diferente.

Como filtro por tamanho?

Através de tbs. isz:l obtém imagens grandes, isz:lt,islt:2mp obtém qualquer coisa acima de 1600×1200, e isz:ex,iszw:1000,iszh:1000 obtém exatamente 1000×1000. Os filtros se combinam com vírgulas.

Posso usar isso junto com outras APIs HasData?

Sim. Uma chave cobre tudo, e um endpoint atende a todos através do parâmetro apis. Aponte um cliente para ?apis=google_images,google_serp para obter ambos os conjuntos de ferramentas em uma conexão, ou para mcp.hasdata.com/api/mcp para o catálogo completo.

A HasData é afiliada ao Google?

Não. A HasData é um serviço independente e não é afiliada, endossada ou patrocinada pelo Google. O Google é uma marca registrada de seu respectivo proprietário. As ferramentas trabalham apenas com dados publicamente disponíveis, e você é responsável por usar os resultados em conformidade com os termos do Google e a lei que se aplica a você.

Conformidade e dados pessoais

A pesquisa de imagens retorna o que a consulta encontrou, então uma consulta nomeando uma pessoa retorna fotos dessa pessoa, e itp:face pede por rostos especificamente. Imagens de pessoas identificáveis são dados pessoais, e em várias jurisdições o processamento biométrico é regulamentado separadamente e de forma ainda mais estrita. Construir um conjunto de rostos a partir desses resultados é o caso que exige pensar com mais cuidado antes de começar, e não depois.

Links HasData

Outros servidores MCP da 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.

Desenvolvimento

O lançador é uma ponte stdio leve para o servidor remoto, então não há nada para compilar.

npm install
HASDATA_API_KEY=your_key_here npm test

Os testes em test/ verificam o contrato da ferramenta, a parte que pode quebrar sem um commit aqui. Eles verificam que ?apis=google_images retorna a única ferramenta esperada, que seu nome não mudou, que ainda exige q e carrega uma descrição, que os parâmetros de filtro e segmentação documentados neste README ainda estão no esquema, e que a chave em uso é realmente aceita. Esse último teste chama a ferramenta de verdade e custa 5 créditos, que é o preço de um canário que pode falhar pelo motivo certo.

Um teste verifica que uma pesquisa ao vivo retorna resultados carregando tanto original quanto suas dimensões. Esses três campos são o que torna esta ferramenta digna de ser chamada em vez de um SERP simples, e uma mudança no parser que os removesse deixaria uma lista de ferramentas verde atrás de si.

A suíte de contrato também roda semanalmente em um cronograma, porque a lista de ferramentas upstream pode mudar sem que ninguém toque neste repositório.

Contribuindo

Uma tabela de ferramentas, uma amostra de resposta ou um comportamento documentado que não corresponda à realidade vale uma issue. Existe um modelo exatamente para isso. Pull requests são bem-vindos para o mesmo, e para qualquer coisa no lançador.

Licença

MIT, veja LICENSE.