GrokSearch-rs  by Episkey-G

Lightweight Rust MCP server for advanced web search and data retrieval

Created 1 month ago
262 stars

Top 96.9% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

GrokSearch-rs is a Rust-based MCP stdio server integrating Grok/OpenAI-compatible web search with Tavily and Firecrawl for source retrieval and content extraction. It targets developers using AI assistants and code editors supporting the MCP protocol, offering enhanced, performant web interaction capabilities.

How It Works

This project implements a lightweight Rust MCP stdio server, launched by client applications. It exposes tools like web_search, web_fetch, and doctor, supporting two upstream transports: xAI's official API or any OpenAI-compatible relay. The system combines Grok/OpenAI search with Tavily for fetching and Firecrawl as a fallback, featuring specialist extractors for structured Markdown from sites like GitHub, StackExchange, arXiv, and Wikipedia. Response budgeting (response_max_chars, max_inline_sources) manages agent context limits.

Quick Start & Requirements

Install via npm: npm install -g grok-search-rs. The grok-search-rs command is invoked by the MCP client. Key requirements include Node.js/npm and API keys for Grok, Tavily, and Firecrawl. Configuration uses environment variables or a global config file (~/.config/grok-search-rs/config.toml), scaffolded with grok-search-rs --init. Refer to docs/CONFIGURATION.md for details.

Highlighted Details

  • Live web search with cited sources, cached for get_sources.
  • Response budgeting limits output size via response_max_chars and max_inline_sources.
  • Structured web_fetch uses specialist extractors (GitHub, StackExchange, etc.) with Tavily/Firecrawl fallback.
  • Dual transport options: native xAI Responses or OpenAI-compatible chat-completions.
  • Optional Grok OAuth mode for authentication without GROK_SEARCH_API_KEY.
  • Tavily/Firecrawl support comma-separated API keys for rotation and failover.
  • doctor tool for connectivity probing and redacted config status.

Maintenance & Community

Inspired by GuDaStudio/GrokSearch, with acknowledgements to the LinuxDo community. The MIT license suggests an open development model; specific community channels are not detailed.

Licensing & Compatibility

Released under the permissive MIT license, generally allowing commercial use and integration with closed-source projects.

Limitations & Caveats

Grok OAuth mode may violate xAI terms; switch to api_key if issues arise. The x_search tool is exclusive to the Responses transport and ignored on OpenAI-compatible transports.

Health Check
Last Commit

3 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
2
Star History
86 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.