GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Beschreibung vom Entwickler (englisches Original)
Run the Grok Build CLI as MCP tools: agent runs with live progress, code review, web research.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
GROK_BINARY, GROK_MCP_PERMISSION_CEILING, GROK_MCP_DEFAULT_PERMISSION, GROK_MCP_DEFAULT_MODEL, GROK_MCP_DEFAULT_EFFORT, GROK_MCP_TIMEOUT_MS, GROK_MCP_STATE_DIR, GROK_MCP_MAX_CONCURRENT_RUNS, STRUCTURED_CONTENT_ENABLEDDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"grok-build": {
"command": "npx",
"args": [
"-y",
"grok-build-mcp-server"
],
"env": {
"GROK_BINARY": "your-value",
"GROK_MCP_PERMISSION_CEILING": "your-value",
"GROK_MCP_DEFAULT_PERMISSION": "your-value",
"GROK_MCP_DEFAULT_MODEL": "your-value",
"GROK_MCP_DEFAULT_EFFORT": "your-value",
"GROK_MCP_TIMEOUT_MS": "your-value",
"GROK_MCP_STATE_DIR": "your-value",
"GROK_MCP_MAX_CONCURRENT_RUNS": "your-value",
"STRUCTURED_CONTENT_ENABLED": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add grok-build --env GROK_BINARY=your-value --env GROK_MCP_PERMISSION_CEILING=your-value --env GROK_MCP_DEFAULT_PERMISSION=your-value --env GROK_MCP_DEFAULT_MODEL=your-value --env GROK_MCP_DEFAULT_EFFORT=your-value --env GROK_MCP_TIMEOUT_MS=your-value --env GROK_MCP_STATE_DIR=your-value --env GROK_MCP_MAX_CONCURRENT_RUNS=your-value --env STRUCTURED_CONTENT_ENABLED=your-value -- npx -y grok-build-mcp-serverTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"grok-build": {
"command": "npx",
"args": [
"-y",
"grok-build-mcp-server"
],
"env": {
"GROK_BINARY": "your-value",
"GROK_MCP_PERMISSION_CEILING": "your-value",
"GROK_MCP_DEFAULT_PERMISSION": "your-value",
"GROK_MCP_DEFAULT_MODEL": "your-value",
"GROK_MCP_DEFAULT_EFFORT": "your-value",
"GROK_MCP_TIMEOUT_MS": "your-value",
"GROK_MCP_STATE_DIR": "your-value",
"GROK_MCP_MAX_CONCURRENT_RUNS": "your-value",
"STRUCTURED_CONTENT_ENABLED": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"grok-build": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"grok-build-mcp-server"
],
"env": {
"GROK_BINARY": "your-value",
"GROK_MCP_PERMISSION_CEILING": "your-value",
"GROK_MCP_DEFAULT_PERMISSION": "your-value",
"GROK_MCP_DEFAULT_MODEL": "your-value",
"GROK_MCP_DEFAULT_EFFORT": "your-value",
"GROK_MCP_TIMEOUT_MS": "your-value",
"GROK_MCP_STATE_DIR": "your-value",
"GROK_MCP_MAX_CONCURRENT_RUNS": "your-value",
"STRUCTURED_CONTENT_ENABLED": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
GROK_BINARY envGROK_MCP_PERMISSION_CEILING envGROK_MCP_DEFAULT_PERMISSION envGROK_MCP_DEFAULT_MODEL envGROK_MCP_DEFAULT_EFFORT envGROK_MCP_TIMEOUT_MS envGROK_MCP_STATE_DIR envGROK_MCP_MAX_CONCURRENT_RUNS envSTRUCTURED_CONTENT_ENABLED envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto Nuruvala bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.2.5) kam vor 3 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: GitHub, Desktop Commander, Cloudflare MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
An MCP stdio server that exposes the Grok Build CLI (grok) as tools you can call from Claude Code, Cursor, VS Code, or any other MCP client.
Claude Code ──stdio/MCP──▶ grok-build-mcp-server ──spawn──▶ grok CLI ──▶ xAI API
It is a thin process wrapper. It does not reimplement agent logic and does not talk to the xAI API directly — all the intelligence stays in the grok CLI. What this server adds is faithful argument construction, robust process supervision, and clean MCP-shaped output.
Status: 0.2.2. The tool surface is complete. The server runs real headless Grok agents in the
foreground or detached in the background, streams progress while they run, stops a run on request,
reviews git diffs, researches questions on the web, lists the sessions those runs created, and
reports session, usage, and cost. See CHANGELOG.md for what shipped and
ROADMAP.md for what was considered and rejected.
A long agent run is visible while it happens, rather than a silent wait ending in a wall of text. When your client sends a progressToken, the server runs Grok with --output-format streaming-json and forwards a notification per event:
#5 list_dir .
#6 read_file README.md #7 read_file — completed #8 thinking: the user asked me to list files, read README.md, then … #10 writing: DONE #11 finished: end_turn (2 turns)
Progress tracks what the agent is doing, not what phase it is in. Reasoning and response text are coalesced so a token stream does not flood your client, while tool calls are reported as they happen. Clients that support resetTimeoutOnProgress will not time out mid-run.
A client that sends no progressToken gets the cheaper non-streaming path and pays nothing for this.
grok models should succeed)If grok is not on your PATH, set GROK_BINARY to its full path when you register the server.
claude mcp add grok-build -s user -- npx -y grok-build-mcp-server
-s user registers the server for your whole account rather than for the directory you happen to be in. Without it the scope is that one project, which is rarely what you want for a general coding assistant, and the symptom is a server that is missing the next time you start Claude Code somewhere else.
Then, in Claude Code:
> use the grok-build check tool
check reports the resolved binary, the CLI version, whether you are authenticated, and the active permission ceiling. If it is happy, the rest will work.
The server speaks MCP over stdio and takes no arguments of its own:
{
"mcpServers": { "grok-build": { "command": "npx", "args": ["-y", "grok-build-mcp-server"] } } }
VS Code and Cursor accept the install badges at the top of this page, which carry exactly that configuration.
Clients that install from the MCP Registry know this server as io.github.Nuruvala/grok-build-mcp-server. The registry entry is published from the same tag as the npm release and points at the same package.
npx cannot find the servernpx resolves a bare package name against the _local_ project first. If your MCP client's working directory is a checkout of this repository — or of anything else whose package.json is named grok-build-mcp-server — npx -y grok-build-mcp-server runs the local entry point, does not find one, and fails with command not found. Install it somewhere of its own and register that path:
npm install --prefix ~/.local/share/grok-build-mcp grok-build-mcp-server
claude mcp add grok-build -s user -- ~/.local/share/grok-build-mcp/node_modules/.bin/grok-build-mcp-server
Grok runs launched through this server are read-only by default: --permission-mode plan with --sandbox read-only. Nothing can modify your files until you say so.
Permission is a ceiling, set once when you register the server, rather than a prompt on every call. Three levels:
| Level | --permission-mode | --sandbox | What it allows |
|---|---|---|---|
read-only (default) | plan | read-only | Reading and reasoning. No edits |
write | auto | workspace | Edits inside the working directory |
full | bypassPermissions | off | Unattended full approval |
The sandbox is not advisory, and a refusal is not a warning. Under write the run cannot write outside `cwd`, and a refused tool call ends the whole run: the CLI reports stopReason: cancelled, exits 0, and returns only whatever the model had said before the refusal. The server names the refused call and its path in that case, so a refused tool is not mistaken for a model that gave up. The server can see which call failed, not why the CLI refused it. If a run must write somewhere else, say a report outside the repository, either point it at a path inside cwd or use full.
write uses --permission-mode auto rather than acceptEdits, which is measured rather than inherited from the flag's name. Headless grok has no human to accept an edit, so under acceptEdits, dontAsk and default every file mutation is refused and the run dies, on both sandbox profiles. auto and bypassPermissions both work; auto is the narrower one, and it still refuses a write outside the workspace, so full remains a real step up rather than a synonym.
To let Grok make edits:
claude mcp add grok-build -s user \
-e GROK_MCP_PERMISSION_CEILING=write \ -e GROK_MCP_DEFAULT_PERMISSION=write \ -- npx -y grok-build-mcp-server
Use full only if you already run your MCP client with full approval and want the delegated Grok run to be equally unattended. It grants the spawned grok process the same authority you have.
A call that requests more than the ceiling is rejected, not silently downgraded — a clamped run would report success while changing nothing, which is worse than a clear error.
| Variable | Default | Purpose |
|---|---|---|
GROK_BINARY | grok | Path to the grok executable |
GROK_MCP_PERMISSION_CEILING | read-only | Highest level any call may request |
GROK_MCP_DEFAULT_PERMISSION | read-only | Level used when a call requests none |
GROK_MCP_DEFAULT_MODEL | grok-4.6 | Model when a call omits one. none defers to the CLI |
GROK_MCP_DEFAULT_EFFORT | high | Reasoning effort when a call omits one. none defers to the CLI |
GROK_MCP_TIMEOUT_MS | 1800000 | Wall clock for a single run |
GROK_MCP_STATE_DIR | $XDG_STATE_HOME/grok-mcp | Background job records |
GROK_MCP_MAX_CONCURRENT_RUNS | 4 | Background runs alive at once. off for no cap |
GROK_MCP_LOG_LEVEL | info | debug, info, warn, error. Logs go to stderr |
STRUCTURED_CONTENT_ENABLED | off | Also emit structuredContent alongside _meta |
Grok's own variables (XAI_API_KEY, GROK_HOME, GROK_DISABLE_AUTOUPDATER) pass through to the child process untouched.
| Tool | Read-only | Purpose |
|---|---|---|
grok | by ceiling | Run a headless Grok agent. Prompt, session resume/continue/fork, model, effort, tool allow/deny |
review | always | Review a git diff: working tree, a merge-base diff against a ref, or a single commit |
websearch | always | Research a question on the web, and report which searches and sources it actually used |
status | always | Poll a background run, or list recent ones |
stop | no | Terminate a background run's process tree |
sessions | always | List, search, and look up the Grok sessions on this machine |
check | yes | Server version, resolved binary, grok version, auth, permission ceiling, run defaults |
help | yes | grok --help passthrough |
reviewThe diff is collected in-process and embedded in the prompt, so the model does not spend turns rediscovering what it is meant to review.
> review my working tree with grok-build
review the diff against origin/main
Targets are uncommitted, base: " " (a merge-base diff, so commits that landed on the base after you branched are not attributed to you), or commit: " ". With none given it auto-detects: the upstream diff when your branch is ahead, otherwise the working tree — and it says which it chose rather than guessing silently.
review is always read-only, whatever GROK_MCP_PERMISSION_CEILING allows. It takes no permission, write, or yolo argument, because a review that edits the code under review is never what was wanted.
Pass structured: true for machine-readable findings (severity, file, line, summary, rationale) on _meta.findings, validated before you see them.
Two different things can go wrong, and they are reported differently rather than blurred together:
isError: true and _meta.findingsComplete is false. The body leads with why, quoting the CLI's own reason, and names the fixNur der Anfang wird gezeigt; den Rest findest du im Repo