Skip to main content
Glama

这是图片

English | 简体中文

Grok-with-Tavily MCP, bietet Claude Code erweiterte Netzwerkzugriffsfähigkeiten

License: MIT Python 3.10+ FastMCP

Dies ist ein Fork von GuDaStudio/GrokSearch (sunami-grok-search). Das web_search des Upstreams lagert die Suche an ein Upstream-Gateway aus; bei direkter Verbindung zur offiziellen api.x.ai wird nicht wirklich gesucht, sondern das Modell erfindet lediglich citation_card-Zitate, und sources_count bleibt konstant 0. Dieser Fork nutzt stattdessen die nativen web_search / x_search-Tools der xAI Responses API, liest Zitate strukturiert aus annotations[].url_citation und stellt die Konto-/Zeitfilter der X-Suche als Parameter bereit. Details zu den Änderungen finden Sie in SUNAMI.md; für die Bereitstellung auf einem neuen Rechner genügt es, die Prompts aus PROMPT.md an den Agenten zu übergeben. Nachfolgend die ursprüngliche Upstream-Dokumentation.


1. Überblick

Grok Search MCP ist ein auf FastMCP basierender MCP-Server mit Zwei-Engine-Architektur: Grok übernimmt die KI-gestützte intelligente Suche, Tavily das hochpräzise Web-Scraping und Site-Mapping. Beide nutzen ihre jeweiligen Stärken, um LLM-Clients wie Claude Code / Cherry Studio vollständigen Echtzeit-Netzwerkzugriff zu bieten.

Claude ──MCP──► Grok Search Server
                  ├─ web_search  ───► Grok API(AI 搜索)
                  ├─ web_fetch   ───► Tavily Extract → Firecrawl Scrape(内容抓取,自动降级)
                  └─ web_map     ───► Tavily Map(站点映射)

Funktionen

  • Zwei Engines: Grok-Suche + Tavily-Scraping/-Mapping, komplementär zusammenarbeitend

  • Firecrawl als Fallback: Automatischer Fallback auf Firecrawl Scrape bei Tavily-Extraktionsfehlern, mit automatischem Retry bei leerem Inhalt

  • OpenAI-kompatible Schnittstelle, unterstützt beliebige Grok-Mirror-Sites

  • Automatische Zeitinjektion (erkennt zeitbezogene Suchanfragen und injiziert lokalen Zeitkontext)

  • Ein-Klick-Deaktivierung der offiziellen WebSearch/WebFetch von Claude Code, erzwingt Routing über dieses Tool

  • Intelligente Wiederholungsversuche (unterstützt Retry-After-Header-Parsing + exponentielles Backoff)

  • Parent-Prozess-Überwachung (erkennt unter Windows automatisch den Exit des Parent-Prozesses, verhindert Zombie-Prozesse)

Ergebnis-Demo

Am Beispiel der Konfiguration dieses MCP in cherry studio zeigen wir, wie das Modell claude-opus-4.6 über dieses Projekt externes Wissen sammelt und die Halluzinationsrate senkt. Wie oben zu sehen, haben wir für ein faires Experiment das integrierte Suchtool des Claude-Modells aktiviert, dennoch vertraut opus 4.6 weiterhin seinem internen Allgemeinwissen und fragt nicht die offizielle FastAPI-Dokumentation ab, um aktuelle Beispiele zu erhalten. Wie oben zu sehen, ruft opus 4.6 bei aktiviertem grok-search MCP unter identischen Versuchsbedingungen proaktiv mehrere Suchen auf, um die offizielle Dokumentation abzurufen – die Antworten sind zuverlässiger.

2. Installation

Voraussetzungen

  • Python 3.10+

  • uv (empfohlener Python-Paketmanager)

  • Claude Code

# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Windows-Benutzern wird dringend empfohlen, dieses Projekt in WSL auszuführen.

Ein-Klick-Installation

Falls Sie dieses Projekt bereits installiert haben, entfernen Sie die alte MCP-Version mit dem folgenden Befehl.

claude mcp remove grok-search

Ersetzen Sie die Umgebungsvariablen im folgenden Befehl durch Ihre eigenen Werte und führen Sie ihn aus. Die Grok-Schnittstelle muss im OpenAI-kompatiblen Format vorliegen; Tavily ist optional – ohne Konfiguration sind die Tools web_fetch und web_map nicht verfügbar.

GuDa-Benutzer (empfohlen)

GuDa-Benutzer benötigen nur die Konfiguration von GUDA_API_KEY, um den vollständigen Service zu nutzen – alle API-Adressen werden automatisch abgeleitet:

claude mcp add-json grok-search --scope user '{
  "type": "stdio",
  "command": "uvx",
  "args": [
    "--from",
    "git+https://github.com/GuDaStudio/GrokSearch@grok-with-tavily",
    "grok-search"
  ],
  "env": {
    "GUDA_API_KEY": "your-guda-api-key"
  }
}'

Benutzerdefinierte Konfiguration

Für eigene API-Endpunkte können die einzelnen Dienste separat konfiguriert werden:

claude mcp add-json grok-search --scope user '{
  "type": "stdio",
  "command": "uvx",
  "args": [
    "--from",
    "git+https://github.com/GuDaStudio/GrokSearch@grok-with-tavily",
    "grok-search"
  ],
  "env": {
    "GROK_API_URL": "https://your-api-endpoint.com/v1",
    "GROK_API_KEY": "your-grok-api-key",
    "TAVILY_API_KEY": "tvly-your-tavily-key",
    "TAVILY_API_URL": "https://api.tavily.com"
  }
}'

In manchen Unternehmensnetzwerken oder Proxy-Umgebungen können Fehler wie die folgenden auftreten:

certificate verify failed self signed certificate in certificate chain

Sie können den Parameter --native-tls zu den uvx-Argumenten hinzufügen, um den Systemzertifikatsspeicher zu verwenden:

claude mcp add-json grok-search --scope user '{ "type": "stdio", "command": "uvx", "args": [ "--native-tls", "--from", "git+https://github.com/GuDaStudio/GrokSearch@grok-with-tavily", "grok-search" ], "env": { "GUDA_API_KEY": "your-guda-api-key" } }'

Darüber hinaus können Sie im Feld env weitere Umgebungsvariablen konfigurieren

Variable

Erforderlich

Standardwert

Beschreibung

GUDA_API_KEY

-

GuDa-API-Schlüssel (nach Konfiguration werden automatisch alle Dienst-URLs und -Schlüssel abgeleitet)

GUDA_BASE_URL

https://code.guda.studio

Basisadresse des GuDa-Dienstes

GROK_API_URL

{GUDA_BASE_URL}/grok/v1

Grok-API-Adresse (OpenAI-kompatibles Format), überschreibt bei expliziter Angabe den abgeleiteten GuDa-Wert

GROK_API_KEY

{GUDA_API_KEY}

Grok-API-Schlüssel, überschreibt bei expliziter Angabe den abgeleiteten GuDa-Wert

GROK_MODEL

grok-4.20-beta

Standardmodell (hat bei Angabe Vorrang vor ~/.config/grok-search/config.json)

TAVILY_API_KEY

{GUDA_API_KEY}

Tavily-API-Schlüssel (für web_fetch / web_map)

TAVILY_API_URL

{GUDA_BASE_URL}/tavily

Tavily-API-Adresse

TAVILY_ENABLED

true

Ob Tavily aktiviert ist

FIRECRAWL_API_KEY

{GUDA_API_KEY}

Firecrawl-API-Schlüssel (Fallback bei Tavily-Fehlern)

FIRECRAWL_API_URL

{GUDA_BASE_URL}/firecrawl

Firecrawl-API-Adresse

GROK_DEBUG

false

Debug-Modus

GROK_LOG_LEVEL

INFO

Log-Level

GROK_LOG_DIR

logs

Log-Verzeichnis

GROK_RETRY_MAX_ATTEMPTS

3

Maximale Anzahl an Wiederholungsversuchen

GROK_RETRY_MULTIPLIER

1

Backoff-Multiplikator für Wiederholungen

GROK_RETRY_MAX_WAIT

10

Maximale Wartezeit für Wiederholungen in Sekunden

Hinweis: Nach Konfiguration von GUDA_API_KEY sind GROK_API_URL/GROK_API_KEY/TAVILY_*/FIRECRAWL_* alle optional – das System leitet sie automatisch aus GUDA_BASE_URL ab. Explizit gesetzte unabhängige Variablen haben höhere Priorität.

Installation verifizieren

claude mcp list

🍟 Nach erfolgreicher Verbindungsanzeige empfehlen wir dringend, in den Claude-Chat einzugeben

调用 grok-search toggle_builtin_tools,关闭Claude Code's built-in WebSearch and WebFetch tools

Das Tool ändert automatisch permissions.deny in der projektbezogenen .claude/settings.json und deaktiviert mit einem Klick die offiziellen WebSearch- und WebFetch-Funktionen von Claude Code, wodurch Claude Code gezwungen wird, für die Suche dieses Projekt aufzurufen!

3. Vorstellung der MCP-Tools

Führt über die Grok-API eine KI-gestützte Netzwerksuche durch. Standardmäßig wird nur der Antworttext von Grok zurückgegeben, zusammen mit einer session_id für den späteren Abruf der Quellen.

web_search gibt die Quellen nicht erweitert aus, sondern nur sources_count; die Quellen werden serverseitig unter der session_id zwischengespeichert und können mit get_sources abgerufen werden.

Parameter

Typ

Erforderlich

Standardwert

Beschreibung

query

string

-

Suchanfrage

platform

string

""

Fokus-Plattform (z. B. "Twitter", "GitHub, Reddit")

model

string

null

Grok-Modell-ID pro Anfrage

extra_sources

int

0

Zusätzliche Quellenanzahl (Tavily/Firecrawl, 0 zum Deaktivieren)

Erkennt automatisch zeitbezogene Schlüsselwörter in der Suchanfrage (z. B. „neueste", „heute", „recent" usw.) und injiziert lokalen Zeitkontext, um die Genauigkeit zeitkritischer Suchen zu verbessern.

Rückgabewert (strukturiertes Wörterbuch):

  • session_id: Sitzungs-ID dieser Abfrage

  • content: Antworttext von Grok (Quellen wurden automatisch entfernt)

  • sources_count: Anzahl der zwischengespeicherten Quellen

get_sources — Quellen abrufen

Ruft über die session_id alle Quellen der entsprechenden web_search-Abfrage ab.

Parameter

Typ

Erforderlich

Beschreibung

session_id

string

Die von web_search zurückgegebene session_id

Rückgabewert (strukturiertes Wörterbuch):

  • session_id

  • sources_count

  • sources: Quellenliste (jeder Eintrag enthält url, ggf. title/description/provider)

web_fetch — Webinhalte abrufen

Ruft über die Tavily Extract API vollständige Webinhalte ab und gibt sie im Markdown-Format zurück. Bei Tavily-Fehlern erfolgt automatisch ein Fallback auf Firecrawl Scrape.

Parameter

Typ

Erforderlich

Beschreibung

url

string

Ziel-URL der Webseite

web_map — Seitenstruktur-Mapping

Durchläuft über die Tavily Map API die Website-Struktur, entdeckt URLs und erstellt eine Sitemap.

Parameter

Typ

Erforderlich

Standardwert

Beschreibung

url

string

-

Start-URL

instructions

string

""

Filteranweisung in natürlicher Sprache

max_depth

int

1

Maximale Durchlauf-Tiefe (1-5)

max_breadth

int

20

Maximale Anzahl verfolgter Links pro Seite (1-500)

limit

int

50

Obergrenze für die Gesamtzahl verarbeiteter Links (1-500)

timeout

int

150

Timeout in Sekunden (10-150)

get_config_info — Konfigurationsdiagnose

Benötigt keine Parameter. Zeigt alle Konfigurationsstatus, testet die Grok-API-Verbindung, gibt Antwortzeit und Liste verfügbarer Modelle zurück (API-Schlüssel werden automatisch maskiert).

switch_model — Modellwechsel

Parameter

Typ

Erforderlich

Beschreibung

model

string

Modell-ID (z. B. "grok-4-fast", "grok-2-latest")

Nach dem Wechsel wird die Konfiguration dauerhaft in ~/.config/grok-search/config.json gespeichert und bleibt über Sitzungen hinweg erhalten.

toggle_builtin_tools — Tool-Routing-Steuerung

Parameter

Typ

Erforderlich

Standardwert

Beschreibung

action

string

"status"

"on" deaktiviert offizielle Tools / "off" aktiviert offizielle Tools / "status" zeigt Status an

Ändert permissions.deny in der projektbezogenen .claude/settings.json und deaktiviert mit einem Klick die offiziellen WebSearch- und WebFetch-Funktionen von Claude Code.

search_planning — Suchplanung

Strukturiertes Suchplanungs-Gerüst (phasenbasiert, mehrstufig), um vor der Ausführung komplexer Suchen zunächst einen ausführbaren Suchplan zu erstellen.

4. Häufig gestellte Fragen

Lizenz

MIT License


Wenn Ihnen dieses Projekt hilft, geben Sie ihm bitte einen Star!

Star History Chart

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.

  • The best web search for your AI Agent

  • Web search, page extraction and structured commerce, social and business data for AI agents

View all MCP Connectors

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/zhehaosun717/sunami-grok-search'

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