Github Mcp Connector

io.github.FerhatDundar由 GitHub 帳號 FerhatDundar 發布v0.1.1更新於 Oct 24, 2026

MCP server for GitHub: repos, files, issues, PRs, search. Single Go binary.

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

一個在本機執行的 Go MCP 伺服器,為助理提供 18 個工具,用來讀寫 GitHub 儲存庫、檔案、議題、拉取請求並進行搜尋。

可以做什麼
辨識已驗證的 GitHub 使用者,列出或檢視儲存庫、分支與提交,並可建立儲存庫、使用 GitHub 搜尋限定詞查詢。讀取檔案內容或列出目錄,並透過提交建立或更新檔案(上限 5 MB)。列出、檢視、建立與更新議題,並為議題或拉取請求新增留言。列出與檢視拉取請求,建立新的拉取請求並合併。每次呼叫可選擇 markdown 或 JSON 輸出。
適用情境
適合需要助理直接操作真實 GitHub 儲存庫的情境:檢視程式碼與提交歷史、建立或分類議題、提交檔案變更,以及在對話中建立或合併拉取請求。
執行需求
以 stdio 本機程序方式執行,提供 macOS、Linux 與 Windows 的 amd64/arm64 預先建置套件;使用預先建置套件不需 Go 工具鏈,從原始碼建置則需要 Go。需在 GITHUB_TOKEN 提供 GitHub 個人存取權杖,並依用途授予 repo 或 public_repo 以及 read:org 權限。GITHUB_API_URL 可指向 GitHub Enterprise Server 的 API,使用 github.com 時留空。需要連線至 GitHub 的網路存取。
安裝前請注意
此權杖對儲存庫具有真實寫入權限,應盡量縮小權限範圍,並只存放在本機設定中。多個工具會寫入或變更資料:建立儲存庫、提交檔案、建立與更新議題、發表留言、建立拉取請求,以及被標示為破壞性的合併拉取請求。合併與提交會直接作用於線上儲存庫,且不易復原。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Github Mcp Connector,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

🔌 github-mcp-connector

Talk to GitHub 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 exposes 18 tools for working with GitHub: repositories, branches, commits, file contents, issues, pull requests, and search.

No Python, no uv, no runtime dependency to install — just a binary and an .mcp.json.

✨ Why this exists

An agent that can only talk about your GitHub repos isn't that useful. This gives it hands: it can read and write files in a repo, open and triage issues, push a branch and open a PR, and merge it — all against the real GitHub API, with the same guardrails (size caps, friendly errors, destructive-action annotations) as the sibling connectors.

🧰 Tools

ToolWhat it doesWrite?
github_whoamiGet the user authenticated by GITHUB_TOKEN
github_list_reposList repos for a user/org, or the authenticated user
github_get_repoGet one repository's details
github_create_repoCreate a new repository✍️
github_list_branchesList branches in a repository
github_list_commitsList commits, optionally filtered by branch/path
github_get_file_contentsRead a file's content, or list a directory
github_create_or_update_fileCreate/update a file via a commit (≤ 5 MB)✍️
github_list_issuesList issues in a repository
github_get_issueGet one issue's full details
github_create_issueCreate a new issue✍️
github_update_issueUpdate an issue's title/body/state/labels✍️
github_add_issue_commentComment on an issue or PR✍️
github_list_pull_requestsList pull requests
github_get_pull_requestGet one PR's full details, incl. diff stats
github_create_pull_requestOpen a pull request✍️
github_merge_pull_requestMerge a pull request🗑️ destructive
github_search_repositoriesSearch repositories with GitHub search qualifiers

Every tool accepts an optional response_format: markdown (default, pretty tables for a chat UI) or json (for programmatic use).

🚀 Quickstart

Fastest path: grab a prebuilt bundle from the latest release — download github-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:

bash
# 1. Buildcd go-servergo mod tidygo build -o github-connector-server .cp github-connector-server ../plugin/servers/go/
# 2. Set up auth — a personal access token, see SETUP.mdexport GITHUB_TOKEN=ghp_...
# 3. Run./go-server/github-connector-server   # serves MCP over stdio

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:

VariablePurposeDefault
GITHUB_TOKENPersonal access token (classic or fine-grained). Needs repo/public_repo and read:org scopes depending on what you use it for.— (required)
GITHUB_API_URLGitHub Enterprise Server API base URL, e.g. https://github.example.com/api/v3.(unset — github.com)

🧪 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 + gofmt clean
  • ✅ 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 — every tool (repos, branches, commits, file read/write, issues, comments, PRs, merge, search) was exercised against a real, dedicated GitHub sandbox repo, 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:

  1. tags the release and publishes it on GitHub
  2. builds and attaches zipped, ready-to-install plugin bundles for linux/darwin/windows × amd64/arm64
  3. regenerates server.json from those exact assets (fresh version + SHA-256 hashes) and publishes it to the official MCP Registry via mcp-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

github-mcp-connector/├── README.md                  ← you are here├── SETUP.md                   ← step-by-step setup guide├── CONTRIBUTING.md             ← how to contribute├── CODE_OF_CONDUCT.md├── SECURITY.md                 ← vulnerability reporting├── CODEOWNERS├── LICENSE                     ← MIT├── Makefile                    ← build / test / lint shortcuts├── .golangci.yml                ← lint rules├── release-please-config.json  ← semver/changelog automation config├── .release-please-manifest.json├── server.json                  ← MCP Registry manifest (regenerated fresh per release by CI)├── scripts/│   └── render-server-json.sh    ← rebuilds server.json from a release's zip assets├── .github/│   ├── workflows/│   │   ├── ci.yml                     ← build, vet, test, lint, govulncheck│   │   ├── codeql.yml                 ← security scanning│   │   ├── pr-title.yml               ← Conventional Commits PR title check│   │   ├── release-please.yml         ← version PRs, tagging, GitHub releases│   │   ├── publish-mcp-registry.yml   ← publishes server.json to the MCP Registry│   │   └── rebuild-release-assets.yml ← manual re-attach fallback│   ├── ISSUE_TEMPLATE/│   ├── PULL_REQUEST_TEMPLATE.md│   └── dependabot.yml├── go-server/                  ← the MCP server source│   ├── main.go│   ├── main_test.go│   ├── go.mod / go.sum│   └── README.md└── plugin/                     ← installable Cowork/Claude plugin    ├── .claude-plugin/plugin.json    ├── .mcp.json                ← holds credentials locally — never commit real ones    └── servers/go/              ← compiled binary goes here

🤝 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,提交 efbca9a

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分