★ 159 Rust MIT sse 更新 15分钟前

Grok Search Rs

Rust MCP server for Grok web search and Tavily-backed source retrieval

安装配置

暂未识别到可直接复制的 MCP 配置,请查看 GitHub README。后台管理员可以补充配置。

README 摘要

# GrokSearch-rs ![GrokSearch-rs product banner](assets/groksearch-rs-banner.png) **A lightweight Rust MCP server for Grok / OpenAI‑compatible web search, plus Tavily fetch/map and Firecrawl fallback.** `grok-search-rs` is an **MCP stdio server** — your client (Claude Code, Codex, Cursor, VS Code, …) launches it; you do not run it directly. It exposes one set of tools (`web_search`, `get_sources`, `web_fetch`, `web_map`, `doctor`) and supports two upstream transports so you can plug into either xAI's official API or any OpenAI‑compatible relay. --- ## Features - 🔎 **Live web search** with cited sources, cached for follow‑up `get_sources` calls. - 🔀 **Two transports** — native xAI Responses (`/v1/responses`) **or** any OpenAI‑compatible chat‑completions gateway (`/v1/chat/completions`). Pick by env vars; no flag. - 🔐 **Optional Grok OAuth mode** — `login/status/logout` commands store a local xAI OAuth token for Responses auth, so the MCP server can run without `GROK_SEARCH_API_KEY`. - 📥 **Tavily fetch / map** for full‑text extraction and link discovery, with **Firecrawl** as automatic fallback. - 🐦 **Optional X/Twitter search** via `x_search` (Responses transport only). - 🩺 **`doctor`** — connectivity probe + redacted config in one tool call. - 🗂 **Single global config file** so multiple MCP clients share one set of keys. --- ## Install ```bash npm install -g grok-search-rs ``` The npm package ships a native Rust binary; the `grok-search-rs` command is what your MCP client launches. --- ## Quick Start 1. After `npm install -g grok-search-rs`, add this MCP server entry to your client config: ```json { "grok-search-rs": { "command": "grok-search-rs", "args": [], "env": { "GROK_SEARCH_API_KEY": "", "GROK_SEARCH_URL": "", "GROK_SEARCH_MODEL": "grok-4.20-fast", "TAVILY_API_KEY": "", "TAVILY_API_URL": "https://api.tavily.com", "FIRECRAWL_API_KEY": "" } } } ``` For Codex TOML config: ```toml [mcp_servers.grok-search-rs] type = "stdio" command = "grok-search-rs" [mcp_servers.grok-search-rs.env] FIRECRAWL_API_KEY = "" GROK_SEARCH_API_KEY = "" GROK_SEARCH_MODEL = "grok-4.20-fast" GROK_SEARCH_URL = "" TAVILY_API_KEY = "" TAVILY_API_URL = "https://api.tavily.com" ``` Put your real keys in the empty values. If your client expects a top-level `mcpServers` / `mcp_servers` object, place the `grok-search-rs` entry under that section. 2. Optional: scaffold a shared global config file instead of duplicating env blocks in every MCP client: ```bash grok-search-rs --init $EDITOR ~/.config/grok-search-rs/config.toml ``` 3. Verify: ```text Ask your assistant: "call doctor" ``` Successful output shows `reachable: true` for each enabled upstream and `transport: Responses` (or `ChatCompletions`). --- ## Configuration Pick **one** transport group. Both Tavily and Firecrawl keys are shared across transports. ### A. Native Grok Responses (default) | Variable | Default | Purpose | |---|---|---| | `GROK_SEARCH_AUTH_MODE` | `api_key` | `api_key` uses `GROK_SEARCH_API_KEY`; `oauth` uses the local token from `grok-search-rs login`. | | `GROK_SEARCH_API_KEY` | — *(required in `api_key` mode)* | Bearer token for the Grok / xAI gateway. | | `GROK_SEARCH_AUTH_FILE` | `/.config/grok-search-rs/auth.json` | Optional OAuth token file override. | | `GROK_SEARCH_URL` | `https://api....

相关 MCP

Libre Chat

Enhanced ChatGPT Clone: Features Agents, MCP, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, M...

★ 37686 TypeScript sse 待补充
mcp sse TypeScript

Github

GitHub's official MCP Server

★ 30288 Go sse 待补充
mcp sse Go

Fast

🚀 The fast, Pythonic way to build MCP servers and clients.

★ 25401 Python sse 待补充
mcp Python sse