GitHub CLI (gh) を利用して、GitHub の各種操作(Issues, Pull Requests など)を AI アシスタントから実行できるようにする MCP サーバープラグインです。
対応 OS: Linux / macOS / Windows 共通
このプラグインは公式の github/github-mcp-server を使わず、システムにインストールされた gh コマンド を内部で呼び出す独自の MCP サーバー(Go 言語実装)として動作します。
これにより、以下のメリットがあります:
- 既に
ghコマンドを使用している環境であれば、追加のトークン設定やラッパースクリプトが不要。 gh auth loginによる認証セッションをそのまま引き継いで動作するため、面倒な PAT (Personal Access Token) 管理が不要。- OS を問わず単一のプラグインとして動作。
| ファイル | 役割 |
|---|---|
gemini-extension.json |
プラグインマニフェスト。command は ${extensionPath}${/}bin${/}github を絶対パスへ解決する |
src/main.go / src/go.mod / src/go.sum |
gh コマンドを呼び出す MCP サーバーのソースコード |
bin/github-linux-amd64 / bin/github-darwin-arm64 / bin/github.exe |
コンパイル済みの MCP サーバーネイティブバイナリ(各 OS×arch) |
bin/github |
OS 分岐 dispatcher(shebang sh)。uname で実機を判定し対応ネイティブを exec(Windows は agy が bin/github.exe を直接起動) |
skills/github/SKILL.md |
エージェント向け使用ガイド(呼び出し時ロード)。gh_command の引数規則・-R 必須・--json フィールド指定・頻出パターン |
GitHub CLI をインストールし、コマンドプロンプトやターミナルで gh コマンドが実行できる状態にしてください。
ターミナル上で以下を実行し、GitHub へのログインを済ませておいてください。
gh auth loginこれだけで設定は完了です。MCP サーバーは gh コマンドの認証をそのまま利用します。
gh_command: 任意のghサブコマンドを実行します。引数はトークンごとに分割した文字列の配列argsで渡します(例:["issue", "list", "--limit", "10"]、["pr", "view", "123"])。- スペースを含む値(タイトル・本文・検索クエリなど)は1要素にまとめます(例:
["pr", "create", "--title", "My Title"])。文字列を空白分割する方式ではないため、クオートで囲む必要はありません。
- スペースを含む値(タイトル・本文・検索クエリなど)は1要素にまとめます(例:
⚠️ 注意(任意コマンド実行):gh_commandはghのあらゆるサブコマンドを実行できます。読み取りだけでなく、gh pr merge/gh issue close/gh repo delete/gh api(任意の REST 呼び出し)といった書き込み・破壊的操作も実行可能で、gh auth login済みアカウントの権限で動きます。エージェントに渡すタスクの範囲に注意し、信頼できる文脈でのみ利用してください。
agy plugin install https://github.com/kwrkb/agy-plugins/github注意: ソースコード (
src/main.go) を変更したら、下記コマンドで全 OS 分のバイナリを再ビルドしてコミットしてください(agy plugin installはビルドせずコミット済みバイナリをコピーするため、再ビルドを忘れると stale バイナリが配布されます)。
リポジトリルートのビルドスクリプトを使います(Go 1.26.5。決定論フラグはスクリプトに集約。CI の検証ゲート .github/workflows/build-verify.yml がこの結果との bit-identical 一致を要求し、Go のバージョンがずれると fail します)。
./build.sh github # github のネイティブバイナリ(linux-amd64/darwin-arm64/windows)を再ビルド。Windows は ./build.ps1 github
# 引数なし(./build.sh / ./build.ps1)で全プラグインビルドする OS によってスクリプトを使い分ける: macOS / Linux は
./build.sh、Windows は./build.ps1。 どちらもCGO_ENABLED=0のクロスコンパイルで 3 OS 分のネイティブを 1 台で一括生成し、Go 1.26.5 固定なら ホスト OS に依らず bit-identical(各 OS で実機ビルドする必要はない)。