mcp-grok-search
by Cedriccmh
README.md
# mcp-grok-search
[English](#english) | [中文](#中文)
---
## English
An MCP (Model Context Protocol) server that provides real-time web search capabilities via the Grok API. Enables AI assistants like Claude to search the internet through Grok's built-in web browsing.
### Features
- Real-time web search powered by Grok AI
- Uses the Responses API, which is the recommended path for Grok web search
- `grok_web_search` supports an optional `efforts` preset: `low`, `medium`, or `high`
- `efforts=low` uses `grok-4.20-reasoning`
- `efforts=medium/high` use `grok-4.20-multi-agent` with official reasoning presets
- Configurable API endpoint, model, and timeout
- Stdio transport for seamless MCP integration
### Quick Start
#### Prerequisites
- Node.js >= 18
- A Grok API key (get one at [x.ai](https://x.ai))
#### Install & Build
```bash
git clone https://github.com/Cedriccmh/mcp-grok-search.git
cd mcp-grok-search
npm install
npm run build
```
#### Environment Variables
| Variable | Description | Default |
| --- | --- | --- |
| `GROK_API_KEY` | **(Required)** Your Grok API key | — |
| `GROK_API_URL` | API endpoint URL | `https://api.x.ai/v1/chat/completions` |
| `GROK_MODEL` | Default model used when `efforts` is not passed | `grok-4.20-reasoning` |
| `GROK_TIMEOUT_MS` | Request timeout in ms | `180000` |
#### Run
```bash
GROK_API_KEY=your-key-here npm start
```
### Claude Desktop Configuration
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"grok-web-search": {
"command": "node",
"args": ["path/to/mcp-grok-search/dist/index.js"],
"env": {
"GROK_API_KEY": "your-key-here"
}
}
}
}
```
### Tech Stack
- TypeScript
- [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) — MCP server framework
- Zod — Input schema validation
### License
MIT
---
## 中文
一个基于 Grok API 的 MCP(Model Context Protocol)服务器,提供实时网络搜索能力。让 Claude 等 AI 助手能够通过 Grok 内置的网页浏览功能搜索互联网。
### 特性
- 基于 Grok AI 的实时网络搜索
- 使用 Responses API,符合 Grok 当前推荐的搜索接入方式
- `grok_web_search` 工具支持可选的 `efforts` 预设:`low`、`medium`、`high`
- `efforts=low` 使用 `grok-4.20-reasoning`
- `efforts=medium/high` 使用 `grok-4.20-multi-agent` 和官方推荐的 `reasoning.effort`
- 可配置 API 端点、模型和超时时间
- Stdio 传输,无缝对接 MCP 协议
### 快速开始
#### 前置要求
- Node.js >= 18
- Grok API 密钥(在 [x.ai](https://x.ai) 获取)
#### 安装与构建
```bash
git clone https://github.com/Cedriccmh/mcp-grok-search.git
cd mcp-grok-search
npm install
npm run build
```
#### 环境变量
| 变量 | 说明 | 默认值 |
| --- | --- | --- |
| `GROK_API_KEY` | **(必填)** Grok API 密钥 | — |
| `GROK_API_URL` | API 端点 URL | `https://api.x.ai/v1/chat/completions` |
| `GROK_MODEL` | 不传 `efforts` 时使用的默认模型 | `grok-4.20-reasoning` |
| `GROK_TIMEOUT_MS` | 请求超时时间(毫秒) | `180000` |
#### 运行
```bash
GROK_API_KEY=your-key-here npm start
```
### Claude Desktop 配置
将以下内容添加到 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"grok-web-search": {
"command": "node",
"args": ["path/to/mcp-grok-search/dist/index.js"],
"env": {
"GROK_API_KEY": "your-key-here"
}
}
}
}
```
### 技术栈
- TypeScript
- [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) — MCP 服务端框架
- Zod — 输入参数校验
### 许可证
MIT
TDQS
A4.4/5.0
Scored across 1 tool
Disambiguation5/5
Only one tool exists, so there is no possibility of confusion between tools. The tool's purpose is clear and distinct, making selection unambiguous.
Naming Consistency5/5
The single tool name follows a clear verb_noun pattern (grok_web_search), which is consistent and predictable within the set.
Tool Count3/5
With only one tool, the set is at the lower boundary of what is typical. While a focused search server could reasonably have just one search tool, the minimal count feels thin and may limit flexibility.
Completeness5/5
The tool fully covers the search capability for this server's stated purpose, providing real-time web search with autonomous browsing and synthesis. No obvious missing operations are evident.
Maintenance
ActivityInactive
ResponsivenessNo issues