HasData Google Search MCP Server

SERP de Google como JSON, que cubre resultados orgánicos, Resumen de IA, La gente también pregunta, Modo IA, noticias y compras.

Documentación

Servidor MCP de Búsqueda de Google (SERP)

Un servidor de Protocolo de Contexto de Modelo (MCP) alojado que brinda a Claude, Cursor, Windsurf y cualquier otro cliente MCP ocho herramientas de búsqueda de Google de solo lectura. Obtén el SERP en vivo con su Resumen de IA y la sección de Otras preguntas, ejecuta una consulta en el Modo IA de Google y lee resultados de noticias, compras, detalles de productos y videos cortos, todo como JSON estructurado, sin proyecto de Google Cloud ni configuración de motor de búsqueda.

1,000 créditos gratuitos cada mes, sin necesidad de tarjeta, lo que equivale a 100 llamadas SERP completas o 200 de las llamadas de 5 créditos.

https://mcp.hasdata.com/mcp?apis=google_serp

Glama score tool contract MCP Tools

"SERP" y "Búsqueda de Google" son el mismo producto aquí. Este servidor devuelve páginas de resultados del motor de búsqueda de Google, analizadas.

Contenido

Lo que necesitas

Un cliente MCP que hable HTTP transmisible con encabezados personalizados. Una clave de API de HasData desde el panel de control, gratuita de crear sin tarjeta, y el nivel gratuito cubre aproximadamente de 100 a 200 llamadas al mes según la herramienta. Nada más. Este es un servidor remoto, por lo que la ruta más simple es una URL y un encabezado, sin proyecto de Google Cloud ni Motor de Búsqueda Programable que configurar. Un cliente solo-stdio puede usar el lanzador @hasdata/google-search-mcp (npm) o hasdata-google-search-mcp (PyPI) en su lugar.

Inicio rápido

URLhttps://mcp.hasdata.com/mcp?apis=google_serp
TransporteHTTP, transmisible
Encabezado de autenticaciónx-api-key: HASDATA_API_KEY

La URL del servidor es la misma para cada cliente. Lo ejecutamos de forma práctica en Claude Code y Claude Desktop. Los otros bloques siguen el formato documentado de cada cliente para un servidor remoto.

Los clientes con soporte OAuth pueden agregar 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-search "https://mcp.hasdata.com/mcp?apis=google_serp" \
  --header "x-api-key: HASDATA_API_KEY"
Claude Desktop

Claude Desktop carga solo servidores locales (stdio) desde su archivo de configuración, por lo que llega a un servidor remoto a través de un lanzador stdio. El paquete @hasdata/google-search-mcp es ese lanzador, y lee la clave del entorno.

claude_desktop_config.json:

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

¿Python en lugar de Node? Cambia el lanzador por el paquete de PyPI, que uvx ejecuta sin instalación manual:

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

Un cliente con soporte OAuth puede en su lugar agregar la URL como conector personalizado y omitir el lanzador.

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" }
    }
  }
}

Ejemplos de prompts

Busca en Google best running shoes y dame los diez primeros resultados orgánicos más el Resumen de IA.

Una llamada, 10 créditos. La respuesta SERP incluye el Resumen de IA en línea junto con los resultados orgánicos.

Para la misma consulta, toma cada pregunta de Otras preguntas y extrae su respuesta del Resumen de IA con fuentes.

Una llamada por pregunta, 10 créditos cada una. Cada entrada de relatedQuestions contiene un aiOverview.pageToken, y la herramienta de Resumen de IA convierte ese token en los bloques de respuesta y sus referencias.

Pregunta al Modo IA de Google what is the Model Context Protocol y dame la respuesta con sus citas.

Una llamada, 10 créditos. El Modo IA devuelve la respuesta generada como bloques de texto con una lista de referencias.

Busca en Google Shopping nike air max, luego extrae la tarjeta completa del producto para el primer resultado: cada tienda que lo vende, el rango de precios y el desglose de reseñas.

Dos llamadas. Shopping cuesta 10 créditos y devuelve un token por producto, y la herramienta de producto inmersivo gasta 5 para expandir ese token en tiendas, variantes y reseñas.

Obtén las últimas noticias de Google para artificial intelligence, y por separado los resultados de videos cortos para cooking pasta.

Dos llamadas, 10 créditos cada una.

El flujo de trabajo se apoya en dos cadenas. Una respuesta SERP devuelve un aiOverview en línea y un pageToken en cada pregunta de Otras preguntas, por lo que extraer las respuestas generativas de Google es gratuito con la búsqueda o una llamada de seguimiento de 10 créditos por pregunta. Un resultado de compras también devuelve un token por producto, por lo que el salto de una lista a su tarjeta completa de múltiples tiendas es una sola llamada.

Herramientas

HerramientaQué devuelve
hasdata_google_serp_ai_mode_getAiModeResponseEl texto de respuesta conversacional, enlaces de fuentes citadas, desgloses de subtemas, sugerencias de seguimiento y un subsequentRequestToken para la continuación de múltiples turnos. 10 créditos por llamada
hasdata_google_serp_ai_overview_getAiOverviewResponseEl texto de respuesta generado por IA, URLs de fuentes referenciadas y secciones de subtemas expandidas. 10 créditos por llamada
hasdata_google_serp_events_getEventInformationTítulo del evento, fecha/hora de inicio, nombre y dirección del lugar, enlaces de boletos/fuentes, descripción y miniatura. 10 créditos por llamada
hasdata_google_serp_immersive_product_getImmersive_e29f691177Ofertas de múltiples tiendas (comerciante, precio, envío, condición, URL), especificaciones del producto, imágenes, calificaciones y nextPageToken. 10 créditos por llamada
hasdata_google_serp_news_getGoogleNewsTítulo del artículo, fragmento, editor fuente, fecha de publicación, miniatura y URL, más tokens para navegar temas, subsecciones y grupos de historias. 10 créditos por llamada
hasdata_google_serp_product_getProductInformationTítulo del producto, imágenes, precio, calificaciones, especificaciones, ofertas de comerciantes (vendedor, envío, condición, precio total) y texto de reseñas según searchType. 10 créditos por llamada
hasdata_google_serp_serp_getSearchResultsResultados orgánicos (título, enlace, fragmento, posición), anuncios, gráfico de conocimiento, búsquedas relacionadas, Otras preguntas, paquete local, fragmentos destacados, pageToken del Resumen de IA y enriquecidos…. 10 créditos por llamada
hasdata_google_serp_serp_light_getSearchResultsResultados orgánicos (título, enlace, enlace mostrado, fragmento, enlaces de sitio, extensiones, fecha, calificación y recuento de reseñas), Resumen de IA con sus bloques de texto y referencias de fuentes,…. 5 créditos por llamada
hasdata_google_serp_shopping_getSearchResultsTítulo del producto, precio, comerciante/fuente, calificación, recuento de reseñas, miniatura, enlace del producto, productId, immersiveProductPageToken y chips de filtro con hasdata_link para…. 10 créditos por llamada
hasdata_google_serp_short_videos_getShortVideosSearchResultsTítulo del video, miniatura, duración, plataforma fuente, canal/creador, fecha de publicación y URL directa del video. 10 créditos por llamada

Diez herramientas, todas de solo lectura. Las muestras a continuación están recortadas de llamadas reales, y los resultados en ellas cambian a medida que Google cambia, así que léelas como formas. Cada nombre de herramienta enlaza a su referencia de endpoint.

Las muestras son el payload, no la respuesta completa. Un resultado de tools/call lleva un bloque de texto, y ese texto es en sí mismo JSON que contiene url, status, text y json, con los datos extraídos bajo json. Desde una respuesta JSON-RPC cruda, la ruta es result.content[0].text, analizado, luego .json. Un cliente de chat desenvuelve eso por ti, y el código que habla directamente con el endpoint no lo hace.

SERP de Google

hasdata_google_serp_serp_getSearchResults

La página de resultados completa para una consulta.

ParámetroTipoObligatorioNotas
qstringsíLa consulta de búsqueda, exactamente como un usuario la escribiría
gl / hlstringCódigos de país y de idioma de dos letras
location / uulestringUbicación geográfica para la búsqueda, por nombre o como cadena uule
numnumberResultados aproximados por página. Google ahora limita una página a unos diez e ignora cualquier valor mayor, por lo que num por encima de 10 no obtiene más
startnumberDesplazamiento de resultados para paginación
tbm / tbsstringTipo de búsqueda y filtros avanzados, los parámetros crudos de Google
deviceTypestringdesktop, mobile o tablet

Devuelve searchInformation, organicResults, aiOverview, relatedQuestions, relatedSearches, perspectives, immersiveProducts y pagination, con los bloques que Google muestre para la consulta. Las entradas orgánicas llevan position, title, link, displayedLink, source, snippet, snippetHighlitedWords, date y images.

El Resumen de IA llega de dos maneras. Usualmente aiOverview está en línea, con textBlocks y references que puedes leer de inmediato. A veces Google lo protege detrás de un token, y entonces aiOverview lleva un pageToken y un hasdataLink en lugar de los bloques. Cada entrada de relatedQuestions también es ese segundo caso. Contiene un question y un aiOverview con el mismo pageToken y hasdataLink, que la herramienta de Resumen de IA a continuación expande. Así que las respuestas de Otras preguntas son Resúmenes de IA que obtienes un token a la vez. El aiOverview de nivel superior está en línea en la mayoría de las consultas y es un token en unas pocas, así que léelo de ambas maneras.

{
  "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": "…" }
}

Resumen de IA de Google

hasdata_google_serp_ai_overview_getAiOverviewResponse

Expande un token de Resumen de IA en su respuesta.

ParámetroTipoObligatorioNotas
pageTokenstringsíUn aiOverview.pageToken de una respuesta SERP, incluidos los de relatedQuestions. El mismo objeto de token lleva un hasdataLink, una URL REST lista que obtiene la misma respuesta sin esta herramienta

Devuelve aiOverview con textBlocks y references. Así es como lees el Resumen de IA cuando el SERP te entregó un token en lugar de los bloques, y cómo conviertes cada pregunta de Otras preguntas en una respuesta citada.

Los tokens son válidos por unos 4 minutos. Uno caducado no vuelve vacío, falla como error de herramienta, isError: true con el texto HasData API error: 400 Bad Request. Trátalo como tratarías una clave incorrecta, y vuelve a ejecutar el SERP para obtener un token nuevo.

{
  "aiOverview": {
    "textBlocks": [ { "type": "paragraph", "snippet": "The top five running shoes feature versatile options for daily training and racing…" } ],
    "references": [ { "index": 0, "title": "…", "link": "https://…" } ]
  }
}

Modo IA de Google

hasdata_google_serp_ai_mode_getAiModeResponse

La respuesta del Modo IA de Google para una consulta, el resultado de búsqueda conversacional.

ParámetroTipoObligatorioNotas
qstringsíLa pregunta para hacer al Modo IA
gl / hlstringCódigos de país e idioma
location / uulestringUbicación geográfica
continuablebooleanEstablecer como true para que la respuesta pueda continuarse en una llamada de seguimiento
subsequentRequestTokenstringToken de una respuesta anterior del Modo IA, para continuar el hilo

Devuelve textBlocks y references, la respuesta generada y las fuentes que cita.

SERP Ligero de Google

hasdata_google_serp_serp_light_getSearchResults

Una búsqueda más económica que devuelve el núcleo de la página.

ParámetroTipoObligatorioNotas
qstringsíLa consulta de búsqueda
gl / hlstringCódigos de país e idioma
location / uulestringUbicación geográfica
num / startnumberTamaño de página y desplazamiento

Devuelve organicResults, aiOverview, relatedSearches, filters, appliedLocation, searchInformation y pagination. Cuesta la mitad de créditos que el SERP completo, para cuando quieres resultados orgánicos y la descripción general de IA sin los bloques adicionales.

Google News

hasdata_google_serp_news_getGoogleNews

Los resultados de Google News para una consulta o una sección de noticias.

ParámetroTipoObligatorioNotas
qstringUna consulta. Omítela para leer una sección en su lugar
gl / hlstringCódigos de país e idioma
topicToken / sectionToken / storyToken / publicationTokenstringProfundiza en un tema, sección, historia o publicación, usando un token de una respuesta anterior

Devuelve newsResults, menuLinks, relatedTopics y relatedPublications. Cada entrada de noticias incluye position, title, link, source con un name y icon, thumbnail y date.

Google Shopping

hasdata_google_serp_shopping_getSearchResults

Resultados de compras para una consulta.

ParámetroTipoObligatorioNotas
qstringsíLa consulta de producto
gl / hlstringCódigos de país e idioma
location / uulestringUbicación geográfica
startnumberDesplazamiento de resultados para paginación
tbsstringFiltros avanzados de compras, el parámetro bruto de Google

Devuelve shoppingResults, filters, refineSearchFilters, searchInformation y pagination. Cada resultado incluye position, title, productId, price, extractedPrice, rating, reviews, source, category, thumbnail y un immersiveProductPageToken.

immersiveProductPageToken es la entrada para la herramienta de producto inmersivo a continuación. Es un token temporal, así que expándelo mientras esté fresco si quieres los datos del producto, y vuelve a ejecutar la llamada de compras para obtener uno nuevo si un token antiguo falla.

{
  "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…"
    }
  ]
}

Producto inmersivo

hasdata_google_serp_immersive_product_getImmersive_e29f691177

La tarjeta de producto completa detrás de un resultado de compras.

ParámetroTipoObligatorioNotas
pageTokenstringsíEl immersiveProductPageToken de un resultado de compras o una entrada de immersiveProducts del SERP
moreStoresbooleanPide más tiendas
nextPageTokenstringRecorre la lista de tiendas, usando storesNextPageToken de la respuesta anterior

Devuelve un objeto productResults con title, brand, rating, reviews, priceRange, un array stores de cada vendedor con su precio y enlace, además de variants, reviewsImages, userReviews, topInsights, aboutTheProduct y discussionsAndForums. Esta es la única llamada que convierte una sola lista en la imagen completa de todas las tiendas.

{
  "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=="
  }
}

Introduce storesNextPageToken de nuevo como el parámetro nextPageToken para recorrer las tiendas.

Videos cortos de Google

hasdata_google_serp_short_videos_getShortVideosSearchResults

Los resultados de videos cortos que Google muestra para una consulta.

ParámetroTipoObligatorioNotas
qstringsíLa consulta
gl / hl / crstringCódigos de país, idioma y región de contenido
lrarrayUna o más restricciones de idioma
pagenumberPágina de resultados
deviceTypestringdesktop, mobile o tablet

Devuelve shortVideos, cada uno con position, title, link, source, sourceLogo, profileName, duration, clip y thumbnail.

Prompts y recursos

El servidor incluye 5 prompts, flujos de trabajo listos para usar que un cliente puede ofrecer en lugar de hacer que el usuario componga una llamada de herramienta.

PromptQué hace
google_searchBusca en Google y resume los principales resultados orgánicos.
google_newsEncuentra cobertura de noticias reciente sobre un tema.
google_shoppingCompara ofertas de productos de Google Shopping.
google_short_videosEncuentra videos cortos sobre un tema.
google_ai_modeObtén la respuesta del Modo IA de Google con sus fuentes.

Junto a ellos, el servidor expone 10 recursos, uno por parámetro cuyos valores aceptados son una lista fija. Leer uno es más barato que aprender el vocabulario de una llamada rechazada, y no cuesta créditos. Cada URI es hasdata://google_serp/<parameter>.

ParámetroValoresQué selecciona
gl245El código de país de dos letras para el país al que quieres limitar la búsqueda.
hl159El código de idioma de dos letras para el idioma que quieres usar en la búsqueda.
so2Orden de clasificación para artículos en una historia. Úsalo solo con storyToken.
domain195Dominio de Google a usar. El predeterminado es google.com.
searchType3Parámetro para obtener información específica del producto, como 'offers', 'specs' o 'reviews'.
lr43El parámetro 'lr' especifica el idioma de los sitios web de los que devolver resultados. Este parámetro filtra los resultados según el idioma del contenido web.
safe2Opción de filtrado de contenido para adultos.
tbm5Especifica el tipo de búsqueda.
deviceType3Especifica el tipo de dispositivo para la búsqueda.
cr237El código de país para el país al que quieres limitar la búsqueda.

Ambas listas se sirven sin una clave de API, así que un cliente puede leerlas antes de que un usuario se registre.

Errores y rutas de fallo

Tu cliente casi nunca ve un código de error HTTP de una llamada de herramienta. La capa MCP responde 200 y coloca el fallo dentro del resultado, con isError establecido en true y el motivo como texto. El agente lee un mensaje donde podrías esperar una línea de estado.

Una clave incorrecta aparece como salida de herramienta, no como una conexión fallida. Listar herramientas acepta cualquier clave no vacía, y el cliente completa su protocolo de enlace y muestra verde. La primera llamada de herramienta luego regresa con isError: true y el texto HasData API error: 401 Unauthorized. Presta atención a esa cadena, porque nada antes en el flujo informa el problema.

El único error HTTP real es una clave faltante. La autorización se ejecuta antes de cualquier herramienta, y la conexión misma falla con 401.

Un argumento que rompe el esquema se rechaza antes de convertirse en una búsqueda. Una búsqueda sin q regresa con isError: true y el texto MCP error -32602: Input validation error, nombrando el campo. No se obtiene nada y no se cobra nada.

Un token de descripción general de IA obsoleto falla como un error. Un token de respuesta SERP es válido durante unos 4 minutos. Expandir uno que guardaste antes regresa con isError: true y el texto HasData API error: 400 Bad Request, con la misma forma que una clave incorrecta. Captúralo y vuelve a ejecutar el SERP para obtener un token fresco.

Un bloque que Google no mostró está ausente, no vacío. Una consulta sin descripción general de IA, sin panel de compras o sin "Otras preguntas" devuelve una respuesta sin esas claves en lugar de con claves vacías. Prueba la clave antes de leerla.

Los resultados que llevan datos también incluyen un requestMetadata.id que vale la pena citar en soporte, además de enlaces html y json al artefacto almacenado de esa llamada exacta.

Precios, nivel gratuito y límites

Los créditos son por herramienta. El SERP completo, Modo IA, News, Shopping, videos cortos, producto inmersivo y la herramienta de descripción general de IA cuestan 10 créditos por llamada. SERP Light cuesta 5. La descripción general de IA que viene integrada con una respuesta SERP es gratuita, parte de esa llamada de 10 créditos, pero expandir un token con la herramienta de descripción general de IA, incluido cada token de "Otras preguntas", es una llamada separada de 10 créditos. El tamaño de la respuesta no cambia el precio.

El nivel gratuito es 1,000 créditos cada mes sin tarjeta, lo que equivale a 100 llamadas SERP completas o 200 de las llamadas de 5 créditos. 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 comienzan en $59 al mes por 200,000 créditos. El precio por crédito baja con el volumen, y los números actuales están en la página de precios.

Tu plan también establece la concurrencia. El nivel gratuito permite 1 solicitud a la vez, Startup 5, Basic 15, y los niveles Growth van de 50 a 500. La concurrencia es el único límite. No hay un tope separado de solicitudes por minuto. Maneja el caso de desbordamiento de manera defensiva en cualquier cosa desatendida, porque un agente que se expande en múltiples consultas alcanzará el techo antes que tú.

Selección de herramientas

?apis=google_serp expone estas ocho herramientas. El parámetro toma una lista, y ?apis=google_serp,google_maps agrega las herramientas de Google Maps junto con la búsqueda. Omite el parámetro y obtienes todo lo que HasData expone, que actualmente son 57 herramientas.

Una lista reducida suele ser el mejor valor predeterminado. Un modelo que elige entre ocho herramientas acierta más a menudo que uno que elige entre cincuenta y siete, y las descripciones de las herramientas en sí cuestan contexto en cada turno.

Cómo se compara

Google ya no ofrece una API de búsqueda general. La ruta oficial es la API JSON de Búsqueda Personalizada, y responde a una pregunta diferente de esta.

La API JSON de Búsqueda Personalizada busca en un Motor de Búsqueda Programable que configuras, sobre los sitios que listas o el índice web completo si lo activas. Está limitada a 100 consultas gratuitas al día y luego cobra por millar hasta un tope diario, y devuelve un conjunto de resultados reducido. No devuelve la descripción general de IA, "Otras preguntas", el paquete local, compras, noticias o videos cortos, porque esas son características de la página de resultados en vivo en lugar de la API. Es la herramienta adecuada cuando quieres buscar en tu propio sitio o en un conjunto fijo de sitios y mantenerte dentro de los términos oficiales de Google para eso.

Este servidor devuelve la página de resultados de Google en vivo como la ve un visitante, analizada. No hay nada que configurar, la consulta se ejecuta contra todo Google en lugar de un motor curado, y la descripción general de IA, "Otras preguntas", compras y el resto regresan como bloques estructurados.

API JSON de Búsqueda PersonalizadaEste servidor
Qué buscaUn Motor de Búsqueda Programable que configurasLa página de resultados de Google en vivo
ConfiguraciónUn proyecto de Cloud y un motor de búsquedaUna clave de API
Descripción general de IA y "Otras preguntas"No se devuelvenIntegradas, o por token
Compras, noticias, videos cortos, localNo se devuelvenHerramientas dedicadas
Nivel gratuito100 consultas al día1,000 créditos cada mes

Dos filas lo deciden. Si solo necesitas buscar tus propios sitios y quieres la API oficial de Google para eso, la API JSON de Búsqueda Personalizada es la adecuada. Si necesitas el SERP real, su descripción general de IA, o cualquiera de los paneles que Google muestra a un buscador, la API oficial no los devuelve y esto sí.

Lo que este servidor no hace. No rastrea las páginas detrás de los resultados, no tiene historial de clasificación y nada que escriba. Devuelve la página de resultados analizada.

Preguntas frecuentes

¿Qué es un servidor MCP de Búsqueda de Google?

Un servidor que expone los resultados de búsqueda de Google como herramientas que un cliente de IA puede llamar. El cliente envía una llamada de herramienta a través del Protocolo de Contexto de Modelo, el servidor obtiene la página de resultados y devuelve JSON estructurado, y el modelo trabaja con el resultado y nunca ve una página de HTML. Este expone ocho herramientas de solo lectura y se ejecuta de forma remota, así que el cliente se conecta a una URL y no inicia ningún proceso local.

¿Es SERP lo mismo que Búsqueda de Google aquí?

Sí. Un SERP es una página de resultados del motor de búsqueda. Estas herramientas devuelven las páginas de resultados de Google, por lo que "API SERP" y "API de Búsqueda de Google" significan lo mismo en este repositorio.

¿Existe un servidor MCP oficial de Búsqueda de Google?

Google no publica ningún servidor MCP ni una API de búsqueda general. El producto oficial más cercano es la API JSON de Búsqueda Personalizada, que busca en un Motor de Búsqueda Programable que tú configures. Varios servidores MCP de la comunidad, incluido este, devuelven la página de resultados en vivo en su lugar.

¿Cómo obtengo la Descripción General de IA?

Ejecuta una llamada SERP. El aiOverview suele estar en línea con su textBlocks y references. Cuando vuelve como un pageToken en su lugar, y en cada pregunta de "Otras personas también preguntan", pasa ese token a la herramienta de Descripción General de IA para obtener la respuesta. Los tokens caducan rápidamente, así que expándelos desde una llamada reciente.

¿Necesito un proyecto de Google Cloud o un Motor de Búsqueda Programable?

No. La única credencial es tu clave de HasData. No hay nada que crear en Google Cloud, ni cuotas por API que gestionar.

¿Caduca la clave de API?

No. La clave no caduca. Rota en el panel de control siempre que lo necesites.

¿Los datos son en vivo o en caché?

En vivo. Cada llamada obtiene la página de resultados en el momento de la solicitud y lleva su propio requestMetadata.id. Dos llamadas idénticas son dos búsquedas separadas y no una reproducción de una copia almacenada.

¿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 funcionan 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.

Enlaces de HasData

Página de producto y constructor de solicitudesAPI SERP de Google
Documentación del servidorDocumentación del servidor MCP
Las 57 herramientas en un solo servidorHasData/hasdata-mcp
Guías de clientesClientes e integraciones MCP
Las otras superficies que analizamos53 APIs de scraping más
Planes y costos de créditosPlanes y costos de créditos
Claves y usoPanel de HasData
Lanzador de Node en npm@hasdata/google-search-mcp
Lanzador de Python en PyPIhasdata-google-search-mcp

Desarrollo

Este repositorio es configuración y documentación para un servidor remoto. No hay paso de compilación ni nada que contenerizar.

Sí incluye una prueba de contrato. El README documenta ocho herramientas con parámetros específicos, y la lista de herramientas upstream puede cambiar sin un commit aquí, lo que dejaría este archivo mintiéndote silenciosamente. La prueba verifica que las herramientas documentadas existen con los parámetros declarados, y se ejecuta semanalmente en CI y en cada push.

HASDATA_API_KEY=your_key_here npm test

En PowerShell:

$env:HASDATA_API_KEY = "your_key_here"; npm test

La última verificación hace una búsqueda real y cuesta 10 créditos, que es el precio de un canario que puede fallar por la razón correcta. Listar herramientas funciona con cualquier clave no vacía, por lo que una prueba que solo lista herramientas permanece en verde con una clave revocada.

Contribuciones

Las correcciones a las tablas de herramientas y a los ejemplos de respuestas son la contribución más útil, porque son las partes que se desvían. Incluye la llamada que hiciste y la respuesta que obtuviste. Las solicitudes de extracción de bifurcaciones ejecutan la suite sin clave, y las verificaciones en vivo se omiten en lugar de ponerse en rojo.

Licencia

MIT. Ver LICENCIA.