GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
A Git MCP server that doesn't suck
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
GIT_REPO_PATH, GIT_ALLOW_NO_VERIFY, GIT_ALLOW_FORCE_PUSH, GIT_ALLOW_FLOW_HOOKS, GIT_SIGNING_KEY, GIT_SIGNING_FORMAT, GIT_AUTO_SIGN_COMMITS, GIT_AUTO_SIGN_TAGSค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"git": {
"command": "npx",
"args": [
"-y",
"@selfagency/git-mcp"
],
"env": {
"GIT_REPO_PATH": "ใส่ค่าของคุณ",
"GIT_ALLOW_NO_VERIFY": "ใส่ค่าของคุณ",
"GIT_ALLOW_FORCE_PUSH": "ใส่ค่าของคุณ",
"GIT_ALLOW_FLOW_HOOKS": "ใส่ค่าของคุณ",
"GIT_SIGNING_KEY": "ใส่ค่าของคุณ",
"GIT_SIGNING_FORMAT": "ใส่ค่าของคุณ",
"GIT_AUTO_SIGN_COMMITS": "ใส่ค่าของคุณ",
"GIT_AUTO_SIGN_TAGS": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add git --env GIT_REPO_PATH='ใส่ค่าของคุณ' --env GIT_ALLOW_NO_VERIFY='ใส่ค่าของคุณ' --env GIT_ALLOW_FORCE_PUSH='ใส่ค่าของคุณ' --env GIT_ALLOW_FLOW_HOOKS='ใส่ค่าของคุณ' --env GIT_SIGNING_KEY='ใส่ค่าของคุณ' --env GIT_SIGNING_FORMAT='ใส่ค่าของคุณ' --env GIT_AUTO_SIGN_COMMITS='ใส่ค่าของคุณ' --env GIT_AUTO_SIGN_TAGS='ใส่ค่าของคุณ' -- npx -y @selfagency/git-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"git": {
"command": "npx",
"args": [
"-y",
"@selfagency/git-mcp"
],
"env": {
"GIT_REPO_PATH": "ใส่ค่าของคุณ",
"GIT_ALLOW_NO_VERIFY": "ใส่ค่าของคุณ",
"GIT_ALLOW_FORCE_PUSH": "ใส่ค่าของคุณ",
"GIT_ALLOW_FLOW_HOOKS": "ใส่ค่าของคุณ",
"GIT_SIGNING_KEY": "ใส่ค่าของคุณ",
"GIT_SIGNING_FORMAT": "ใส่ค่าของคุณ",
"GIT_AUTO_SIGN_COMMITS": "ใส่ค่าของคุณ",
"GIT_AUTO_SIGN_TAGS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"git": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@selfagency/git-mcp"
],
"env": {
"GIT_REPO_PATH": "ใส่ค่าของคุณ",
"GIT_ALLOW_NO_VERIFY": "ใส่ค่าของคุณ",
"GIT_ALLOW_FORCE_PUSH": "ใส่ค่าของคุณ",
"GIT_ALLOW_FLOW_HOOKS": "ใส่ค่าของคุณ",
"GIT_SIGNING_KEY": "ใส่ค่าของคุณ",
"GIT_SIGNING_FORMAT": "ใส่ค่าของคุณ",
"GIT_AUTO_SIGN_COMMITS": "ใส่ค่าของคุณ",
"GIT_AUTO_SIGN_TAGS": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
GIT_REPO_PATH envGIT_ALLOW_NO_VERIFY envGIT_ALLOW_FORCE_PUSH envGIT_ALLOW_FLOW_HOOKS envGIT_SIGNING_FORMAT envGIT_AUTO_SIGN_COMMITS envGIT_AUTO_SIGN_TAGS envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub selfagency ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: GIT_SIGNING_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.4.2) เข้า registry 23 วันที่ผ่านมา
โปรแกรมที่รองรับ 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 รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Git MCP server that doesn't suck
Exposes the full Git workflow to any MCP-compatible AI agent — inspect, write, branch, remote, stash, rebase, LFS, git-flow, documentation lookup, and more. Designed to be safe by default, composable, and fast. Powered by simple-git.
Built for coding agents in tools like GitHub Copilot, Claude Code, Cursor, and OpenAI Codex, while remaining compatible with any MCP client that can call tools and resources.
skills/git-mcp-workflow/ documents MCP-first Git workflows, recovery, worktrees, releases, and advanced operations for AI agents and coding agents; installable via skills-npm and skill.shgit_but_check / git_jj_check detect GitButler and Jujutsu and guide agents to prefer their native CLIs/MCP (with but teardown guidance) over git-mcp tools when appropriategit_rewrite: reword, squash, rewrite-messages, and backup/restore for safe commit-history rewritinggit_analytics: contributors, churn, activity, summary, and file-stats computed from local git historygit_pr: create/list/merge PRs/MRs on GitHub, GitLab, Forgejo, Gitea, and Bitbucket via provider CLI or REST APIgit_tangled_check / git_entire_check detect Tangled hosting and Entire session/context managementrepo_path per-call or configure a server-level defaultgit_worktree: plain git worktree by path, or branch-addressed worktrees via git flow worktree with path templates and provenance-aware cleanupnpx @selfagency/git-mcp --repo-path /path/to/your/repo
npm install -g @selfagency/git-mcp
git-mcp --repo-path /path/to/your/repo
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": { "git": { "command": "npx", "args": ["-y", "@selfagency/git-mcp", "--repo-path", "/path/to/your/repo"] } } }
Add to .vscode/mcp.json in your project:
{
"servers": { "git": { "command": "npx", "args": ["-y", "@selfagency/git-mcp", "--repo-path", "${workspaceFolder}"] } } }
All configuration is via environment variables. Pass them in your MCP client config:
| Variable | Default | Description |
|---|---|---|
GIT_REPO_PATH | — | Default repository path (also: --repo-path CLI arg) |
GIT_ALLOW_NO_VERIFY | false | Allow --no-verify on commit/push (bypasses hooks) |
GIT_ALLOW_FORCE_PUSH | false | Allow --force on push |
GIT_ALLOW_FLOW_HOOKS | false | Allow git_flow hooks and filters to execute |
GIT_AUTO_SIGN_COMMITS | false | Automatically sign every commit |
GIT_AUTO_SIGN_TAGS | false | Automatically sign every tag |
GIT_SIGNING_KEY | — | Default GPG key ID or SSH key path |
GIT_SIGNING_FORMAT | — | Signing format: openpgp, ssh, or x509 |
GIT_ALLOW_BUT | false | Enable GitButler awareness (git_but_check) |
GIT_ALLOW_JJ | false | Enable Jujutsu awareness (git_jj_check) |
GIT_ALLOW_TANGLED | false | Enable Tangled awareness (git_tangled_check) |
GIT_ALLOW_ENTIRE | false | Enable Entire awareness (git_entire_check) |
BUT_BINARY | but | Override the but executable path |
JJ_BINARY | jj | Override the jj executable path |
ENTIRE_BINARY | entire | Override the entire executable path |
GITHUB_TOKEN | — | GitHub token for git_pr REST fallback |
GITLAB_TOKEN | — | GitLab token for git_pr REST fallback |
FORGEJO_TOKEN | — | Forgejo/Gitea token for git_pr REST fallback |
BITBUCKET_TOKEN | — | Bitbucket token for git_pr REST fallback |
GIT_FORGE_PROVIDER | — | Explicit forge provider for self-hosted instances |
Tools are grouped by domain. Each root tool takes an action parameter that selects the operation. Where an action is marked as default, omitting action will use it.
git_context)| Action | Description |
|---|---|
summary | _(default)_ Full repo snapshot: branch, upstream, pending changes, in-progress operations |
search | Search commit history and working tree content |
get_config | Read a Git config value |
set_config | Write a Git config value |
aliases | List all configured git aliases |
git_status)| Action | Description |
|---|---|
status | _(default)_ Working tree and branch status |
diff | Unstaged, staged, or ref-to-ref diff |
diff_main | Changes from branch divergence point vs main (or configurable base branch) |
git_history)| Action | Description |
|---|---|
log | _(default)_ Commit log with filtering, pagination, revision ranges, and pathspecs |
show | Inspect a single commit |
blame | Line-by-line attribution for a file |
reflog | Full reflog — the recovery ledger |
lg | Compact graph log (--oneline --graph --decorate --all) |
who | Contributor shortlog (supports optional file_path) |
git_commits)| Action | Description |
|---|---|
add | Stage files or hunks |
restore | Discard working tree changes |
unstage | Remove files from the staging area |
commit | Create a commit with message, signing, and author flags |
amend | Amend the last commit without editing the message |
wip | Stage all changes and commit with message WIP |
revert | Create a revert commit for a given ref |
undo | Soft-reset the last commit (reset --soft HEAD~1) |
reset | Reset HEAD with configurable mode (soft/mixed/hard) |
nuke | Hard-reset the last commit — requires confirm=true |
git_branches)| Action | Description |
|---|---|
list | _(default)_ Local and remote branch listing |
create | Create a branch |
delete | Delete a branch |
rename | Rename a branch |
checkout | Switch to a branch or ref |
set_upstream | Set or update tracking upstream |
recent | Recent branches sorted by committer date |
git_remotes)| Action | Description |
|---|---|
list | _(default)_ List configured remotes |
manage | Add, remove, or rename a remote |
fetch | Fetch from a remote |
pull | Pull (fetch + merge/rebase) |
push | Push to a remote; force_with_lease supported |
git_workspace)| Action | Description |
|---|---|
stash | Stash and pop/apply/drop/list/show stash entries |
stash_all | Stash tracked and untracked changes in one operation |
rebase | Start, continue, abort, or skip a rebase |
cherry_pick | Apply one or more commits; supports continue/abort/skip |
merge | Merge branches with full flag control |
bisect | Binary search for a regression (start, good, bad, reset, log) |
tag | Create, list, delete, or push tags; supports GPG/SSH signing |
worktree | Add, list, remove, lock, unlock, prune, or repair linked worktrees |
submodule | Add, update, sync, init, deinit, and list submodules |
git_flow)Drives the git-flow-next CLI, which must be installed and on PATH (brew install git-flow-next, or the releases page). Set GIT_FLOW_BINARY to override the path. When the binary is missing, the tool returns an install hint rather than failing opaquely.
| Operation | Description |
|---|---|
init | Initialize a repository with git-flow branch conventions |
| overview | Show the current flow state and act
ตัดมาแค่ช่วงต้น อ่านต่อใน repo