
Ghcli Mcp Connector
io.github.FerhatDundar由 GitHub 帳號 FerhatDundar 發布v0.1.1更新於 Oct 24, 2026
MCP server for the GitHub CLI (gh). Read-only by default; single Go binary.
概覽
本機 MCP 伺服器,讓助理執行 GitHub CLI(gh)指令,預設唯讀,寫入操作需明確開啟並逐次確認。
- 可以做什麼
- 透過單一執行工具執行任意 gh 指令或子指令,涵蓋儲存庫、議題、拉取請求、發行、程式碼片段、工作流程、執行紀錄、密鑰、變數、專案、規則集、程式碼空間、擴充功能以及原始 API 端點,輸出可選 markdown 或 JSON。查詢指令或子指令的 gh 說明文字,以便在執行前確認語法。顯示目前驗證對應的 GitHub 身分。變更狀態的指令預設會被阻擋,除非伺服器允許寫入且該次呼叫確認。
- 適用情境
- 適合助理需要超出固定工具集的廣泛 GitHub 操作能力時,例如列出拉取請求、建立議題、觸發工作流程或呼叫 GitHub API。開箱即可唯讀瀏覽儲存庫,僅在需要時才開啟寫入。
- 執行需求
- 以本機程序透過 stdio 執行;提供 macOS、Linux 與 Windows 預先建置套件,也可用 Go 從原始碼建置。主機上需安裝並已完成驗證的 gh CLI(gh auth login 或權杖),儲存庫相關指令需明確傳入 owner/repo。選用環境變數:GH_TOKEN 或 GITHUB_TOKEN、GH_HOST(GitHub Enterprise)、GHCLI_MCP_ALLOW_WRITE、GHCLI_MCP_ALLOWED_REPOS 與 GHCLI_MCP_CLI_PATH。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Ghcli Mcp Connector,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
🔌 ghcli-mcp-connector
Talk to the GitHub CLI (gh) from an MCP-speaking agent.
[CI] [CodeQL] [Latest release] [MCP Registry] [Go Reference] [License: MIT] [MCP] [Conventional Commits] [PRs Welcome]
A single static Go binary that speaks the Model Context Protocol
and lets an agent run GitHub CLI commands: any gh <command> <subcommand>
invocation — repo, issue, pr, release, gist, workflow, run,
secret, variable, project, ruleset, codespace, extension, api,
and more — with a read-only-by-default safety gate on anything that
changes state on GitHub.
No Python, no uv, no runtime dependency to install — just a binary and
an .mcp.json. It shells out to the gh binary already installed and
authenticated on the host (gh auth login, stored in the OS keychain, or
GH_TOKEN/GITHUB_TOKEN) instead of reimplementing a GitHub API client,
so it gets the full breadth of the CLI for free rather than a hand-curated
subset of endpoints.
Note: this is a sibling of github-mcp-connector, not a replacement. That one talks to the GitHub REST API directly via
google/go-githubwith a curated set of 18 tools. This one shells out to theghCLI itself — same trade-off asaws-mcp-connectorvs. a hand-written AWS SDK client: broader coverage (gh extensions, gh's own filters/formatting, workflow/run/codespace/project/ruleset management) through a singleghcli_execescape hatch, instead of a curated surface.
✨ Why this exists
An agent that only has a narrow, hand-picked set of GitHub tools hits a wall the moment you need something outside that set. This connector instead wraps the
ghCLI itself, so an agent can rungh pr list,gh issue create,gh workflow run,gh api repos/owner/repo/issues— anything the CLI can do — without waiting on a new tool to be written for it. State-changing commands are blocked by default and require both a server-level opt-in and a per-callconfirm=true, so exploring/ reading is safe out of the box.
🧰 Tools
Every tool accepts an optional response_format: markdown (default,
readable for a chat UI) or json (for programmatic use).
This server has no working-directory git repo, so repo-scoped commands
need an explicit -R/--repo owner/repo rather than relying on gh's
cwd-based repo detection.
🚀 Quickstart
Fastest path: grab a prebuilt bundle from the latest release —
download ghcli-mcp-connector-plugin-<version>-<os>-<arch>.zip, unzip it,
and point Cowork/Claude at the plugin/ folder inside (see step 4 of
SETUP.md). No Go toolchain required.
From source:
Or make build — see the Makefile for every shortcut
(test, vet, fmt, lint, tidy).
Full walkthrough — including wiring this up as a Claude/Cowork plugin — is in SETUP.md.
🔐 Configuration
Everything is environment variables, passed through by the plugin's
.mcp.json:
🧪 Quality bar
This isn't a toy script — it's got the same checks you'd expect from a production Go service:
- ✅ Unit tests for every input-validation path (
go test ./...) - ✅
go vet+gofmtclean - ✅ golangci-lint (govet, staticcheck, errcheck, gosec, and more)
- ✅ govulncheck — no known vulnerabilities in the dependency graph
- ✅ CodeQL static security analysis on every push
- ✅ End-to-end verified against real GitHub during development — not mocks
- ✅ Dependabot keeps Go modules and Actions current
All of it runs in CI on every push and PR.
🏷️ Releases & versioning
Versions follow semver and are cut automatically by
release-please from
Conventional Commits on main:
fix: ...→ patch (v0.1.0→v0.1.1)feat: ...→ minor (v0.1.1→v0.2.0)feat!: .../BREAKING CHANGE:footer → major (v0.2.0→v1.0.0)
Every merged PR updates a standing "chore(main): release vX.Y.Z" PR with an auto-generated CHANGELOG.md. Merging that PR:
- tags the release and publishes it on GitHub
- builds and attaches zipped, ready-to-install plugin bundles for linux/darwin/windows × amd64/arm64
- regenerates
server.jsonfrom those exact assets (fresh version + SHA-256 hashes) and publishes it to the official MCP Registry viamcp-publisher, authenticated with GitHub OIDC — no stored secrets
See .github/workflows/release-please.yml
and .github/workflows/publish-mcp-registry.yml
(also runnable by hand for an existing tag via workflow_dispatch).
📁 Layout
🤝 Contributing
PRs and issues are very welcome — see CONTRIBUTING.md for the full guide (setup, coding conventions, how to add a new tool) and the Code of Conduct.
main is protected: every change, including the maintainer's, lands via
pull request with CI green. PR titles must follow
Conventional Commits — that's what
drives the automatic versioning above.
Found a security issue? Please follow SECURITY.md instead of opening a public issue.
📄 License
MIT © FerhatDundar
來源:README.md,提交 14b9c4f
工具
0版本歷史
1- v0.1.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
