grok-search

English | 简体中文
Grok-with-Tavily MCP, proporciona capacidades de acceso a la red más completas para Claude Code
Este es un fork de GuDaStudio/GrokSearch (sunami-grok-search). El
web_searchdel upstream subcontrata la búsqueda a una pasarela externa; al conectarse directamente a la API oficialapi.x.aino se realiza una búsqueda real, solo se hace que el modelo invente citascitation_cardysources_countsea siempre 0. Este fork utiliza las herramientas nativasweb_search/x_searchde la API Responses de xAI, las citas se leen de forma estructurada desdeannotations[].url_citation, y los filtros de cuenta/tiempo de la búsqueda en X se exponen como parámetros. Los detalles de los cambios se encuentran en SUNAMI.md; para desplegar en otra máquina, basta con pasar el prompt de PROMPT.md al agente. A continuación se muestra la documentación original del upstream.
一、Descripción general
Grok Search MCP es un servidor MCP construido sobre FastMCP, con una arquitectura de doble motor: Grok se encarga de la búsqueda inteligente impulsada por IA, y Tavily se encarga del rastreo web de alta fidelidad y el mapeo de sitios, aprovechando las fortalezas de cada uno para proporcionar a clientes LLM como Claude Code / Cherry Studio capacidades completas de acceso a la red en tiempo real.
Claude ──MCP──► Grok Search Server
├─ web_search ───► Grok API(AI 搜索)
├─ web_fetch ───► Tavily Extract → Firecrawl Scrape(内容抓取,自动降级)
└─ web_map ───► Tavily Map(站点映射)Características
Doble motor: búsqueda Grok + rastreo/mapeo Tavily, colaboración complementaria
Firecrawl como respaldo: cuando la extracción de Tavily falla, se degrada automáticamente a Firecrawl Scrape, con reintento automático para contenido vacío
Interfaz compatible con OpenAI, compatible con cualquier sitio espejo de Grok
Inyección automática de tiempo (detecta consultas relacionadas con el tiempo e inyecta el contexto de hora local)
Desactivación con un clic de WebSearch/WebFetch oficiales de Claude Code, forzando el enrutamiento a esta herramienta
Reintento inteligente (compatible con el análisis del encabezado Retry-After + retroceso exponencial)
Monitoreo del proceso padre (en Windows, detecta automáticamente la salida del proceso padre para evitar procesos zombis)
Demostración de resultados
Tomamos como ejemplo la configuración de este MCP en cherry studio, mostrando cómo el modelo claude-opus-4.6 utiliza este proyecto para recopilar conocimiento externo y reducir la tasa de alucinaciones.
Como se muestra arriba, para un experimento justo, activamos la herramienta de búsqueda integrada del modelo claude, sin embargo, opus 4.6 aún confía en su conocimiento interno y no consulta la documentación oficial de FastAPI para obtener los ejemplos más recientes.
Como se muestra arriba, al activar el grok-search MCP, bajo las mismas condiciones experimentales, opus 4.6 realiza activamente múltiples búsquedas para obtener la documentación oficial, ofreciendo respuestas más fiables.
二、Instalación
Requisitos previos
Python 3.10+
uv (gestor de paquetes de Python recomendado)
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"Para usuarios de Windows, se recomienda encarecidamente ejecutar este proyecto en WSL.
Instalación con un clic
Si ha instalado este proyecto anteriormente, use el siguiente comando para desinstalar la versión anterior del MCP.
claude mcp remove grok-searchReemplace las variables de entorno en el siguiente comando con sus propios valores y ejecútelo. La interfaz de Grok debe ser compatible con el formato OpenAI; Tavily es opcional, y si no se configura, las herramientas web_fetch y web_map no estarán disponibles.
Usuarios de GuDa (recomendado)
Los usuarios de GuDa solo necesitan configurar GUDA_API_KEY para disfrutar del servicio completo; todas las direcciones de API se derivan automáticamente:
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"
}
}'Configuración personalizada
Si desea usar sus propios endpoints de API, puede configurar cada servicio por separado:
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"
}
}'En algunos entornos de red corporativa o con proxy, pueden aparecer errores similares a:
certificate verify failed self signed certificate in certificate chain
Puede agregar --native-tls a los argumentos de uvx para usar el almacén de certificados del sistema:
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" } }'
Además, puede configurar más variables de entorno en el campo env
Variable | Obligatoria | Valor por defecto | Descripción |
| ❌ | - | Clave de API de GuDa (al configurarla, se derivan automáticamente las URL y claves de todos los servicios) |
| ❌ |
| Dirección base del servicio GuDa |
| ❌ |
| Dirección de la API de Grok (formato compatible con OpenAI); si se establece explícitamente, anula el valor derivado de GuDa |
| ❌ |
| Clave de la API de Grok; si se establece explícitamente, anula el valor derivado de GuDa |
| ❌ |
| Modelo por defecto (si se establece, tiene prioridad sobre |
| ❌ |
| Clave de la API de Tavily (para web_fetch / web_map) |
| ❌ |
| Dirección de la API de Tavily |
| ❌ |
| Si se habilita Tavily |
| ❌ |
| Clave de la API de Firecrawl (respaldo cuando Tavily falla) |
| ❌ |
| Dirección de la API de Firecrawl |
| ❌ |
| Modo de depuración |
| ❌ |
| Nivel de registro |
| ❌ |
| Directorio de registros |
| ❌ |
| Número máximo de reintentos |
| ❌ |
| Multiplicador de retroceso de reintentos |
| ❌ |
| Tiempo máximo de espera de reintento en segundos |
Nota: después de configurar
GUDA_API_KEY,GROK_API_URL/GROK_API_KEY/TAVILY_*/FIRECRAWL_*son todos opcionales; el sistema los deriva automáticamente deGUDA_BASE_URL. Las variables independientes establecidas explícitamente tienen mayor prioridad.
Verificar la instalación
claude mcp list🍟 Después de que se muestre la conexión exitosa, recomendamos encarecidamente ingresar en la conversación de Claude
调用 grok-search toggle_builtin_tools,关闭Claude Code's built-in WebSearch and WebFetch toolsLa herramienta modificará automáticamente el permissions.deny del archivo .claude/settings.json a nivel de proyecto, desactivando con un clic el WebSearch y WebFetch oficiales de Claude Code, forzando así a claude code a llamar a este proyecto para realizar búsquedas.
三、Introducción a las herramientas MCP
web_search — Búsqueda web con IA
Ejecuta búsquedas web impulsadas por IA a través de la API de Grok. Por defecto, solo devuelve el cuerpo de la respuesta de Grok y devuelve session_id para recuperar posteriormente las fuentes.
La salida de web_search no expande las fuentes, solo devuelve sources_count; las fuentes se almacenan en caché en el servidor según session_id y se pueden recuperar con get_sources.
Parámetro | Tipo | Obligatorio | Valor por defecto | Descripción |
| string | ✅ | - | Consulta de búsqueda |
| string | ❌ |
| Plataforma de enfoque (por ejemplo, |
| string | ❌ |
| Especificar el ID del modelo Grok por consulta |
| int | ❌ |
| Cantidad adicional de fuentes complementarias (Tavily/Firecrawl, puede ser 0 para desactivar) |
Detecta automáticamente palabras clave relacionadas con el tiempo en la consulta (como "último", "hoy", "recent", etc.) e inyecta el contexto de hora local para mejorar la precisión de las búsquedas de actualidad.
Valor de retorno (diccionario estructurado):
session_id: ID de sesión de esta consultacontent: cuerpo de la respuesta de Grok (las fuentes se eliminan automáticamente)sources_count: cantidad de fuentes en caché
get_sources — Obtener fuentes
Obtiene todas las fuentes del web_search correspondiente mediante session_id.
Parámetro | Tipo | Obligatorio | Descripción |
| string | ✅ |
|
Valor de retorno (diccionario estructurado):
session_idsources_countsources: lista de fuentes (cada elemento contieneurl, y puede incluirtitle/description/provider)
web_fetch — Extracción de contenido web
Obtiene el contenido completo de una página web mediante la API Tavily Extract, devolviéndolo en formato Markdown. Si Tavily falla, se degrada automáticamente a Firecrawl Scrape como respaldo.
Parámetro | Tipo | Obligatorio | Descripción |
| string | ✅ | URL de la página web de destino |
web_map — Mapeo de estructura del sitio
Recorre la estructura del sitio mediante la API Tavily Map, descubre URL y genera un mapa del sitio.
Parámetro | Tipo | Obligatorio | Valor por defecto | Descripción |
| string | ✅ | - | URL inicial |
| string | ❌ |
| Instrucciones de filtrado en lenguaje natural |
| int | ❌ |
| Profundidad máxima de recorrido (1-5) |
| int | ❌ |
| Número máximo de enlaces a seguir por página (1-500) |
| int | ❌ |
| Límite superior de enlaces a procesar en total (1-500) |
| int | ❌ |
| Tiempo de espera en segundos (10-150) |
get_config_info — Diagnóstico de configuración
No requiere parámetros. Muestra el estado de toda la configuración, prueba la conexión con la API de Grok, devuelve el tiempo de respuesta y la lista de modelos disponibles (la clave de API se enmascara automáticamente).
switch_model — Cambio de modelo
Parámetro | Tipo | Obligatorio | Descripción |
| string | ✅ | ID del modelo (por ejemplo, |
Después del cambio, la configuración se persiste en ~/.config/grok-search/config.json y se mantiene entre sesiones.
toggle_builtin_tools — Control de enrutamiento de herramientas
Parámetro | Tipo | Obligatorio | Valor por defecto | Descripción |
| string | ❌ |
|
|
Modifica el permissions.deny del archivo .claude/settings.json a nivel de proyecto, desactivando con un clic el WebSearch y WebFetch oficiales de Claude Code.
search_planning — Planificación de búsqueda
Andamiaje de planificación de búsqueda estructurada (por fases, múltiples rondas), utilizado para generar un plan de búsqueda ejecutable antes de realizar búsquedas complejas.
四、Preguntas frecuentes
Licencia
Si este proyecto le ha sido útil, ¡dé una estrella!
This server cannot be installed
Maintenance
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
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/zhehaosun717/sunami-grok-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server