Episkey-G/GrokSearch-rs logo

Episkey-G/GrokSearch-rs

Free

Rust 编写的 MCP 服务器,提供 Grok 联网搜索与 Tavily 支持的来源检索,为 AI 代理补充实时网络信息。

FreeFree tier
Inputs: text, urlOutputs: text
Type
Open Source

About Episkey-G/GrokSearch-rs

GrokSearch-rs is a lightweight Rust-based MCP (Model Context Protocol) server that provides Grok and OpenAI-compatible web search capabilities, along with Tavily fetch/map and Firecrawl fallback for source retrieval. It is designed to supplement AI agents with real-time web information, offering tools such as web_search, get_sources, web_fetch, web_map, and doctor. The server supports two upstream transports: native xAI Responses API and any OpenAI-compatible chat completions gateway, selectable via environment variables. Key features include response budgeting to keep responses within agent context limits, structured web_fetch with specialist extractors for GitHub issues/PRs, StackExchange, arXiv, and Wikipedia, optional Grok OAuth mode for API key-less operation, optional remote mode via Streamable HTTP for mobile/multi-device access, and comma-separated Tavily API keys with round-robin failover. Installation is easy via npm (npm install -g grok-search-rs), and the server can be run locally over stdio or as a remote service.

Key Features

Live web search with cited sources, cached for follow-up get_sources calls
Response budgeting to keep responses inside agent context limits (configurable max chars, concise/detailed formats)
Structured web_fetch with specialist extractors for GitHub issues/PRs, StackExchange, arXiv, and Wikipedia
Two transports: native xAI Responses API or any OpenAI-compatible chat completions gateway
Optional Grok OAuth mode for authentication without an API key
Optional remote mode via Streamable HTTP for mobile and multi-device access
Tavily fetch/map with automatic Firecrawl fallback and comma-separated key round-robin failover
Optional X/Twitter search via x_search (Responses transport only)
doctor connectivity probe tool that returns redacted config
Single global config file for multiple MCP clients

Pros & Cons

Pros
  • Lightweight and performant (built in Rust)
  • Supports both xAI and OpenAI-compatible transport protocols
  • Structured extraction for common websites reduces noise
  • Response budgeting and caching optimize token usage and latency
  • OAuth mode eliminates need for an API key
  • Remote HTTP mode enables mobile and multi-client access
  • Automatic fallback chain (Tavily -> Firecrawl) increases reliability
  • Easy npm installation with native binary
Cons
  • X/Twitter search is only available with the xAI Responses transport, not OpenAI-compatible
  • Requires valid API keys for Grok and Tavily (or Tavily + Firecrawl) for full functionality
  • Firecrawl is only a fallback, not configurable as primary source
  • No built-in support for other search engines (Google, Bing, etc.)
  • Not a standalone application; requires an MCP client to launch

Best For

Providing real-time web information to AI agents and LLMs with cited sourcesExtracting structured content from GitHub issues/PRs, StackExchange, arXiv, and WikipediaRunning as a local MCP server for desktop AI assistantsDeploying as a remote Streamable HTTP service for mobile or multi-device accessPerforming X/Twitter searches and source retrieval

FAQ

How do I install GrokSearch-rs?
Install via npm: npm install -g grok-search-rs. The package ships a native Rust binary.
What tools does GrokSearch-rs expose?
It exposes five tools: web_search, get_sources, web_fetch, web_map, and doctor.
Can I use GrokSearch-rs without an API key?
Yes, optionally. You can enable Grok OAuth mode, which uses a local xAI OAuth token for authentication instead of an API key.
Does GrokSearch-rs support remote access?
Yes, if built with the --features http flag, it can serve its tools over Streamable HTTP for mobile or multi-device access.