Google Search MCP Server
Google Search MCP Server (SERP)
Un servidor Model Context Protocol (MCP) alojado que ofrece a Claude, Cursor, Windsurf y a cualquier otro cliente MCP ocho herramientas de solo lectura de Google Search. Obtén la SERP en vivo con su AI Overview y People Also Ask, realiza una consulta de Google AI Mode y lee noticias, comparativas, fichas de producto y resultados de vídeo corto, todo como JSON estructurado, sin proyecto de Google Cloud y sin configurar un motor de búsqueda.
https://mcp.hasdata.com/api/mcp?apis=google_serp
"SERP" y "Google Search" son aquí el mismo producto. Este servidor devuelve las páginas de resultados del motor de búsqueda de Google, parseadas.
Contenido
Related MCP server: Serper Search MCP Server
Qué necesitas
Un cliente MCP que hable streamable HTTP con cabeceras personalizadas. Una API key de HasData desde el dashboard, gratis de crear y sin que necesitas tarjeta, y la prueba cubre unas 100 a 200 llamadas según la herramienta. Nada más. Este es un servidor remoto, así que la vía más simple es una URL y una cabecera, sin proyecto de Google Cloud ni Programmable Search Engine que configurar. Un cliente solo-stdio puede usar el lanzador @hasdata/google-search-mcp (npm) o hasdata-google-search-mcp (PyPI).
Inicio rápido
URL |
|
Transport | HTTP, streamable |
Auth header |
|
La URL del servidor es la misma para todos los clientes. Lo probamos en la práctica con Claude Code y Claude Desktop. Los demás bloques siguen el formato documentado de cada cliente para un servidor remoto.
Los clientes con soporte OAuth pueden añadir la misma URL como un conector e iniciar sesión sin tener que poner una clave en un archivo de configuración.
claude mcp add --transport http google-search "https://mcp.hasdata.com/api/mcp?apis=google_serp" \
--header "x-api-key: HASDATA_API_KEY"Claude Desktop solo carga servidores locales (stdio) desde su archivo de configuración, así que alcanza un servidor remoto a través de un lanzador stdio. El paquete @hasdata/google-search-mcp es ese lanzador, y lee la clave desde el entorno.
claude_desktop_config.json:
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": ["-y", "@hasdata/google-search-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}En Python en lugar de Node? Sustituye 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 a Open Docs OAuth puede, por su cuenta, añadir la URL como conector personalizado y omitir el lanzador.
{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}{
"mcpServers": {
"google-search": {
"serverUrl": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}{
"mcpServers": {
"google-search": {
"url": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
"type": "streamableHttp",
"headers": { "x-api-key": "HASDATA_API_KEY" },
"disabled": false
}
}
}{
"servers": {
"google-search": {
"type": "http",
"url": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}{
"mcpServers": {
"google-search": {
"httpUrl": "https://mcp.hasdata.com/api/mcp?apis=google_serp",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}Ejemplos de prompts
Busca en Google
best running shoesy dame los diez primeros resultados orgánicos y el AI Overview.
Una llamada, 10 créditos. La respuesta SERP devuelve el AI Overview en línea junto con los resultados orgánicos.
Para la misma consulta, toma cada pregunta de People Also Ask y extrae su respuesta de AI Overview con fuentes.
Una llamada por pregunta, 5 créditos cada una. Cada entrada de relatedQuestions contiene un aiOverview.pageToken, y la herramienta AI Overview convierte ese token en los bloques de respuesta y sus referencias.
Pregunta a Google AI Mode
what is the Model Context Protocoly devuélveme la respuesta con sus citas.
Una llamada, 10 créditos. AI Mode devuelve la respuesta generada como bloques de texto con lista de referencias.
Busca en Google Shopping
nike air maxy extrae de la ficha completa del primer resultado lo siguiente: todas las tiendas que lo venden, 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.
Consigue las últimas noticias de Google News sobre
artificial intelligencey, por separado, los resultados de vídeos cortos paracooking 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 People Also Ask, así que extraer las respuestas generativas de Google es gratuito con esa misma búsqueda o bien una llamada de seguimiento de 5 créditos por pregunta. Un resultado de Shopping también devuelve un token por producto, con lo que el salto de un resultado a su ficha completa de multitienda es una sola llamada.
Herramientas
Ocho herramientas, todas de solo lectura. Las muestras de abajo están recortadas de llamadas reales, y los resultados que aparecen en ellas cambian a medida que cambia Google, así que tómalas como esquemas de la forma. Cada nombre de herramienta enlaza a la referencia de su endpoint.
Las muestras son el payload, no la respuesta completa. Un resultado de llamada invoke ejecución de tools/call lleva un bloque de texto, y ese texto es a su vez JSON con url, status, text y json; los datos extraídos están bajo json. En un respuesta cruda de JSON-RPC, el camino es result.content[0].text, una vez parseado, y después .json. Un cliente de chat te lo desenvuelve; el código que habla directamente con el endpoint no.
Google SERP
hasdata_google_serp_serp_getSearchResults
La página completa de resultados para una consulta.
Parámetro | Tipo | Obligatorio | Notas |
| string | sí | La consulta de búsqueda, exactamente como la escribiría un usuario |
| string | Códigos de país y de idioma de dos letras | |
| string | Ubicación de la búsqueda, por nombre o como cadena | |
| number | Aproximación del número de resultados por página. Ahora Google limita la página a unos diez resultados e ignora valores mayores, así que | |
| number | Desplazamiento de resultados para paginar | |
| string | Tipo de búsqueda y filtros avanzados, los parámetros de Google en crudo | |
| string |
|
Devuelve searchInformation, organicResults, aiOverview, relatedQuestions, relatedSearches, perspectives, immersiveProducts y pagination, con los bloques que Google muestre para la consulta. Las entradas orgánicas incluyen position, title, link, displayedLink, source, snippet, snippetHighlightedWords, date e images.
El AI Overview llega de dos formas. Norma-mente
aiOverviewviene en línea, contextBlocksyreferenceslegibles directamente. A veces Google lo protege tras un token, y entoncesaiOverviewtrae unpageTokeny unhasdataLinken lugar de los bloques. Cada entrada derelatedQuestionses precisamente ese segundo caso: contiene unaquestiony unaiOverviewcon el mismopageTokenyhasdataLink, que la herramienta AI Overview de abajo expande. Las respuestas de People Also Ask son, así, AI Overviews que se recuperan un token a la vez. ElaiOverviewde nivel superior viene en línea en la mayoría de las búsquedas y como token en unas pocas, así que hay que leerlo 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": "…" }
}Google AI Overview
hasdata_google_serp_ai_overview_getAiOverviewResponse
Expande un token de AI Overview hasta la respuesta.
Parámetro | Tipo | Obligatorio | Descripciones |
| string | sí | Un |
Devuelve aiOverview con textBlocks y references. Esta es la forma de leer el AI Overview cuando la SERP en lugar de los bloques te ha dado un token, y de convertir cada pregunta de People Also Ask en una respuesta citada.
Los tokens son válidos durante unos 4 minutos. Uno caducado no vuelve vacío: falla como un error de herramienta,
isError: true, con el textoHasData API error: 400 Bad Request. Manéjalo como necesitas hacer con una clave errónea y vuelve a ejecutar la 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://…" } ]
}
}Google AI Mode
hasdata_google_serp_aiMode_getAiModeResponse
La respuesta de Google AI Mode para una consulta, el resultado de búsqueda conversacional.
Parámetro | Tipo | Requerido | Descripción |
| string | sí | La pregunta que quieres hacer a AI Mode |
| string | Códigos de país y de idioma | |
| string | Localización geográfica | |
| boolean | Pon | |
| string | Token de una respuesta anterior AI Mode para continuar el hilo |
Devuelve textBlocks y references, la respuesta generada y las fuentes que cita.
Google SERP Light
hasdata_google_serp_serp_light_getSearchResults
Una búsqueda más barata que devuelve el núcleo de la página.
Parámetro | Tipo | Requerido | Notas |
| string | sí | La consulta de búsqueda |
| string | Códigos de país e idioma | |
| string | Ubicación geográfica | |
| number | Tamañ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 los resultados orgánicos y el AI Overview 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ámetro | Tipo | Requerido | Notas |
| string | Una consulta. Omítala para leer una sección | |
| string | Códigos de país e idioma | |
| string | Profundizar en un tema, sección, noticia o publicación a partir de un token de una respuesta anterior |
Devuelve newsResults, menuLinks, relatedTopics y relatedPublications. Cada entrada de noticias incluye position, title, link, source con name e icon, thumbnail y date.
Google Shopping
hasdata_google_serp_shopping_getSearchResults
Resultados de Google Shopping para una consulta.
Parámetro | Tipo | Requerido | Notas |
| string | sí | La consulta de producto |
| string | Códigos de país e idioma | |
| string | Ubicación geográfica | |
| number | Desplazamiento de resultados para paginar | |
| string | Filtros avanzados de Shopping, 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.
immersiveProductPageTokenes la entrada de la herramienta de producto inmersivo que se muestra a continuación. Es un token temporal, así que expándelo mientras esté vigente si quieres los datos del producto, y vuelve a llamar a la búsqueda de Shopping para obtener uno nuevo si el token anterior 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 ficha de producto completa detrás de un resultado de Shopping.
Parámetro | Tipo | Requerido | Notas |
| string | sí | El |
| boolean | Pedir más tiendas | |
| string | Paginar entre las tiendas con |
Devuelve un objeto productResults con title, brand, rating, reviews, priceRange, un array stores con cada vendedor y su precio y enlace, además de variants, reviewsImages, userReviews, topInsights, aboutTheProduct y discussionsAndForums. Es la llamada que convierte una sola ficha en el panorama completo 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=="
}
}Vuelve a pasar storesNextPageToken como parámetro nextPageToken para paginar por las tiendas.
Vídeos cortos de Google
hasdata_google_serp_short_videos_getShortVideosSearchResults
Los resultados de vídeos cortos que Google muestra para una consulta.
Parámetro | Tipo | Requerido | Notas |
| string | sí | La consulta |
| string | Códigos de país, idioma y región de contenido | |
| array | Una o más restricciones de idioma | |
| number | Página de resultados | |
| string |
|
Devuelve shortVideos, cada uno con position, title, link, source, sourceLogo, profileName, duration, clip y thumbnail.
Errores y rutas de fallo
Tu cliente casi nunca ve un código de error HTTP en una llamada a una herramienta. La capa MCP responde con un 200 y coloca el error dentro del resultado, con isError en true y el motivo como texto. El agente lee un mensaje donde quizá esperarías una línea de estado.
Una clave incorrecta aparece como salida de la herramienta, no como una conexión fallida. El listado de herramientas acepta cualquier clave no vacía, el cliente completa el protocolo de inicio y muestra un estado correcto. La primera llamada a la herramienta devuelve isError: true y el texto HasData API error: 401 Unauthorized. Presta atención a esa cadena, porque nada anterior en el flujo notifica el problema.
El único error HTTP real es una clave ausente. La autorización se ejecuta antes que cualquier herramienta, y la propia conexión falla con 401.
Un argumento que rompe el esquema se rechaza antes de convertirse en una búsqueda. Una búsqueda sin q devuelve isError: true y el texto MCP error -32602: Input validation error, en el que se menciona el campo. No se obtiene nada y no se cobra nada.
Un token de AI Overview obsoleto falla como error. Un token de respuesta de una búsqueda SERP es válido durante unos 4 minutos. Si expandes uno que guardaste antes, la llamada devuelve 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 la búsqueda SERP para obtener un token nuevo.
Un bloque que Google no mostró aparece ausente, no vacío. Una consulta sin AI Overview, sin panel de Shopping o sin People Also Ask devuelve una respuesta sin esas claves, en lugar de devolverlas vacías. Comprueba la clave antes de leerla.
Los resultados que llevan datos también incluyen un requestMetadata.id que conviene citar en el soporte, además de enlaces html y json al artefacto guardado de esa llamada exacta.
Tarifas, plan gratuito y límites
Los créditos se asignan por herramienta. El SERP completo, AI Mode, News, Shopping y los vídeos cortos cuestan 10 créditos por llamada. SERP Light, el producto inmersivo y la herramienta AI Overview cuestan 5. El AI Overview que se incluye dentro de una respuesta SERP es gratis, es parte de esa llamada de 10 créditos, pero expandir un token con la herramienta de AI Overview, incluido cada token de People Also Ask, es una llamada aparte de 5 créditos. El tamaño de la respuesta no cambia el precio.
La prueba gratuita incluye 1.000 créditos durante 30 días sin tarjeta, lo que equivale a 100 llamadas SERP completas o 200 de las llamadas de 5 créditos. Después, una cuenta activa sigue recibiendo 100 créditos cada día cuando su saldo caiga por debajo de 100, por lo que un agente de bajo volumen funciona con el plan gratuito indefinidamente.
Los planes de pago empiezan en $49 al mes por 200.000 créditos. El precio por crédito bajacon volumen, y las cifras actuales están en la costo de precios.
Tu plan también determina la concurrencia. La prueba gratuita permite 1 solicitud a la vez, Startup 15, Business 30, Growth 50 y los planes de alto volumen van de 200 a 1.500. La concurrencia es el único límite. No hay un límite de solicitudes por minuto aparte. Trata el caso de desbordamiento de forma defensiva en cualquier proceso desatendido, porque un agente que se expande en varias consultas llegará al techo antes que tú.
Selección de herramientas En uso
?apis=google_serversice expone estas ocho herramientas
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 Model Context Protocol, el servidor obtiene la página de resultados y devuelve JSON estructurado, y el modelo trabaja con el resultado sin ver nunca una página HTML. Este servidor expone ocho herramientas de solo lectura y se ejecuta en remoto, de modo que el cliente se conecta a una URL y no inicia ningún proceso local.
¿Es SERP lo mismo que Google Search aquí?
Sí. Una SERP es la página de resultados de un motor de búsqueda. Estas herramientas devuelven las páginas de resultados de Google, por lo que "SERP API" y "Google Search API" significan lo mismo en este repositorio.
¿Existe un servidor MCP oficial de Google Search?
Google no publica ningún servidor MCP ni una API general de búsqueda. El producto oficial más parecido es la Custom Search JSON API, que busca en un Programmable Search Engine que tú configuras. Varios servidores MCP de la comunidad, incluido este, devuelven en su lugar la página de resultados real.
¿Cómo obtengo el AI Overview?
Haz una llamada a SERP. El aiOverview normalmente viene integrado con sus textBlocks y references. Cuando en su lugar llega como un pageToken, y también en cada pregunta de People Also Ask, pásale ese token a la herramienta AI Overview para obtener la respuesta. Los tokens caducan difícilmente, así que expándelos desde una llamada reciente.
¿Necesito un proyecto de Google Cloud o un Programmable Search Engine?
No. La única credencial es tu clave HasData. No hay nada que crear en Google Cloud y no hay cuota por API que gestionar.
¿La clave API caduca?
No. La clave no caduca. Rótala en el panel siempre que necesites.
¿Los datos son en vivo o están en caché?
En vivo. Cada llamada obtiene la página de resultados en el momento de la petición y lleva su propio requestMetadata.id. Dos llamadas idénticas son dos descargas independientes, no una reproducción de una copia guardada.
¿Esto está afiliado a Google?
No. HasData es un servicio independiente y no está afiliado, aprobado ni patrocinado por Google. Google es una marca comercial de su respectivo propietario. Las herramientas trabajan únicamente con datos de acceso público, y tú eres el responsable de usar los resultados conforme a los términos de Google y a la ley que se te aplique.
Enlaces de HasData
Página de producto y constructor de solicitudes | |
Documentación del servidor | |
Todas las 57 herramientas en un solo servidor | |
Tutoriales para clientes | |
Las demás superficies que procesamos | |
Planes y costes de créditos | |
Claves y uso |
Desarrollo
Este repositorio contiene la configuración y documentación de un servidor remoto. No hay paso de compilación ni nada que empaquetar en un contenedor.
No obstante, sí incluye una prueba de contrato. El README documenta ocho herramientas con determinados parámetros, y la lista de herramientas upstream puede cambiar sin un commit aquí, lo que haría que este archivo te estuviera mintiendo en silencio. La prueba comprueba que las herramientas documentadas existen con los parámetros indicados y se ejecuta semanalmente en CI y en cada push.
HASDATA_API_KEY=your_key_here npm testEn PowerShell:
$env:HASDATA_API_KEY = "your_key_here"; npm testLa última comprobación hace una búsqueda real y cuesta 10 créditos, que es el precio de un también canario que puede fallar por la razón correcta. La comprobación de las herramientas se realiza con cualquier clave no vacía, por lo que una prueba que solo lista herramientas seguirá en verde con una clave revocada.
Contribuciones
Las correcciones de las tablas de herramientas y los ejemplos de respuesta son la aportación más útil, porque esas son las partes que más se desactualizan. Incluye la llamada que hiciste y la respuesta que obtuviste. Las pull requests desde forks ejecutan la suite sin clave y las comprobaciones en vivo se omiten en lugar de ponerse en rojo.
Licencia
MIT. Consulta LICENSE.
Maintenance
Tools
- hasdata_google_serp_ai_mode_getAiModeResponseA
- hasdata_google_serp_ai_overview_getAiOverviewResponseA
- hasdata_google_serp_events_getEventInformationA
- hasdata_google_serp_immersive_product_getImmersive_e29f691177A
- hasdata_google_serp_news_getGoogleNewsA
- hasdata_google_serp_product_getProductInformationA
- hasdata_google_serp_serp_getSearchResultsA
- hasdata_google_serp_serp_light_getSearchResultsA
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceProvides Google search capabilities, web content extraction, and screenshot functionality with advanced bot detection avoidance through the MCP protocol.596
- FlicenseNot gradedqualityDmaintenanceEnables integration of Google search functionality into MCP-enabled applications using the Serper API, providing rich search results, configurable parameters, and efficient response handling.48
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to perform real-time Google searches and retrieve web results via the MCP protocol.The Unlicense
- AlicenseAqualityBmaintenanceMCP server for web search powered by Google AI Mode (Gemini). Enables any AI agent to search the web in real-time for free and without rate limits.2172MIT
Related MCP Connectors
Live Google Maps business search, review, and photo data for AI agents over MCP.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
Serper MCP — wraps the Serper Google Search API (serper.dev)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HasData/google-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server