Skip to main content
Glama

google-surf-mcp

✨MCP de búsqueda anti-bot: Sin clave API✨

Inglés | 한국어

google-surf-mcp MCP server

demo

Solo demostración. Las búsquedas reales se ejecutan sin interfaz gráfica (headless) por defecto (sin navegador visible). Establece SURF_HEADLESS=false para hacer que Chrome sea visible como en el clip de arriba.

MCP de búsqueda de Google. Sin clave API. Simplemente funciona.

  • ✅ Realmente funciona (probé 6 MCPs de búsqueda de Google gratuitos, todos fallaron)

  • ✅ Búsqueda + extracción de URL en un solo MCP (reemplaza la combinación habitual de MCP de búsqueda + MCP de extracción)

  • ✅ 4 herramientas: search / search_parallel / extract / search_extract

  • ✅ Sin clave API, sin proxies, sin solucionador

  • ✅ Recuperación automática de CAPTCHA (se abre Chrome, un humano lo resuelve una vez, la llamada se reintenta)

  • ✅ Protección SSRF en extract (bloquea localhost, IPs privadas, metadatos de AWS por defecto)

Qué es

Conéctalo a cualquier cliente MCP y obtendrás la búsqueda de Google como herramienta.

Sin solucionador de CAPTCHA. Cuando aparece un CAPTCHA en cualquier herramienta, se abre una ventana de Chrome para que un humano lo resuelva. Cada resolución preserva la reputación del perfil con Google. Creado para un uso sostenible y ético.

La instalación única requiere un calentamiento del perfil de ~1s (ver Instalación).

Diseñado para uso local. No es adecuado para despliegues sin estado / serverless.

Related MCP server: Brave Search MCP Server

Números

resultado

secuencial

~1.5s/consulta (primera llamada ~4s, incluye configuración)

paralelo x4

~1.5s real (primera llamada ~9s, incluye calentamiento del pool)

paralelo x10

~4.5s real

search_extract x5

~5s real (búsqueda + 5 extracciones paralelas)

Medido en una estación de trabajo con una conexión de 1Gb/s.

Stack

  • Playwright + perfil de Chrome persistente

  • playwright-extra stealth

  • Imágenes / medios / fuentes bloqueados por recursos para mayor velocidad

  • Arranque de perfil de una sola vez antes de la primera ejecución

  • Mozilla Readability + Turndown para la extracción de artículos

Instalación

Requiere Node 18+ y Google Chrome (o Chromium) en el sistema.

npx google-surf-mcp   # actual MCP - register in client config

O clon local:

git clone https://github.com/HarimxChoi/google-surf-mcp
cd google-surf-mcp
npm install
npm run bootstrap

bootstrap abre una ventana de Chrome. Realiza una búsqueda en Google en ella. Cierra. El perfil ahora está caliente.

Sobrescribe las rutas si es necesario:

CHROME_PATH=/path/to/chrome SURF_TZ=America/New_York npm run bootstrap

Uso con Claude Code

Pega esto en tu ~/.claude.json:

{
  "mcpServers": {
    "google-surf": {
      "command": "npx",
      "args": ["-y", "google-surf-mcp"]
    }
  }
}

Reinicia Claude Code. Listo. search, search_parallel, extract, search_extract ya están disponibles.

Para otros clientes MCP, usa la misma estructura JSON en su archivo de configuración.

Variante de clon local:

{
  "mcpServers": {
    "google-surf": {
      "command": "node",
      "args": ["/abs/path/to/google-surf-mcp/build/index.js"]
    }
  }
}

Herramientas

  • search(query, limit?) - consulta única, ~1.5s. Devuelve título / url / fragmento. Anuncios patrocinados filtrados.

  • search_parallel(queries[], limit?) - pool de 4, máximo 10 consultas por llamada.

  • extract(url, max_chars?) - obtiene una URL, devuelve el artículo en markdown (Readability con respaldo de texto). Los fallos devuelven { error }, nunca lanzan error.

  • search_extract(query, limit?, max_chars?) - búsqueda + extracción paralela en una sola llamada. Devuelve resultados SERP enriquecidos con el contenido completo del artículo. Los fallos por página están aislados.

search_extract es la herramienta estrella: SERP + contenido completo del artículo en una sola llamada. Reemplaza la combinación habitual de "MCP de búsqueda + MCP de extracción de URL" que la mayoría de los agentes combinan.

Variables de entorno

var

por defecto

notas

CHROME_PATH

autodetectado

ruta absoluta al binario de Chrome

SURF_PROFILE_ROOT

~/.google-surf-mcp

donde vive el perfil caliente

SURF_LOCALE

en-US

configuración regional del navegador

SURF_TZ

zona horaria del sistema

ej. America/New_York

SURF_HEADLESS

true

establece false para ejecutar Chrome visiblemente (demos / depuración). La recuperación automática de CAPTCHA siempre se ejecuta visible independientemente.

SURF_IDLE_CLOSE_MS

30000

ms de inactividad antes de cerrar el contexto secuencial y el pool. 0 deshabilita el cierre automático por inactividad. Menor = limpieza más rápida, mayor = caché más caliente para llamadas espaciadas.

SURF_ALLOW_PRIVATE

false

establece true para permitir que extract obtenga direcciones privadas/loopback (localhost, 127.0.0.1, 10.x, 192.168.x, 169.254.x, etc). Por defecto los bloquea como protección SSRF.

Solución de problemas

  • CAPTCHA: se abre automáticamente una ventana visible de Chrome (funciona para las 4 herramientas). Resuélvelo una vez, realiza una búsqueda dentro, la llamada se reintenta y continúa. Para fallar rápido en su lugar, ejecuta sin pantalla adjunta.

  • "Chrome not found": instala Chrome o establece CHROME_PATH.

  • Selectores obsoletos: Google rota las clases. Las PR son bienvenidas.

Registro de cambios

Ver CHANGELOG.md.

Licencia

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Latest Blog Posts

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/HarimxChoi/google-surf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server