Skip to main content
Glama

google-surf-mcp

✨Anti-Bot-Such-MCP: Kein API-Schlüssel erforderlich✨

Englisch | 한국어

google-surf-mcp MCP server

demo

Nur Demo. Tatsächliche Suchen werden standardmäßig headless (ohne sichtbaren Browser) ausgeführt. Setzen Sie SURF_HEADLESS=false, um Chrome wie im Clip oben sichtbar zu machen.

Google-Such-MCP. Kein API-Schlüssel. Funktioniert einfach.

  • ✅ Funktioniert tatsächlich (habe 6 kostenlose Google-Such-MCPs getestet, alle sind fehlgeschlagen)

  • ✅ Suche + URL-Extraktion in einem MCP (ersetzt die übliche Kombination aus Such-MCP + Fetch-MCP)

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

  • ✅ Kein API-Schlüssel, keine Proxys, kein Solver

  • ✅ Automatische CAPTCHA-Wiederherstellung (Chrome öffnet sich, Mensch löst einmal, Aufruf wird wiederholt)

  • ✅ SSRF-Schutz bei extract (blockiert standardmäßig localhost, private IPs, AWS-Metadaten)

Was ist das?

Binden Sie es in einen beliebigen MCP-Client ein und Sie erhalten die Google-Suche als Tool.

Kein CAPTCHA-Solver. Wenn bei einem Tool ein CAPTCHA ausgelöst wird, öffnet sich ein Chrome-Fenster, damit ein Mensch es lösen kann. Jede Lösung bewahrt die Reputation des Profils bei Google. Entwickelt für nachhaltige, ethische Nutzung.

Die einmalige Installation erfordert ein ca. 1-sekündiges Aufwärmen des Profils (siehe Installation).

Für die lokale Nutzung konzipiert. Nicht für zustandslose / serverlose Bereitstellungen geeignet.

Related MCP server: Brave Search MCP Server

Zahlen

Ergebnis

sequenziell

~1,5s/Abfrage (erster Aufruf ~4s, inklusive Setup)

parallel x4

~1,5s (erster Aufruf ~9s, inklusive Pool-Aufwärmen)

parallel x10

~4,5s

search_extract x5

~5s (Suche + 5 parallele Extraktionen)

Gemessen auf einer Workstation mit einer 1Gb/s-Verbindung.

Stack

  • Playwright + persistentes Chrome-Profil

  • playwright-extra Stealth

  • Ressourcenblockierung für Bilder / Medien / Schriftarten zur Geschwindigkeitsoptimierung

  • Einmaliges Profil-Bootstrap vor dem ersten Lauf

  • Mozilla Readability + Turndown für die Artikel-Extraktion

Installation

Erfordert Node 18+ und Google Chrome (oder Chromium) auf dem System.

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

Oder lokaler Klon:

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

bootstrap öffnet ein Chrome-Fenster. Führen Sie darin eine Google-Suche durch. Schließen. Das Profil ist jetzt aufgewärmt.

Überschreiben Sie bei Bedarf die Pfade:

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

Verwendung mit Claude Code

Fügen Sie dies in Ihre ~/.claude.json ein:

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

Starten Sie Claude Code neu. Fertig. search, search_parallel, extract, search_extract sind jetzt verfügbar.

Für andere MCP-Clients verwenden Sie die gleiche JSON-Struktur in deren Konfigurationsdatei.

Variante für lokalen Klon:

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

Tools

  • search(query, limit?) - einzelne Abfrage, ~1,5s. Gibt Titel / URL / Snippet zurück. Gesponserte Anzeigen werden herausgefiltert.

  • search_parallel(queries[], limit?) - Pool von 4, maximal 10 Abfragen pro Aufruf.

  • extract(url, max_chars?) - URL abrufen, Artikel-Markdown zurückgeben (Readability mit Text-Fallback). Fehler geben { error } zurück, lösen niemals eine Exception aus.

  • search_extract(query, limit?, max_chars?) - Suche + parallele Extraktion in einem Aufruf. Gibt SERP-Ergebnisse angereichert mit vollständigem Artikelinhalt zurück. Fehler pro Seite sind isoliert.

search_extract ist das Highlight: SERP + vollständiger Artikelinhalt in einem einzigen Aufruf. Ersetzt die übliche Kombination aus "Such-MCP + URL-Fetcher-MCP", die die meisten Agenten zusammenfügen.

Umgebungsvariablen

Variable

Standard

Hinweise

CHROME_PATH

automatisch erkannt

absoluter Pfad zur Chrome-Binärdatei

SURF_PROFILE_ROOT

~/.google-surf-mcp

Speicherort des aufgewärmten Profils

SURF_LOCALE

en-US

Browser-Gebietsschema

SURF_TZ

System-Zeitzone

z. B. America/New_York

SURF_HEADLESS

true

auf false setzen, um Chrome sichtbar auszuführen (Demos / Debugging). Die automatische CAPTCHA-Wiederherstellung läuft immer sichtbar, unabhängig davon.

SURF_IDLE_CLOSE_MS

30000

Leerlaufzeit in ms vor dem Schließen des sequenziellen Kontextes und Pools. 0 deaktiviert das automatische Schließen bei Leerlauf. Niedriger = schnellere Bereinigung, höher = wärmerer Cache für zeitlich verteilte Aufrufe.

SURF_ALLOW_PRIVATE

false

auf true setzen, um extract das Abrufen privater/Loopback-Adressen zu erlauben (localhost, 127.0.0.1, 10.x, 192.168.x, 169.254.x usw.). Standardmäßig werden diese als SSRF-Schutz blockiert.

Fehlerbehebung

  • CAPTCHA: Ein sichtbares Chrome-Fenster öffnet sich automatisch (funktioniert für alle 4 Tools). Lösen Sie es einmal, führen Sie eine Suche darin durch, der Aufruf wird wiederholt und fortgesetzt. Um stattdessen sofort abzubrechen, führen Sie es ohne angeschlossenes Display aus.

  • "Chrome not found": Installieren Sie Chrome oder setzen Sie CHROME_PATH.

  • Veraltete Selektoren: Google rotiert Klassen. Pull Requests sind willkommen.

Changelog

Siehe CHANGELOG.md.

Lizenz

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