HasData Google Search MCP Server
SERP do Google como JSON, cobrindo resultados orgânicos, Visão Geral de IA, As Pessoas Também Perguntam, Modo IA, notícias e compras.
Documentação
Google Search MCP Server (SERP)
Um servidor hospedado Model Context Protocol (MCP) que oferece ao Claude, Cursor, Windsurf e qualquer outro cliente MCP oito ferramentas somente leitura de Google Search. Obtenha o SERP ao vivo com seu AI Overview e People Also Ask, execute uma consulta no Google AI Mode e leia resultados de notícias, compras, detalhes de produtos e vídeos curtos, tudo como JSON estruturado, sem projeto no Google Cloud e sem configuração de mecanismo de busca.
1.000 créditos grátis todo mês, sem necessidade de cartão, o que equivale a 100 chamadas completas de SERP ou 200 das chamadas de 5 créditos.
https://mcp.hasdata.com/mcp?apis=google_serp
"SERP" e "Google Search" são o mesmo produto aqui. Este servidor retorna páginas de resultados do mecanismo de busca do Google, analisadas.
Conteúdo
- O que você precisa
- Início rápido
- Exemplos de prompts
- Ferramentas
- Erros e caminhos de falha
- Preços, plano gratuito e limites
- Seleção de ferramentas
- Como se compara
- FAQ
- Links HasData
- Desenvolvimento
- Contribuindo
- Licença
O que você precisa
Um cliente MCP que fale HTTP transmissível com cabeçalhos personalizados. Uma chave de API HasData do painel, gratuita para criar sem cartão, e o plano gratuito cobre cerca de 100 a 200 chamadas por mês, dependendo da ferramenta. Nada mais. Este é um servidor remoto, então o caminho mais simples é uma URL e um cabeçalho, sem projeto no Google Cloud ou Programmable Search Engine para configurar. Um cliente somente stdio pode usar o inicializador @hasdata/google-search-mcp (npm) ou hasdata-google-search-mcp (PyPI).
Início rápido
| URL | https://mcp.hasdata.com/mcp?apis=google_serp |
| Transporte | HTTP, transmissível |
| Cabeçalho de autenticação | x-api-key: HASDATA_API_KEY |
A URL do servidor é a mesma 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.
Clientes com suporte a OAuth podem adicionar a mesma URL como conector e entrar sem colocar uma chave em um arquivo de configuração.
Claude Code
claude mcp add --transport http google-search "https://mcp.hasdata.com/mcp?apis=google_serp" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
O Claude Desktop carrega apenas servidores locais (stdio) do seu arquivo de configuração, então ele alcança um servidor remoto por meio de um inicializador stdio. O pacote @hasdata/google-search-mcp é esse inicializador, e ele lê a chave do ambiente.
claude_desktop_config.json:
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": ["-y", "@hasdata/google-search-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Prefere Python em vez de Node? Troque o inicializador pelo pacote PyPI, que o uvx executa sem instalação manual:
{
"mcpServers": {
"google-search": {
"command": "uvx",
"args": ["hasdata-google-search-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Um cliente com suporte a OAuth pode, em vez disso, adicionar a URL como um conector personalizado e pular o inicializador.
Cursor
.cursor/mcp.json:
{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"google-search": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Cline
{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/mcp?apis=google_serp",
"type": "streamableHttp",
"headers": { "x-api-key": "HASDATA_API_KEY" },
"disabled": false
}
}
}
VS Code
.vscode/mcp.json:
{
"servers": {
"google-search": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Gemini CLI
~/.gemini/settings.json:
{
"mcpServers": {
"google-search": {
"httpUrl": "https://mcp.hasdata.com/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Exemplos de prompts
Pesquise no Google por
best running shoese me dê os dez primeiros resultados orgânicos mais o AI Overview.
Uma chamada, 10 créditos. A resposta SERP traz o AI Overview inline junto com os resultados orgânicos.
Para a mesma consulta, pegue cada pergunta do People Also Ask e extraia sua resposta do AI Overview com fontes.
Uma chamada por pergunta, 10 créditos cada. Cada entrada relatedQuestions contém um aiOverview.pageToken, e a ferramenta AI Overview transforma esse token nos blocos de resposta e suas referências.
Pergunte ao Google AI Mode
what is the Model Context Protocole me dê a resposta com suas citações.
Uma chamada, 10 créditos. O AI Mode retorna a resposta gerada como blocos de texto com uma lista de referências.
Pesquise no Google Shopping por
nike air max, depois extraia o cartão completo do produto para o melhor resultado: cada loja que o vende, a faixa de preço e o detalhamento das avaliações.
Duas chamadas. Shopping custa 10 créditos e retorna um token por produto, e a ferramenta de produto imersivo gasta 5 para expandir esse token em lojas, variantes e avaliações.
Obtenha as últimas notícias do Google para
artificial intelligence, e separadamente os resultados de vídeos curtos paracooking pasta.
Duas chamadas, 10 créditos cada.
O fluxo de trabalho depende de duas cadeias. Uma resposta SERP devolve um aiOverview inline e um pageToken em cada pergunta do People Also Ask, então extrair as respostas generativas do Google é gratuito com a busca ou uma chamada de acompanhamento de 10 créditos por pergunta. Um resultado de compras também devolve um token por produto, então o salto de uma listagem para seu cartão completo de várias lojas é uma única chamada.
Ferramentas
| Ferramenta | O que retorna |
|---|---|
hasdata_google_serp_ai_mode_getAiModeResponse | O texto da resposta conversacional, links de fontes citadas, subdivisões de tópicos, sugestões de acompanhamento e um subsequentRequestToken para continuação em múltiplas etapas. 10 créditos por chamada |
hasdata_google_serp_ai_overview_getAiOverviewResponse | O texto da resposta gerada por IA, URLs de fontes referenciadas e seções expandidas de subtópicos. 10 créditos por chamada |
hasdata_google_serp_events_getEventInformation | Título do evento, data/hora de início, nome e endereço do local, links de ingressos/fontes, descrição e miniatura. 10 créditos por chamada |
hasdata_google_serp_immersive_product_getImmersive_e29f691177 | Ofertas de várias lojas (comerciante, preço, frete, condição, URL), especificações do produto, imagens, avaliações e o nextPageToken. 10 créditos por chamada |
hasdata_google_serp_news_getGoogleNews | Título do artigo, trecho, editora de origem, data de publicação, miniatura e URL, além de tokens para navegar por tópicos, subseções e clusters de histórias. 10 créditos por chamada |
hasdata_google_serp_product_getProductInformation | Título do produto, imagens, preço, avaliações, especificações, ofertas de comerciantes (vendedor, frete, condição, preço total) e texto de avaliação dependendo do searchType. 10 créditos por chamada |
hasdata_google_serp_serp_getSearchResults | Resultados orgânicos (título, link, trecho, posição), anúncios, grafo de conhecimento, pesquisas relacionadas, People Also Ask, pacote local, trechos em destaque, pageToken do AI Overview e rich…. 10 créditos por chamada |
hasdata_google_serp_serp_light_getSearchResults | Resultados orgânicos (título, link, link exibido, trecho, sitelinks, extensões, data, avaliação e contagem de avaliações), AI Overview com seus blocos de texto e referências de fontes,…. 5 créditos por chamada |
hasdata_google_serp_shopping_getSearchResults | Título do produto, preço, comerciante/fonte, avaliação, contagem de avaliações, miniatura, link do produto, productId, immersiveProductPageToken e chips de filtro com hasdata_link para…. 10 créditos por chamada |
hasdata_google_serp_short_videos_getShortVideosSearchResults | Título do vídeo, miniatura, duração, plataforma de origem, canal/criador, data de publicação e URL direta do vídeo. 10 créditos por chamada |
Dez ferramentas, todas somente leitura. As amostras abaixo são reduzidas de chamadas reais, e os resultados nelas mudam conforme o Google muda, então leia-as como formatos. Cada nome de ferramenta vincula à sua referência de endpoint.
As amostras são o payload, não a resposta inteira. Um resultado tools/call carrega um bloco de texto, e esse texto é ele próprio JSON contendo url, status, text e json, com os dados extraídos sob json. De uma resposta JSON-RPC bruta, o caminho é result.content[0].text, analisado, depois .json. Um cliente de chat desembrulha isso para você, e código que fala diretamente com o endpoint não.
Google SERP
hasdata_google_serp_serp_getSearchResults
A página completa de resultados para uma consulta.
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
q | string | sim | A consulta de busca, exatamente como um usuário digitaria |
gl / hl | string | Códigos de país e idioma de duas letras | |
location / uule | string | Localização geográfica para a busca, por nome ou como uma string uule | |
num | number | Número aproximado de resultados por página. O Google agora limita uma página a cerca de dez e ignora qualquer valor maior, então num acima de 10 não busca mais | |
start | number | Deslocamento de resultados para paginação | |
tbm / tbs | string | Tipo de busca e filtros avançados, os parâmetros brutos do Google | |
deviceType | string | desktop, mobile ou tablet |
Retorna searchInformation, organicResults, aiOverview, relatedQuestions, relatedSearches, perspectives, immersiveProducts e pagination, com quaisquer blocos que o Google mostrar para a consulta. Entradas orgânicas carregam position, title, link, displayedLink, source, snippet, snippetHighlitedWords, date e images.
O AI Overview chega de duas maneiras. Normalmente
aiOverviewé inline, comtextBlocksereferencesque você pode ler imediatamente. Às vezes o Google o protege atrás de um token, e entãoaiOverviewcarrega umpageTokene umhasdataLinkem vez dos blocos. Cada entradarelatedQuestionstambém é esse segundo caso. Ela contém umquestione umaiOverviewcom o mesmopageTokenehasdataLink, que a ferramenta AI Overview abaixo expande. Então as respostas do People Also Ask são AI Overviews que você busca um token por vez. OaiOverviewde nível superior é inline na maioria das consultas e um token em algumas, então leia-o das duas maneiras.
{
"organicResults": [
{
"position": 1,
"title": "The 15 Best Running Shoes of 2026",
"link": "https://www.runnersworld.com/gear/a19663621/best-running-shoes/",
"source": "Runner's World",
"snippet": "The Brooks Ghost is our No. 1 shoe when we recommend new trainers…"
}
],
"aiOverview": {
"textBlocks": [ { "type": "paragraph", "snippet": "The best running shoes depend on your goal…" } ],
"references": [ { "index": 0, "title": "7 Best Running Shoes in 2026 - RunRepeat", "link": "https://runrepeat.com/guides/best-running-shoes" } ]
},
"relatedQuestions": [
{ "question": "What are the top 5 best running shoes?", "aiOverview": { "pageToken": "eyJpZCI6…", "hasdataLink": "https://api.hasdata.com/scrape/google/ai-overview?pageToken=eyJpZCI6…" } }
],
"pagination": { "next": "…" }
}
Google AI Overview
hasdata_google_serp_ai_overview_getAiOverviewResponse
Expande um token de AI Overview em sua resposta.
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
pageToken | string | sim | Um aiOverview.pageToken de uma resposta SERP, incluindo os de relatedQuestions. O mesmo objeto de token carrega um hasdataLink, uma URL REST pronta que busca a mesma resposta sem esta ferramenta |
Retorna aiOverview com textBlocks e references. É assim que você lê o AI Overview quando o SERP entregou um token em vez dos blocos, e como você transforma cada pergunta do People Also Ask em uma resposta citada.
Tokens são válidos por cerca de 4 minutos. Um token expirado não volta vazio; ele falha como erro de ferramenta,
isError: truecom o textoHasData API error: 400 Bad Request. Trate-o como trataria uma chave errada e execute o SERP novamente para obter um token novo.
{
"aiOverview": {
"textBlocks": [ { "type": "paragraph", "snippet": "The top five running shoes feature versatile options for daily training and racing…" } ],
"references": [ { "index": 0, "title": "…", "link": "https://…" } ]
}
}
Google AI Mode
hasdata_google_serp_ai_mode_getAiModeResponse
A resposta do Google AI Mode para uma consulta, o resultado de busca conversacional.
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
q | string | sim | A pergunta a fazer ao AI Mode |
gl / hl | string | Códigos de país e idioma | |
location / uule | string | Localização geográfica | |
continuable | boolean | Defina como true para tornar a resposta continuável em uma chamada de acompanhamento | |
subsequentRequestToken | string | Token de uma resposta anterior do AI Mode, para continuar o tópico |
Retorna textBlocks e references, a resposta gerada e as fontes que ela cita.
Google SERP Light
hasdata_google_serp_serp_light_getSearchResults
Uma busca mais barata que retorna o núcleo da página.
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
q | string | sim | A consulta de pesquisa |
gl / hl | string | Códigos de país e idioma | |
location / uule | string | Localização geográfica | |
num / start | number | Tamanho da página e deslocamento |
Retorna organicResults, aiOverview, relatedSearches, filters, appliedLocation, searchInformation e pagination. Custa metade dos créditos do SERP completo, para quando você quer resultados orgânicos e o AI Overview sem os blocos extras.
Google News
hasdata_google_serp_news_getGoogleNews
Os resultados do Google News para uma consulta ou uma seção de notícias.
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
q | string | Uma consulta. Omita para ler uma seção | |
gl / hl | string | Códigos de país e idioma | |
topicToken / sectionToken / storyToken / publicationToken | string | Aprofunde em um tópico, seção, história ou publicação, usando um token de uma resposta anterior |
Retorna newsResults, menuLinks, relatedTopics e relatedPublications. Cada entrada de notícia traz position, title, link, source com um name e icon, thumbnail e date.
Google Shopping
hasdata_google_serp_shopping_getSearchResults
Resultados de compras para uma consulta.
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
q | string | sim | A consulta do produto |
gl / hl | string | Códigos de país e idioma | |
location / uule | string | Localização geográfica | |
start | number | Deslocamento de resultados para paginação | |
tbs | string | Filtros avançados de compras, o parâmetro bruto do Google |
Retorna shoppingResults, filters, refineSearchFilters, searchInformation e pagination. Cada resultado traz position, title, productId, price, extractedPrice, rating, reviews, source, category, thumbnail e um immersiveProductPageToken.
immersiveProductPageTokené a entrada para a ferramenta imersiva de produto abaixo. É um token temporário, então expanda-o enquanto estiver fresco se quiser os dados do produto, e execute novamente a chamada de compras para obter um novo se um token antigo falhar.
{
"shoppingResults": [
{
"position": 1,
"title": "Men's Nike Alphafly 3",
"productId": "13366226642799457284",
"price": "$285.00",
"extractedPrice": 285,
"rating": 4.5,
"reviews": 120,
"source": "Nike",
"immersiveProductPageToken": "eyJyZHMiOiJQQ18…"
}
]
}
Produto imersivo
hasdata_google_serp_immersive_product_getImmersive_e29f691177
O cartão completo do produto por trás de um resultado de compras.
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
pageToken | string | sim | O immersiveProductPageToken de um resultado de compras ou uma entrada de immersiveProducts do SERP |
moreStores | boolean | Peça por mais lojas | |
nextPageToken | string | Navegue pela lista de lojas, usando storesNextPageToken da resposta anterior |
Retorna um objeto productResults com title, brand, rating, reviews, priceRange, um array stores de cada vendedor com seu preço e link, além de variants, reviewsImages, userReviews, topInsights, aboutTheProduct e discussionsAndForums. Esta é a única chamada que transforma uma única listagem no panorama completo entre lojas.
{
"productResults": {
"title": "Men's Nike Alphafly 3",
"brand": "Nike",
"rating": 4.4,
"reviews": 1077,
"priceRange": "$221-$295",
"stores": [ { "name": "eBay", "link": "https://www.ebay.com/itm/…", "price": "$221" } ],
"storesNextPageToken": "Mw=="
}
}
Alimente storesNextPageToken de volta como o parâmetro nextPageToken para navegar pelas lojas.
Vídeos curtos do Google
hasdata_google_serp_short_videos_getShortVideosSearchResults
Os resultados de vídeos curtos que o Google mostra para uma consulta.
| Parâmetro | Tipo | Obrigatório | Observações |
|---|---|---|---|
q | string | sim | A consulta |
gl / hl / cr | string | Códigos de país, idioma e região de conteúdo | |
lr | array | Uma ou mais restrições de idioma | |
page | number | Página de resultados | |
deviceType | string | desktop, mobile ou tablet |
Retorna shortVideos, cada um com position, title, link, source, sourceLogo, profileName, duration, clip e thumbnail.
Prompts e recursos
O servidor inclui 5 prompts, fluxos de trabalho prontos que um cliente pode oferecer em vez de fazer o usuário compor uma chamada de ferramenta.
| Prompt | O que faz |
|---|---|
google_search | Pesquisa no Google e resume os principais resultados orgânicos. |
google_news | Encontra cobertura de notícias recentes sobre um tópico. |
google_shopping | Compara ofertas de produtos do Google Shopping. |
google_short_videos | Encontra vídeos curtos sobre um tópico. |
google_ai_mode | Obtém a resposta do Google AI Mode com suas fontes. |
Junto a eles, o servidor expõe 10 recursos, um por parâmetro cujos valores aceitos são uma lista fixa. Ler um é mais barato do que aprender o vocabulário com uma chamada rejeitada, e não custa créditos. Cada URI é hasdata://google_serp/<parameter>.
| Parâmetro | Valores | O que seleciona |
|---|---|---|
gl | 245 | O código de país de duas letras para o país ao qual você quer limitar a pesquisa. |
hl | 159 | O código de idioma de duas letras para o idioma que você quer usar na pesquisa. |
so | 2 | Ordem de classificação para artigos em uma história. Use apenas com storyToken. |
domain | 195 | Domínio do Google a ser usado. O padrão é google.com. |
searchType | 3 | Parâmetro para buscar informações específicas do produto, como 'offers', 'specs' ou 'reviews'. |
lr | 43 | O parâmetro 'lr' especifica o idioma dos sites dos quais retornar resultados. Este parâmetro filtra os resultados com base no idioma do conteúdo web. |
safe | 2 | Opção de filtragem de conteúdo adulto. |
tbm | 5 | Especifica o tipo de pesquisa. |
deviceType | 3 | Especifica o tipo de dispositivo para a pesquisa. |
cr | 237 | O código do país para o país ao qual você quer limitar a pesquisa. |
Ambas as listas são servidas sem chave de API, então um cliente pode lê-las antes de o usuário se cadastrar.
Erros e caminhos de falha
Seu cliente quase nunca vê um código de erro HTTP de uma chamada de ferramenta. A camada MCP responde 200 e coloca a falha dentro do resultado, com isError definido como true e o motivo como texto. O agente lê uma mensagem onde você poderia esperar uma linha de status.
Uma chave errada aparece como saída da ferramenta, não como uma conexão falha. Listar ferramentas aceita qualquer chave não vazia, e o cliente completa o handshake e mostra verde. A primeira chamada de ferramenta então retorna com isError: true e o texto HasData API error: 401 Unauthorized. Fique atento a essa string, porque nada antes no fluxo relata o problema.
O único erro HTTP real é uma chave ausente. A autorização é executada antes de qualquer ferramenta, e a própria conexão falha com 401.
Um argumento que quebra o esquema é rejeitado antes de se tornar uma pesquisa. Uma pesquisa sem q retorna com isError: true e o texto MCP error -32602: Input validation error, nomeando o campo. Nada é buscado e nada é cobrado.
Um token de AI Overview desatualizado falha como um erro. Um token de resposta SERP é válido por cerca de 4 minutos. Expandir um que você armazenou antes retorna com isError: true e o texto HasData API error: 400 Bad Request, no mesmo formato de uma chave errada. Capture-o e execute novamente o SERP para obter um token novo.
Um bloco que o Google não mostrou está ausente, não vazio. Uma consulta sem AI Overview, sem painel de compras ou sem "As pessoas também perguntam" retorna uma resposta sem essas chaves, em vez de com chaves vazias. Teste a chave antes de lê-la.
Resultados que trazem dados também trazem um requestMetadata.id que vale citar no suporte, além de links html e json para o artefato armazenado daquela chamada exata.
Preços, camada gratuita e limites
Créditos são por ferramenta. O SERP completo, AI Mode, News, Shopping, vídeos curtos, produto imersivo e a ferramenta de AI Overview custam 10 créditos por chamada. SERP Light custa 5. O AI Overview que vem embutido em uma resposta SERP é gratuito, parte dessa chamada de 10 créditos, mas expandir um token com a ferramenta de AI Overview, incluindo cada token de "As pessoas também perguntam", é uma chamada separada de 10 créditos. O tamanho da resposta não muda o preço.
A camada gratuita é 1.000 créditos todo mês sem cartão, o que equivale a 100 chamadas de SERP completo ou 200 das chamadas de 5 créditos. Ela renova com o ciclo de cobrança, então um agente de baixo volume roda na camada gratuita indefinidamente.
Planos pagos começam em US$ 59 por mês para 200.000 créditos. O preço por crédito cai com o volume, e os números atuais estão na página de preços.
Seu plano também define a concorrência. A camada gratuita permite 1 requisição por vez, Startup 5, Basic 15, e os níveis Growth vão de 50 a 500. Concorrência é o único limite. Não há um teto separado de requisições por minuto. Trate o caso de estouro defensivamente em qualquer coisa não supervisionada, porque um agente que se espalha por consultas atingirá o teto antes de você.
Seleção de ferramentas
?apis=google_serp expõe essas oito ferramentas. O parâmetro aceita uma lista, e ?apis=google_serp,google_maps adiciona as ferramentas do Google Maps junto com a pesquisa. Remova o parâmetro e você obtém tudo o que a HasData expõe, que atualmente são 57 ferramentas.
Uma lista restrita geralmente é o padrão melhor. Um modelo escolhendo entre oito ferramentas acerta com mais frequência do que um escolhendo entre cinquenta e sete, e as próprias descrições das ferramentas custam contexto a cada turno.
Como se compara
O Google não oferece mais uma API de pesquisa geral. A rota oficial é a Custom Search JSON API, e ela responde a uma pergunta diferente desta.
A Custom Search JSON API pesquisa um Mecanismo de Pesquisa Programável que você configura, sobre os sites que você lista ou o índice web inteiro se você ativá-lo. Ela é limitada a 100 consultas gratuitas por dia e depois cobra por mil até um teto diário, e retorna um conjunto de resultados reduzido. Ela não retorna o AI Overview, "As pessoas também perguntam", o pacote local, compras, notícias ou vídeos curtos, porque esses são recursos da página de resultados ao vivo, não da API. É a ferramenta certa quando você quer pesquisar seu próprio site ou um conjunto fixo de sites e permanecer dentro dos termos oficiais do Google para isso.
Este servidor retorna a página de resultados ao vivo do Google como um visitante a vê, analisada. Não há nada para configurar, a consulta é executada contra todo o Google em vez de um mecanismo selecionado, e o AI Overview, "As pessoas também perguntam", compras e o resto retornam como blocos estruturados.
| Custom Search JSON API | Este servidor | |
|---|---|---|
| O que pesquisa | Um Mecanismo de Pesquisa Programável que você configura | A página de resultados ao vivo do Google |
| Configuração | Um projeto Cloud e um mecanismo de pesquisa | Uma chave de API |
| AI Overview e "As pessoas também perguntam" | Não retornados | Embutidos, ou por token |
| Compras, notícias, vídeos curtos, local | Não retornados | Ferramentas dedicadas |
| Camada gratuita | 100 consultas por dia | 1.000 créditos todo mês |
Duas linhas decidem. Se você só precisa pesquisar seus próprios sites e quer a API oficial do Google para isso, a Custom Search JSON API é a adequada. Se você precisa do SERP real, do AI Overview dele, ou de qualquer um dos painéis que o Google mostra a um pesquisador, a API oficial não os retorna e este servidor retorna.
O que este servidor não faz. Sem rastreamento das páginas por trás dos resultados, sem histórico de classificação e nada que escreva. Ele retorna a página de resultados analisada.
FAQ
O que é um servidor MCP de Pesquisa Google?
Um servidor que expõe resultados de pesquisa do Google como ferramentas que um cliente de IA pode chamar. O cliente envia uma chamada de ferramenta pelo Model Context Protocol, o servidor busca a página de resultados e retorna JSON estruturado, e o modelo trabalha com o resultado e nunca vê uma página de HTML. Este expõe oito ferramentas somente leitura e roda remotamente, então o cliente se conecta a uma URL e não inicia nenhum processo local.
SERP é o mesmo que Pesquisa Google aqui?
Sim. Uma SERP é uma página de resultados do mecanismo de busca. Essas ferramentas retornam as páginas de resultados do Google, então "API de SERP" e "API de Pesquisa do Google" significam a mesma coisa neste repositório.
Existe um servidor MCP oficial do Google Search?
O Google não publica nenhum servidor MCP nem uma API de busca geral. O produto oficial mais próximo é a API JSON de Pesquisa Personalizada, que pesquisa um Mecanismo de Pesquisa Programável que você configura. Vários servidores MCP da comunidade, incluindo este, retornam a página de resultados ao vivo em vez disso.
Como obtenho o Resumo de IA?
Execute uma chamada de SERP. O aiOverview geralmente está inline com seu textBlocks e references. Quando ele retorna como um pageToken em vez disso, e em cada pergunta de "As pessoas também perguntam", passe esse token para a ferramenta de Resumo de IA para obter a resposta. Os tokens expiram rapidamente, então expanda-os a partir de uma chamada recente.
Preciso de um projeto do Google Cloud ou de um Mecanismo de Pesquisa Programável?
Não. A única credencial é sua chave HasData. Nada para criar no Google Cloud e nenhuma cota por API para gerenciar.
A chave da API expira?
Não. A chave não expira. Gire-a no painel sempre que precisar.
Os dados são ao vivo ou em cache?
Ao vivo. Cada chamada busca a página de resultados no momento da solicitação e carrega seu próprio requestMetadata.id. Duas chamadas idênticas são duas buscas separadas e não uma reprodução de uma cópia armazenada.
Isso é afiliado ao Google?
Não. A HasData é um serviço independente e não é afiliada, endossada ou patrocinada pelo Google. 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 de acordo com os termos do Google e a lei que se aplica a você.
Links da HasData
| Página do produto e construtor de solicitações | API de SERP do Google |
| Documentação do servidor | Documentação do servidor MCP |
| Todas as 57 ferramentas em um servidor | HasData/hasdata-mcp |
| Tutoriais de clientes | Clientes e integrações MCP |
| As outras superfícies que analisamos | Mais 53 APIs de scraper |
| Planos e custos de créditos | Planos e custos de créditos |
| Chaves e uso | Painel da HasData |
| Lançador Node no npm | @hasdata/google-search-mcp |
| Lançador Python no PyPI | hasdata-google-search-mcp |
Desenvolvimento
Este repositório é configuração e documentação para um servidor remoto. Não há etapa de build e nada para containerizar.
Ele contém um teste de contrato. O README documenta oito ferramentas com parâmetros específicos, e a lista de ferramentas upstream pode mudar sem um commit aqui, o que deixaria este arquivo silenciosamente mentindo para você. O teste afirma que as ferramentas documentadas existem com os parâmetros declarados e é executado semanalmente no CI, bem como a cada push.
HASDATA_API_KEY=your_key_here npm test
No PowerShell:
$env:HASDATA_API_KEY = "your_key_here"; npm test
A última verificação faz uma busca real e custa 10 créditos, que é o preço de um canário que pode falhar pelo motivo certo. Listar ferramentas funciona com qualquer chave não vazia, então um teste que apenas lista ferramentas permanece verde com uma chave revogada.
Contribuindo
Correções nas tabelas de ferramentas e nos exemplos de resposta são a contribuição mais útil, porque são as partes que se desatualizam. Inclua a chamada que você fez e a resposta que obteve. Pull requests de forks executam a suíte sem chave, e as verificações ao vivo são puladas em vez de ficarem vermelhas.
Licença
MIT. Veja LICENSE.