Grok SearchSAFE
Integrate Grok's powerful real-time search capabilities into Claude via the MCP protocol!
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
English | 简体中文
Grok-with-Tavily MCP,为 Claude Code 提供更完善的网络访问能力
[](https://opensource.org/licenses/MIT) [](https://www.python.org/downloads/) [](https://github.com/jlowin/fastmcp)
一、概述
Grok Search MCP 是一个基于 FastMCP 构建的 MCP 服务器,采用双引擎架构:Grok 负责 AI 驱动的智能搜索,Tavily 负责高保真网页抓取与站点映射,各取所长为 Claude Code / Cherry Studio 等LLM Client提供完整的实时网络访问能力。
Claude ──MCP──► Grok Search Server ├─ web_search ───► Grok API(AI 搜索) ├─ 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.10+
- 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
f87b3957a67fOBSERVED · 2026-09-23Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add grok-search --env FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY} --env GROK_API_KEY=${GROK_API_KEY} --env TAVILY_API_KEY=${TAVILY_API_KEY} -- uvx grok-search{
"mcpServers": {
"grok-search": {
"command": "uvx",
"args": [
"grok-search"
],
"env": {
"FIRECRAWL_API_KEY": "${FIRECRAWL_API_KEY}",
"GROK_API_KEY": "${GROK_API_KEY}",
"TAVILY_API_KEY": "${TAVILY_API_KEY}"
}
}
}
}Exposed tools (5)
1 read · 4 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
get_config_info | write | import json |
get_sources | read | sources = await _SOURCES_CACHE.get(session_id) |
plan_tool_mapping | write | import json |
switch_model | write | import json |
toggle_builtin_tools | write | import json |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (3)
curl -LsSf https://astral.sh/uv/install.sh | sh
curl -LsSf https://astral.sh/uv/install.sh | sh
images/title.png
Gates applied: no_behavioural_pass.
f87b3957a67ffull audit observations/trust-audit/mcp-server/gudastudio__grok-search.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-09-23 | f87b3957a67f | SAFE | B | 89 | source changed, verdict held |
Questions
What is the Grok Search MCP server?
Integrate Grok's powerful real-time search capabilities into Claude via the MCP protocol!
What tools does Grok Search expose?
5 in total: 1 read-only, 4 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Grok Search safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Grok Search need?
It reads FIRECRAWL_API_KEY, GROK_API_KEY and TAVILY_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Grok Search run?
It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as grok-search.
How current is this page?
The grade is for one exact copy of the source (f87b3957a67f), read on 2026-09-23. The repository is watched and re-audited when it changes.