GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Run the Grok Build CLI as MCP tools: agent runs with live progress, code review, web research.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
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_ENABLEDต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"grok-build": {
"command": "npx",
"args": [
"-y",
"grok-build-mcp-server"
],
"env": {
"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_ENABLED": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add grok-build --env GROK_BINARY='ใส่ค่าของคุณ' --env GROK_MCP_PERMISSION_CEILING='ใส่ค่าของคุณ' --env GROK_MCP_DEFAULT_PERMISSION='ใส่ค่าของคุณ' --env GROK_MCP_DEFAULT_MODEL='ใส่ค่าของคุณ' --env GROK_MCP_DEFAULT_EFFORT='ใส่ค่าของคุณ' --env GROK_MCP_TIMEOUT_MS='ใส่ค่าของคุณ' --env GROK_MCP_STATE_DIR='ใส่ค่าของคุณ' --env GROK_MCP_MAX_CONCURRENT_RUNS='ใส่ค่าของคุณ' --env STRUCTURED_CONTENT_ENABLED='ใส่ค่าของคุณ' -- npx -y grok-build-mcp-serverเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"grok-build": {
"command": "npx",
"args": [
"-y",
"grok-build-mcp-server"
],
"env": {
"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_ENABLED": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"grok-build": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"grok-build-mcp-server"
],
"env": {
"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_ENABLED": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
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 envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Nuruvala ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.5) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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 fixตัดมาแค่ช่วงต้น อ่านต่อใน repo