Integrate Grok's powerful real-time search capabilities into Claude via the MCP protocol! https://code.guda.studio
Find a file
2026-03-24 02:28:31 +11:00
images v1.3.3:完善README 2026-03-06 17:29:32 +08:00
src/grok_search refactor(mcp): align python style with agents rules 2026-03-24 02:28:31 +11:00
tests refactor(mcp): align python style with agents rules 2026-03-24 02:28:31 +11:00
.gitignore chore(git): update gitignore 2026-03-24 00:14:03 +11:00
.python-version chore(mcp): target python 3.12.13 2026-03-23 22:50:54 +11:00
LICENSE v1.2.6:添加 MIT 许可说明 2025-12-24 11:27:39 +08:00
pyproject.toml chore(mcp): target python 3.12.13 2026-03-23 22:50:54 +11:00
README.md chore(mcp): target python 3.12.13 2026-03-23 22:50:54 +11:00
uv.lock chore(git): update gitignore 2026-03-24 00:14:03 +11:00

这是图片

English | 简体中文

Grok-with-Tavily MCP为 Claude Code 提供更完善的网络访问能力

License: MIT Python 3.12+ FastMCP


一、概述

Grok Search MCP 是一个基于 FastMCP 构建的 MCP 服务器,采用双引擎架构Grok 负责 AI 驱动的智能搜索,Tavily 负责高保真网页抓取与站点映射,各取所长为 Claude Code / Cherry Studio 等LLM Client提供完整的实时网络访问能力。

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

功能特性

  • 双引擎Grok 搜索 + Tavily 抓取/映射,互补协作
  • Firecrawl 托底Tavily 提取失败时自动降级到 Firecrawl Scrape支持空内容自动重试
  • OpenAI 兼容接口,支持任意 Grok 镜像站
  • 自动时间注入(检测时间相关查询,注入本地时间上下文)
  • 一键禁用 Claude Code 官方 WebSearch/WebFetch强制路由到本工具
  • 智能重试(支持 Retry-After 头解析 + 指数退避)
  • 父进程监控Windows 下自动检测父进程退出,防止僵尸进程)

效果展示

我们以在cherry studio中配置本MCP为例展示了claude-opus-4.6模型如何通过本项目实现外部知识搜集,降低幻觉率。 如上图,为公平实验我们打开了claude模型内置的搜索工具然而opus 4.6仍然相信自己的内部常识不查询FastAPI的官方文档以获取最新示例。 如上图,当打开grok-search MCP在相同的实验条件下opus 4.6主动调用多次搜索,以获取官方文档,回答更可靠。

二、安装

前置条件

  • Python 3.12+
  • uv(推荐的 Python 包管理器)
  • Claude Code
安装 uv
# 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 用户强烈推荐在 WSL 中运行本项目。

一键安装

若之前安装过本项目使用以下命令卸载旧版MCP。

claude mcp remove grok-search

将以下命令中的环境变量替换为你自己的值后执行。Grok 接口需为 OpenAI 兼容格式Tavily 为可选配置,未配置时工具 web_fetchweb_map 不可用。

GuDa 用户(推荐)

GuDa 用户只需配置 GUDA_API_KEY 即可享受完整服务,所有 API 地址自动派生:

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"
  }
}'

自定义配置

如需使用自己的 API 端点,可分别配置各服务:

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"
  }
}'
如果遇到 SSL / 证书验证错误

在部分企业网络或代理环境中,可能会出现类似错误:

certificate verify failed self signed certificate in certificate chain

可以在 uvx 参数中添加 --native-tls使其使用系统证书库

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" } }'

```

除此之外,你还可以在env字段中配置更多环境变量

变量 必填 默认值 说明
GUDA_API_KEY - GuDa API 密钥(配置后自动派生所有服务的 URL 和 Key
GUDA_BASE_URL https://code.guda.studio GuDa 服务基础地址
GROK_API_URL {GUDA_BASE_URL}/grok/v1 Grok API 地址OpenAI 兼容格式),显式设置时覆盖 GuDa 派生值
GROK_API_KEY {GUDA_API_KEY} Grok API 密钥,显式设置时覆盖 GuDa 派生值
GROK_MODEL grok-4.20-beta 默认模型(设置后优先于 ~/.config/grok-search/config.json
TAVILY_API_KEY {GUDA_API_KEY} Tavily API 密钥(用于 web_fetch / web_map
TAVILY_API_URL {GUDA_BASE_URL}/tavily Tavily API 地址
TAVILY_ENABLED true 是否启用 Tavily
GROK_DEBUG false 调试模式
GROK_LOG_LEVEL INFO 日志级别
GROK_LOG_DIR logs 日志目录
GROK_RETRY_MAX_ATTEMPTS 3 最大重试次数
GROK_RETRY_MULTIPLIER 1 重试退避乘数
GROK_RETRY_MAX_WAIT 10 重试最大等待秒数

注意:配置了 GUDA_API_KEY 后,GROK_API_URL/GROK_API_KEY/TAVILY_* 均为可选,系统自动从 GUDA_BASE_URL 派生。显式设置的独立变量优先级更高。

验证安装

claude mcp list

三、MCP 工具介绍

本项目提供九个 MCP 工具(展开查看)

web_search — AI 网络搜索

通过 Grok API 执行 AI 驱动的网络搜索,默认仅返回 Grok 的回答正文,并返回 session_id 以便后续获取信源。

web_search 输出不展开信源,仅返回 sources_count;信源会按 session_id 缓存在服务端,可用 get_sources 拉取。

参数 类型 必填 默认值 说明
query string - 搜索查询语句
platform string "" 聚焦平台(如 "Twitter", "GitHub, Reddit"
model string null 按次指定 Grok 模型 ID
extra_sources int 0 额外补充信源数量(仅 Tavily可为 0 关闭)

自动检测查询中的时间相关关键词(如"最新""今天""recent"等),注入本地时间上下文以提升时效性搜索的准确度。

返回值(结构化字典):

  • session_id: 本次查询的会话 ID
  • content: Grok 回答正文(已自动剥离信源)
  • sources_count: 已缓存的信源数量

get_sources — 获取信源

通过 session_id 获取对应 web_search 的全部信源。

参数 类型 必填 说明
session_id string web_search 返回的 session_id

返回值(结构化字典):

  • session_id
  • sources_count
  • sources: 信源列表(每项包含 url,可能包含 title/description/provider

web_fetch — 网页内容抓取

通过 Tavily Extract API 获取完整网页内容,返回 Markdown 格式。对临时失败和空内容响应会自动重试。

参数 类型 必填 说明
url string 目标网页 URL

web_map — 站点结构映射

通过 Tavily Map API 遍历网站结构,发现 URL 并生成站点地图。

参数 类型 必填 默认值 说明
url string - 起始 URL
instructions string "" 自然语言过滤指令
max_depth int 1 最大遍历深度1-5
max_breadth int 20 每页最大跟踪链接数1-500
limit int 50 总链接处理数上限1-500
timeout int 150 超时秒数10-150

get_config_info — 配置诊断

无需参数。显示所有配置状态、测试 Grok API 连接、返回响应时间和可用模型列表API Key 自动脱敏)。

switch_model — 模型切换

参数 类型 必填 说明
model string 模型 ID"grok-4-fast", "grok-2-latest"

切换前会先通过 /models 校验模型是否可用;切换后配置持久化到 ~/.config/grok-search/config.json,跨会话保持。

describe_url — 页面提要抽取

让 Grok 阅读单个页面,返回页面标题和逐字摘录。

参数 类型 必填 默认值 说明
url string - 目标网页 URL
model string "" 按次指定 Grok 模型 ID

rank_sources — 信源排序

让 Grok 按与查询的相关度重排编号信源列表。

参数 类型 必填 默认值 说明
query string - 用于排序的查询
sources_text string - 编号信源列表
total int - 信源总数
model string "" 按次指定 Grok 模型 ID

search_planning — 搜索规划

结构化搜索规划脚手架(分阶段、多轮),用于在执行复杂搜索前先生成可执行的搜索计划。

四、常见问题

Q: 必须同时配置 Grok 和 Tavily 吗? A: 配置 `GUDA_API_KEY` 即可获得完整的 Grok + Tavily 服务。如不使用 GuDaGrok`GROK_API_URL` + `GROK_API_KEY`为必填提供核心搜索能力。Tavily 为可选:未配置时 `web_fetch` 和 `web_map` 将返回配置错误提示。
Q: Grok API 地址需要什么格式? A: 需要 OpenAI 兼容格式的 API 地址(支持 `/chat/completions` 和 `/models` 端点)。如使用官方 Grok需通过兼容 OpenAI 格式的镜像站访问。
Q: 如何验证配置? A: 在 Claude 对话中说"显示 grok-search 配置信息",将自动测试 API 连接并显示结果。

许可证

MIT License


如果这个项目对您有帮助,请给个 Star

Star History Chart