本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
我的帖子已经打上 开源推广 标签: 是
我的开源项目完整开源,无未开源部分: 是
我的开源项目已链接认可 LINUX DO 社区: 是
我帖子内的项目介绍,AI 生成、润色内容部分已截图发出: 是
以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容。
使用 rust copy 了孙佬的 GrokSearch,平常使用内存不到 5MB

grok-search-rs
Grok 联网搜索 MCP—— 这次用 Rust 重写,单文件二进制、冷启动毫秒级。
GitHub 仓库 | npx grok-search-rs 或 npm install -g grok-search-rs
孙佬的 grok-search 工具 —— 把 Grok 联网搜索、Tavily 抓取、Firecrawl 兜底整合成 MCP,让 Claude Code / Codex / Cursor 这类客户端瞬间获得 “实时联网 + 网页全文” 的能力,是真的好用。
但 Node/Python 实现跑起来动辄上百 MB 内存、冷启动慢半拍,于是就有了这个 Rust 重写版:一份代码、跨平台二进制、纯 stdio MCP,接哪都行。
并且在调用的时候自动开启了 web_search 工具调用(x_search 可以配置开启)。
感谢 @DaiSun 【grok 不止 with tavily mcp】模型太笨不会自己发散思维帮忙把信息搜全?L 站 / 知乎有盾 fetch 不下来?grok 搜的全但幻觉高的离谱?不存在嗷,统统不存在!

想要极致轻量?把 Node 一脚踢开
npx 路径上头会挂个 Node 当 stdio 转发器,再轻也得 30~50MB。
先装一次,再直接指二进制
npm install -g grok-search-rs
"grok-search-rs": {
"type": "stdio",
"command": "grok-search-rs",
"env": {
"FIRECRAWL_API_KEY": "",
"GROK_SEARCH_API_KEY": "",
"GROK_SEARCH_MODEL": "",
"GROK_SEARCH_URL": "",
"TAVILY_API_KEY": "",
"TAVILY_API_URL": "https://api.tavily.com"
}
}
获取 API Key
涉及几个第三方平台,论坛公益站能用就用,官方 free tier 也基本够日常 AI Coding 玩。
Grok(xAI)
最稳的当然还是走 xAI 官方:
- 去 https://x.ai/api 创建一个 API Key(
xai-... 开头)
- 如果你走 new-api /one-api 之类中转也可以
项目已经默认开启 web_search,可以配置开启 x_search
- 模型默认走
grok-4-1-fast-reasoning,便宜更快;也可通过 GROK_SEARCH_MODEL 切到 grok-4 或其他兼容型号
GROK_SEARCH_URL 既能填根 URL 也能填 /v1,本服务会自动归一化到 /v1/responses
Tavily
去 https://tavily.com 注册,控制台直接 Generate Key,免费额度对个人足够日常用。
Firecrawl(可选)
去 Firecrawl - Search, Scrape, and Interact with the Web for AI 拿 Key,配上之后 web_fetch 在 Tavily 拒绝或返回过薄内容时会自动转 Firecrawl 兜底,体感就是 “该抓的页基本都能抓下来”。
更新日志
2026-6-5 更新 V0.1.14 web_fetch 智能源提取 + web_search 内联富化
web_fetch 现在会对 GitHub issue/PR、StackExchange/MathOverflow、arXiv、Wikipedia
链接用专用解析器返回干净的 Markdown(标题、状态/标签、采纳答案、论文摘要、按票排序的
回答),不再是通用网页抓取;其它链接仍走原来的 Tavily → Firecrawl 通用通道。返回新增
source_type / fallback_reason 两个字段。
web_search 新增可选参数 include_content:开启后直接把返回来源的正文一并补全,省一次
web_fetch 往返。
直接抓取即可得结构化 Markdown(无需 Tavily key,走公开 API):
web_fetch [1706.03762] Attention Is All You Need
web_fetch Thread a session or semantic context through IL · Issue #1 · rust-lang/rust · GitHub
web_fetch https://stackoverflow.com/questions/11227809
web_search 内联富化:
{ “query”: “rust async runtime”, “include_content”: true }
新增可选环境变量:
GITHUB_TOKEN GitHub 抓取鉴权(匿名限 60 次/小时,加 token 可提升)
GROK_SEARCH_SOURCE_MAX_ANSWERS StackExchange 回答折叠上限(默认 5)
GROK_SEARCH_SOURCE_MAX_COMMENTS 评论折叠上限(默认 30)
GROK_SEARCH_ENRICH_CONCURRENCY 富化并发(默认 3,范围 1–5)
GROK_SEARCH_ENRICH_MAX_CHARS 每条富化正文字数上限(默认 15000)
2026-5-19 更新 V0.1.13
支持 Grok OAuth 模式登录
grok-search-rs login
grok-search-rs status
grok-search-rs logout
2026-5-16 更新
支持 chat/completions 格式

Windows 可以使用 “command”: “grok-search-rs.exe”
npx 方式:
claude mcp add-json grok-search-rs --scope user ‘{
“type”: “stdio”,
“command”: “npx”,
“args”: [“-y”, “grok-search-rs”],
“env”: {
“GROK_SEARCH_API_KEY”: “xai-…”,
“TAVILY_API_KEY”: “tvly-…”
}
}’