Google Search MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides Google Custom Search capabilities with advanced filtering, allowing search queries with parameters for trusted domains, excluded domains, result count, safe search, and date restrictions

  • Converts web content to markdown format for improved readability, with options to include/exclude images and videos, preserve links, and format code blocks

  • Leverages Puppeteer (via rebrowser-puppeteer) for advanced bot detection avoidance, enabling reliable web content viewing and scraping

Servidor MCP de búsqueda web

Un servidor MCP que proporciona capacidades de búsqueda de Google y visualización de contenido web con prevención avanzada de detección de bots.

Características

  • Búsqueda personalizada de Google con filtrado avanzado
  • Visualización de contenido web con conversión de Markdown
  • Limitación de velocidad y almacenamiento en caché
  • Agrupación de instancias del navegador
  • Prevención de la detección de bots mediante rebrowser-puppeteer

Prerrequisitos

  • Tiempo de ejecución de Bun v1.0 o superior
  • Credenciales de la API de Google (clave API e ID del motor de búsqueda)

Instalación

# Install dependencies bun install # Build the TypeScript files bun run build

Configuración

Configuración de cookies

Para acceder al sitio de forma autenticada, deberá:

  1. Instalar la extensión Get cookies.txt LOCALMENTE para Chrome
  2. Visita los sitios en los que deseas autenticarte e inicia sesión
  3. Utilice la extensión para exportar sus cookies en formato JSON
  4. Guarde el archivo de cookies exportado en una ubicación segura
  5. Establezca la variable de entorno BROWSER_COOKIES_PATH en la ruta absoluta de su archivo de cookies

Configuración del servidor MCP

Agregue la configuración del servidor a su archivo de configuración de MCP:

  • Para Cline: %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json
  • Para Claude Desktop:
    • MacOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "web-search": { "command": "bun", "args": [ "run", "/ABSOLUTE/PATH/TO/web_search_mcp/dist/index.js" ], "env": { "GOOGLE_API_KEY": "your_api_key", "GOOGLE_SEARCH_ENGINE_ID": "your_search_engine_id", "MAX_CONCURRENT_BROWSERS": "3", "BROWSER_TIMEOUT": "30000", "RATE_LIMIT_WINDOW": "60000", "RATE_LIMIT_MAX_REQUESTS": "60", "SEARCH_CACHE_TTL": "3600", "VIEW_URL_CACHE_TTL": "7200", "MAX_CACHE_ITEMS": "1000", "BROWSER_POOL_MIN": "1", "BROWSER_POOL_MAX": "5", "BROWSER_POOL_IDLE_TIMEOUT": "30000", "REBROWSER_PATCHES_RUNTIME_FIX_MODE": "addBinding", "REBROWSER_PATCHES_SOURCE_URL": "jquery.min.js", "REBROWSER_PATCHES_UTILITY_WORLD_NAME": "util", "REBROWSER_PATCHES_DEBUG": "0", "BROWSER_COOKIES_PATH": "C:\\path\\to\\cookies.json", "LOG_LEVEL": "info", "NO_COLOR": "0", "BUN_FORCE_COLOR": "1", "FORCE_COLOR": "1" } } } }

Reemplace /ABSOLUTE/PATH/TO/web_search_mcp con la ruta absoluta a su directorio de servidor.

Configuración de registro

Las siguientes variables de entorno controlan el comportamiento del registro:

  • LOG_LEVEL : Establece el nivel de registro (error, advertencia, información, depuración). Valor predeterminado: información.
  • NO_COLOR : Desactiva la salida en color cuando se establece en "1"
  • BUN_FORCE_COLOR : Controla la salida de color en el tiempo de ejecución de Bun (establezca en "0" para deshabilitarla)
  • FORCE_COLOR : Controla la salida de color globalmente (establezca en "0" para deshabilitarla)

Prevención de detección de bots

Este servidor utiliza rebrowser-puppeteer para evitar la detección de bots:

  1. Tiempo de ejecución.Habilitar prevención de fugas:
    • Utiliza la técnica addBinding para evitar la detección de Runtime.Enable
    • Funciona con trabajadores web e iframes
    • Mantiene el acceso al contexto mundial principal
  2. Enmascaramiento de URL de origen:
    • Cambia la URL de origen de Puppeteer para que parezca un script legítimo
    • Ayuda a evitar la detección de herramientas de automatización.
  3. Nombre del mundo de utilidad:
    • Utiliza un nombre de mundo de utilidad genérico
    • Previene la detección a través de patrones de nombres mundiales
  4. Configuración de inicio del navegador:
    • Desactiva las banderas de automatización
    • Utiliza argumentos optimizados de Chrome
    • Configura la ventana gráfica y los ajustes de la ventana

Uso con Claude Desktop

  1. Asegúrate de tener Claude Desktop instalado y actualizado a la última versión
  2. Abra el archivo de configuración de Claude Desktop:
    • MacOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
  3. Agregue la configuración del servidor como se muestra en la sección Configuración anterior.
  4. Reiniciar Claude Desktop
  5. Busque el icono del martillo Para confirmar que las herramientas están disponibles

Herramientas disponibles

1. Herramienta de búsqueda

{ name: "search", params: { query: string; trustedDomains?: string[]; excludedDomains?: string[]; resultCount?: number; safeSearch?: boolean; dateRestrict?: string; } }

2. Herramienta Ver URL

{ name: "view_url", params: { url: string; includeImages?: boolean; includeVideos?: boolean; preserveLinks?: boolean; formatCode?: boolean; } }

Solución de problemas

Problemas de integración de Claude Desktop

  1. Revisar los registros:
    # MacOS/Linux tail -n 20 -f ~/Library/Logs/Claude/mcp*.log # Windows type %APPDATA%\Claude\Logs\mcp*.log
  2. Problemas comunes:
    • El servidor no aparece: Verifique la sintaxis y las rutas del archivo de configuración
    • Las llamadas a herramientas fallan: Verifique los registros del servidor y reinicie Claude Desktop
    • Problemas de ruta: asegúrese de utilizar rutas absolutas

Para obtener una solución de problemas más detallada, consulte la guía de depuración de MCP .

Desarrollo

# Run in development mode with watch bun --watch run dev # Run tests bun run test # Run linter bun run lint

Notas importantes

  1. Detección de bots:
    • Las funciones para evitar la detección de bots ayudan a prevenir los métodos de detección más comunes.
    • Sin embargo, pueden ser necesarias medidas adicionales como servidores proxy y agentes de usuario adecuados.
    • Algunos sitios web aún pueden detectar la automatización a través de otros medios.
  2. Actuación:
    • Las instancias del navegador se agrupan y reutilizan
    • Los navegadores inactivos se limpian automáticamente
    • Los límites de recursos evitan la sobrecarga

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Proporciona capacidades de búsqueda de Google, extracción de contenido web y funcionalidad de captura de pantalla con prevención avanzada de detección de bots a través del protocolo MCP.

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Cookie Setup
          2. MCP Server Configuration
          3. Logging Configuration
        2. Bot Detection Avoidance
          1. Using with Claude Desktop
            1. Available Tools
              1. 1. Search Tool
              2. 2. View URL Tool
            2. Troubleshooting
              1. Claude Desktop Integration Issues
            3. Development
              1. Important Notes
                1. License
                  ID: na33znv5mg