mcpField
G
github-mcp-connector

github-mcp-connector

ローカル
github.comバージョン管理013 週間前に更新

github-mcp-connector について

github-mcp-connectorは、GitHubのリポジトリ、Issue、プルリクエストを扱うAgent向けのGo製MCPサーバーです。GitHub APIを通じて、一般的な読み取り・書き込み操作を18種類のツールで提供します。

主な機能

  1. 01リポジトリの一覧と詳細表示
  2. 02ブランチ、コミット、ファイルの参照
  3. 03リポジトリファイルの読み取りと更新
  4. 04Issueの作成と管理
  5. 05プルリクエストの作成、確認、マージ
  6. 06リポジトリ検索

活用シーン

  1. 01リポジトリのファイルとコミット履歴を確認
  2. 02Issueの整理とコメント追加
  3. 03プルリクエストの作成やマージ

MCP 対応

MCPクライアントに、リポジトリ、ファイル、Issue、プルリクエスト、検索を扱う18種類のGitHubツールを提供します。認証には`GITHUB_TOKEN`を使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbgithub-mcp-connector-plugin-v0.1.1-darwin-arm64.zip0.1.1
mcpbgithub-mcp-connector-plugin-v0.1.1-darwin-amd64.zip0.1.1
mcpbgithub-mcp-connector-plugin-v0.1.1-linux-amd64.zip0.1.1
mcpbgithub-mcp-connector-plugin-v0.1.1-linux-arm64.zip0.1.1
mcpbgithub-mcp-connector-plugin-v0.1.1-windows-amd64.zip0.1.1
mcpbgithub-mcp-connector-plugin-v0.1.1-windows-arm64.zip0.1.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🔌 github-mcp-connector

MCP 対応エージェントから GitHub を利用できます。

CI CodeQL Latest release MCP Registry Go Reference License: MIT MCP Conventional Commits PRs Welcome


Model Context Protocolに対応した、静的な Go バイナリです。 GitHub のリポジトリ、ブランチ、コミット、ファイル内容、issue、プルリクエスト、検索を操作するための 18 個のツールを提供します。

Python も、uv も、インストールが必要なランタイム依存関係もありません。必要なのはバイナリと .mcp.jsonだけです。

✨ 開発の背景

GitHub リポジトリについて話すことしかできないエージェントは、あまり役に立ちません。 このコネクターを使えば、リポジトリ内のファイルの読み書き、issue の作成とトリアージ、ブランチのプッシュと PR の作成、さらにマージまで、実際の GitHub API に対して実行できます。また、兄弟コネクターと同じガードレール(サイズ上限、わかりやすいエラー、破壊的操作の注釈)も備えています。

🧰 ツール

ツール内容書き込み?
github_whoamiGITHUB_TOKENで認証されたユーザーを取得
github_list_reposユーザー/組織、または認証済みユーザーのリポジトリを一覧表示
github_get_repo1 つのリポジトリの詳細を取得
github_create_repo新しいリポジトリを作成✍️
github_list_branchesリポジトリ内のブランチを一覧表示
github_list_commitsコミットを一覧表示。ブランチ/パスでの絞り込みも可能
github_get_file_contentsファイルの内容を読み取る、またはディレクトリを一覧表示
github_create_or_update_fileコミットを通じてファイルを作成/更新(≤ 5 MB)✍️
github_list_issuesリポジトリ内の issue を一覧表示
github_get_issue1 つの issue の詳細を取得
github_create_issue新しい issue を作成✍️
github_update_issueissue のタイトル/本文/状態/ラベルを更新✍️
github_add_issue_commentissue または PR にコメント✍️
github_list_pull_requestsプルリクエストを一覧表示
github_get_pull_request1 つの PR の詳細を取得(差分の統計情報を含む)
github_create_pull_requestプルリクエストを作成✍️
github_merge_pull_requestプルリクエストをマージ🗑️ 破壊的操作
github_search_repositoriesGitHub の検索修飾子を使ってリポジトリを検索

すべてのツールで、オプションのresponse_formatを指定できます。markdown(デフォルト。チャット UI 向けの整形済みテーブル)またはjson(プログラムからの利用向け)を選択できます。

🚀 クイックスタート

最速の方法: 最新リリースからビルド済みバンドルを入手します — github-mcp-connector-plugin-<version>-<os>-<arch>.zipをダウンロードして解凍し、 中にあるplugin/フォルダーをCowork/Claudeに指定します(SETUP.mdの 手順4を参照してください)。Goツールチェーンは不要です。

ソースからビルドする場合:

# 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 stdio

またはmake buildを実行してください。すべてのショートカット (test、vet、fmt、lint、tidy)についてはMakefileを参照してください。

Claude/Coworkプラグインとして接続する方法を含む、詳しい手順については **SETUP.md**を参照してください。

🔐 設定

すべて環境変数で設定し、プラグインの .mcp.jsonを通じて渡します。

変数目的デフォルト
GITHUB_TOKEN個人アクセストークン(classic または fine-grained)。用途に応じてrepo/public_repoとread:orgのスコープが必要です。—(必須)
GITHUB_API_URLGitHub Enterprise Server APIのベースURL。例:https://github.example.com/api/v3。(未設定 — github.com)

🧪 品質基準

これはおもちゃのようなスクリプトではありません — 本番環境のGoサービスに求められるものと同じチェックを備えています。

  • ✅ すべての入力検証パスに対するユニットテスト(go test ./...)
  • ✅ go vet + **gofmt**のチェックに合格
  • ✅ golangci-lint(govet、staticcheck、errcheck、gosecなど)
  • ✅ govulncheck — 依存関係グラフに既知の脆弱性がないことを確認
  • ✅ **CodeQL**による、プッシュごとの静的セキュリティ分析
  • ✅ エンドツーエンドで検証済み — すべてのツール(リポジトリ、ブランチ、コミット、ファイルの 読み取り/書き込み、イシュー、コメント、PR、マージ、検索)を、モックではなく 専用の実際のGitHubサンドボックスリポジトリに対して実行しました
  • ✅ **Dependabot**がGoモジュールとActionsを最新の状態に維持

これらはすべて、プッシュとPRのたびにCIで実行されます。

🏷️ リリースとバージョニング

バージョンはsemverに従い、main上の Conventional Commitsから release-pleaseによって自動的に作成されます。

  • fix: ... → パッチ(v0.1.0 → v0.1.1)
  • feat: ... → マイナー(v0.1.1 → v0.2.0)
  • feat!: .../BREAKING CHANGE:フッター → メジャー(v0.2.0 → v1.0.0)

マージされたPRごとに、自動生成されたCHANGELOG.mdを含む **「chore(main): release vX.Y.Z」**のPRが更新されます。このPRをマージすると:

  1. リリースにタグを付け、GitHubで公開します
  2. linux/darwin/windows × amd64/arm64向けに、インストール可能なプラグインバンドルをビルドしてZIP形式で添付します
  3. それらの正確なアセットからserver.jsonを再生成し(最新バージョンと SHA-256ハッシュを含む)、GitHub OIDCによる認証を使って 公式MCPレジストリに mcp-publisher経由で公開します — 保存されたシークレットは不要です

.github/workflows/release-please.ymlと .github/workflows/publish-mcp-registry.yml を参照してください(既存のタグに対してworkflow_dispatchから手動で実行することもできます)。

📁 ディレクトリ構成

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

🤝 貢献

PRやイシューを歓迎します — 詳細なガイド(セットアップ、コーディング規約、新しいツールの追加方法)は **CONTRIBUTING.md**を、行動規範は **Code of Conduct**を参照してください。

mainは保護されています。メンテナーによる変更も含め、すべての変更はCIに合格したプルリクエストを通じて反映されます。PRのタイトルは Conventional Commitsに従う必要があります — これが上記の自動バージョニングに使われます。

セキュリティ上の問題を見つけた場合は、公開イシューを作成せず、 **SECURITY.md**に従って報告してください。

📄 ライセンス

MIT © FerhatDundar

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。