github-mcp-connector
Provides tools for interacting with GitHub, including repository management, branch and commit listing, file content read/write, issue and pull request management, and repository search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@github-mcp-connectorList the open issues for this repo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π github-mcp-connector
Talk to GitHub from an MCP-speaking agent.
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.
Related MCP server: GitHub MCP Agent Server
π§° Tools
Tool | What it does | Write? |
| Get the user authenticated by | |
| List repos for a user/org, or the authenticated user | |
| Get one repository's details | |
| Create a new repository | βοΈ |
| List branches in a repository | |
| List commits, optionally filtered by branch/path | |
| Read a file's content, or list a directory | |
| Create/update a file via a commit (β€ 5 MB) | βοΈ |
| List issues in a repository | |
| Get one issue's full details | |
| Create a new issue | βοΈ |
| Update an issue's title/body/state/labels | βοΈ |
| Comment on an issue or PR | βοΈ |
| List pull requests | |
| Get one PR's full details, incl. diff stats | |
| Open a pull request | βοΈ |
| Merge a pull request | ποΈ destructive |
| Search 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:
# 1. Build
cd go-server
go mod tidy
go build -o github-connector-server .
cp github-connector-server ../plugin/servers/go/
# 2. Set up auth β a personal access token, see SETUP.md
export GITHUB_TOKEN=ghp_...
# 3. Run
./go-server/github-connector-server # serves MCP over stdioOr 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:
Variable | Purpose | Default |
| Personal access token (classic or fine-grained). Needs | β (required) |
| GitHub Enterprise Server API base URL, e.g. | (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+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 β 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:
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
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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceA context-efficient GitHub MCP server designed for AI agents to manage repositories, issues, pull requests, and actions directly via cloud workflows. It focuses on a compact tool surface to minimize context waste while providing comprehensive read and write coverage without requiring a local Git CLI.
- AlicenseBqualityAmaintenanceMCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.12MIT
- FlicenseNot gradedqualityBmaintenanceA GitHub MCP server that wraps the gh CLI to expose GitHub operations like issues, pull requests, branches, labels, repositories, CI actions, and Projects V2 as tools for MCP clients.
- AlicenseNot gradedqualityAmaintenanceghcli-mcp-connector is an MCP server that lets agents run any GitHub CLI (gh) commandβrepos, issues, PRs, releases, workflows, gists, and moreβas a single static Go binary with a read-only-by-default safety gate on state-changing operations.MIT
Related MCP Connectors
Turn a GitHub repo or docs site into agent-ready context: pack it or search it, over MCP.
Generate AGENTS.md, AP2 compliance docs, checkout rules, debug playbook & MCP configs from any repo.
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/FerhatDundar/github-mcp-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server