grok-mcp
by PKWadsy
README.md
# grok-mcp
MCP server that wraps the xAI Grok API. Lets Claude and other AI agents delegate thinking, planning, and real-time search to Grok.
## Quick Start
One-liner to add to Claude Code on any device:
```bash
claude mcp add grok -e XAI_API_KEY=your-key -- npx -y @pkwadsy/grok-mcp
```
You need an xAI API key from [console.x.ai](https://console.x.ai).
### Alternative: project config
Add to your project's `.mcp.json`:
```json
{
"mcpServers": {
"grok": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@pkwadsy/grok-mcp"],
"env": {
"XAI_API_KEY": "your-xai-api-key"
}
}
}
}
```
## Tools
### `ask_grok`
Ask Grok a question with optional file context, web search, and X/Twitter search.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `prompt` | string | yes | The question or task for Grok |
| `files` | string[] | no | Files to include in context (see file syntax below) |
| `max_files` | number | no | Override max file count (default 50) |
| `max_file_size` | number | no | Override max per-file size in KB (default 32) |
| `system_prompt` | string | no | Custom system prompt |
| `model` | string | no | Model to use (default: `grok-4.20-multi-agent`) |
| `web_search` | boolean | no | Web search, enabled by default |
| `x_search` | boolean | no | Enable X/Twitter search |
### `check_files`
Dry-run file resolution. Validates all files and shows sizes without calling Grok. If `check_files` passes, `ask_grok` will too.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `files` | string[] | yes | Files to check (same syntax as `ask_grok`) |
| `max_files` | number | no | Override max file count (default 50) |
| `max_file_size` | number | no | Override max per-file size in KB (default 32) |
### File syntax
Files are passed as an array of strings with compact syntax:
| Syntax | Description |
|--------|-------------|
| `"src/index.ts"` | Whole file |
| `"src/index.ts:10-30"` | Lines 10 to 30 |
| `"src/index.ts:10"` | Just line 10 |
| `"src/**/*.ts"` | Glob pattern |
| `"large-file.ts:force"` | Bypass per-file size limit |
| `"large-file.ts:1-100:force"` | Combine line range with force |
### Safety limits
| Limit | Default | Override |
|-------|---------|----------|
| Files per call | 50 | `max_files` param |
| Per-file size | 32 KB | `max_file_size` param or `:force` suffix |
| Total context | 256 KB | Hard cap, not overridable |
### Available models
- `grok-4.20-multi-agent` — multi-agent mode, great for architecture and planning (default)
- `grok-4.20-reasoning` — flagship reasoning
- `grok-4.20-non-reasoning` — fast, no reasoning
- `grok-4.1-fast-reasoning` — cheaper reasoning
- `grok-4.1-fast-non-reasoning` — cheapest, fast
### Examples
**Ask with file context:**
```
prompt: "Review this code for bugs"
files: ["src/index.ts", "src/utils.ts:20-50"]
```
**Search the web:**
```
prompt: "What happened in tech news today?"
```
**Search X/Twitter:**
```
prompt: "What are people saying about the new React release?"
x_search: true
```
**Check files before asking:**
```
files: ["src/**/*.ts"]
```
## License
MIT
TDQS
A4.4/5.0
Scored across 2 tools
Disambiguation5/5
ask_grok and check_files serve clearly distinct purposes: one is for querying Grok, the other is a dry-run validator for file resolution. No overlap or ambiguity.
Naming Consistency5/5
Both tool names follow a consistent verb_noun pattern (ask_grok, check_files), using underscores and clear verbs.
Tool Count3/5
Only 2 tools feels thin for a server that provides access to Grok, which could benefit from additional tools for conversation management or specialized searches.
Completeness2/5
The tool set lacks basic conversational features like retrieving history or managing context, and the promised web_search/x_search capabilities are not exposed as separate tools, limiting functionality.
Maintenance
ActivityInactive
ResponsivenessNo issues