GitHub MCP Server は GitHub が公式にメンテナンスする Model Context Protocol サーバーで、Cursor、Claude Desktop、VS Code Copilot などの AI ホストが標準化されたツール呼び出しを通じて GitHub REST / GraphQL API にアクセスできるようにします——リポジトリの検索、Issue の閲覧、PR の作成、コード検索などを、チャットに gh コマンドの出力を何度も貼り付ける必要なく行えます。
本記事では「まず方式を選び、次に環境を構築し、最後に IDE に接続する」という順序で、Windows、Linux、macOS の 3 つのインストール手順を解説し、コピーしてそのまま使える設定スニペットとトラブルシューティングのチェックリストも付けています。
2025 年 4 月以降、コミュニティ向けの旧 npm パッケージ
@modelcontextprotocol/server-githubは廃止されました。現在公式にサポートされているローカルイメージはghcr.io/github/github-mcp-serverのみで、リモートホストのエンドポイントはhttps://api.githubcopilot.com/mcp/です。
デプロイ方式の選び方
ソフトウェアをインストールする前に、まず下の表を参照して、どのルートを取るか決めましょう:
| 方式 | ローカルプロセスが必要か | 向いているシーン | プラットフォーム要件 |
|---|---|---|---|
| リモートホスト | いいえ(HTTP 直結) | ローカルで Docker を動かしたくない、GitHub にアクセスできるネットワーク環境 | 任意(ホストが Streamable HTTP に対応していること) |
| Docker ローカル | はい(コンテナ stdio) | 多くのユーザーにとっての第一候補。バージョンが揃い、アップグレードも容易 | Win / Linux / macOS いずれも Docker が必要 |
| Go ソースからビルド | はい(ネイティブバイナリ) | Docker なし、toolset のカスタマイズや企業内ネットワーク向け | 3 プラットフォームいずれも go build 可能 |
3 つの方式とも認証ロジックは同じです:Personal Access Token(PAT) を設定するか、ローカルの Docker / バイナリモードでは OAuth ブラウザログイン(トークンはメモリにのみ保持され、ディスクには保存されない)を使います。
共通の事前準備
どのルートを選んでも、まず次の 4 ステップを完了しておくことをおすすめします:
-
GitHub PAT の作成
Fine-grained PAT 作成ページ を開き、使うツールに応じて権限にチェックを入れます。リポジトリの読み取り専用閲覧には通常Contents: Read、Metadata: Readが必要です。PR / Issue の作成も行う場合は、書き込み権限を追加してください。 -
ホストのバージョン確認
- Cursor:リモート Streamable HTTP には v0.48.0 以降が必要
- Claude Desktop / VS Code:各 MCP ドキュメントを参照 -
(ローカル Docker 方式)Docker のインストールと起動
- Windows / macOS:Docker Desktop
- Linux:Docker Engine + 現在のユーザーをdockerグループに追加 -
イメージの事前プル(任意だが推奨)
docker pull ghcr.io/github/github-mcp-server
プル時に unauthorized が出た場合は、docker logout ghcr.io を実行してから再試行してください——期限切れの ghcr ログイン状態が原因のことがあります。
方式一:リモートホスト(最も手軽)
GitHub は https://api.githubcopilot.com/mcp/ でホスト型 MCP エンドポイントを提供しており、ローカルに Docker は不要です。Linux サーバー、Windows の軽量環境、または社内ポリシーでコンテナ実行が禁止されている場合に適しています。
Cursor 設定例
グローバル設定 ~/.cursor/mcp.json を編集します(Windows のパスは %USERPROFILE%\.cursor\mcp.json):
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_GITHUB_PAT"
}
}
}
}
YOUR_GITHUB_PAT を実際のトークンに置き換え、保存後に Cursor を完全に再起動してください。Settings → Tools & Integrations → MCP Tools に緑色のオンライン表示が出るはずです。Composer で「私の GitHub リポジトリを一覧表示して」と聞いて動作確認できます。
注意事項
- リモートモードは現在 PAT 認証が中心です。一部のホストでは OAuth サポートがまだ整備中です。
- 社内プロキシ / ファイアウォールでは
api.githubcopilot.comへの HTTPS 送信を許可する必要があります。 - PAT をバージョン管理リポジトリに書き込まないでください。プロジェクト単位の設定で
.cursor/mcp.jsonを使う場合は.gitignoreに追加することを忘れずに。
方式二:Docker ローカルデプロイ(公式推奨)
Docker 方式は stdio でホストと通信します:ホストが docker run -i ... を起動し、コンテナ内プロセスが標準入出力を読み書きします。これも Claude Desktop、Windsurf、Cursor のワンクリックインストールボタンの背後にあるデフォルトコマンドです。
macOS インストール手順
- Docker Desktop for Mac をインストール(Apple Silicon は ARM64 版を選択)。
- メニューバーのクジラアイコンが Running になっていることを確認。
- ターミナルで検証:
docker run --rm ghcr.io/github/github-mcp-server --help
~/.cursor/mcp.jsonに書き込み:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
}
}
}
}
Linux インストール手順
- ディストリビューションに応じて Docker Engine をインストール(Ubuntu の例:
sudo apt install docker.io)。 - ユーザーを docker グループに追加し、毎回
sudoしなくて済むようにする:
sudo usermod -aG docker "$USER"
newgrp docker
- Docker デーモンが起動していることを確認:
sudo systemctl enable --now docker。 - MCP 設定は macOS とまったく同じ——
~/.cursor/mcp.jsonのパスも同様です。
GUI のない Linux サーバーで、設定ファイルに PAT を平文で書きたくない場合は、環境変数での注入に切り替えられます:
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
その後、mcp.json の env ブロックで同名の変数を参照します(一部のホストは ${env:GITHUB_PERSONAL_ACCESS_TOKEN} 構文をサポートしています。ホストのドキュメントを参照してください)。
Windows インストール手順
- Docker Desktop for Windows をインストール。
- WSL 2 バックエンドを推奨(Settings → General → Use WSL 2 based engine)。 - Docker Desktop のトレイアイコンが実行中であることを確認。
- 設定ファイルのパス:
%USERPROFILE%\.cursor\mcp.json。 - JSON の内容は macOS と同じ;
commandもdockerのまま(Docker Desktop が CLI を PATH に追加します)。
Windows でよくある落とし穴:WSL 内では docker が動いても、Windows ホストの Cursor が読むのは Windows 側の mcp.json です——両方の設定を混在させないでください。Cursor が Windows にインストールされ、プロジェクトが WSL にある場合は、Windows のユーザーディレクトリで MCP を設定するのが優先です。
OAuth ログイン(PAT を手書き不要)
公式イメージには OAuth アプリの認証情報が組み込まれています。Docker モードではコールバックポートをローカルのループバックアドレスにマッピングする必要があります:
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-p", "127.0.0.1:8085:8085",
"-e", "GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
}
}
}
}
初回接続時にブラウザが開き、GitHub ログインを完了します。トークンはメモリに保存され、コンテナ終了時に失効します。ヘッドレスサーバーでは、公式ドキュメントの device code フォールバック手順を参照してください。
方式三:Go ソースからビルド(Docker なし)
Docker をインストールできない場合や、toolset を絞り込み(一部の API 機能だけを公開)たい場合に適しています。
3 プラットフォーム共通の手順
前提: Go 1.24+ をインストール。
git clone https://github.com/github/github-mcp-server.git
cd github-mcp-server
go build -o github-mcp-server cmd/github-mcp-server/main.go
ビルド成果物の名前は任意です。以下では ./github-mcp-server を例にします。
PAT で起動(stdio モード):
export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxx"
./github-mcp-server stdio
Cursor にローカルバイナリを接続:
{
"mcpServers": {
"github": {
"command": "/絶対パス/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT"
}
}
}
}
| プラットフォーム | バイナリパスの例 | 備考 |
|---|---|---|
| macOS | /Users/you/bin/github-mcp-server |
chmod +x 後に ~/bin に置ける |
| Linux | /home/you/.local/bin/github-mcp-server |
systemd ユーザーサービスで常駐プロセスを管理可能 |
| Windows | C:\\Tools\\github-mcp-server.exe |
JSON 内のバックスラッシュは \\ と書く |
アップグレード時は git pull && go build を再実行するだけでよく、Docker イメージのリリースを待つ必要はありません。
他の IDE と CLI への接続
設定キー名はホストによって異なりますが、Docker コマンドラインのコアは同じです:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN \
ghcr.io/github/github-mcp-server
- Claude Desktop:
claude_desktop_config.jsonのmcpServersブロックは、Cursor と同じ構造です。 - VS Code Copilot:リモート + ローカルの両方に対応。ローカルも Docker イメージを推奨。
- Claude Code CLI:軽量なバイナリ方式を好み、コンテナのオーバーヘッドを減らします。
各ホストの完全な例は、公式リポジトリの docs/installation-guides/ ディレクトリを参照してください。
セキュリティと運用の推奨事項
- 最小権限の PAT:toolset に応じて権限を付与し、定期的にローテーションする。
- 設定ファイルのパーミッション:
chmod 600 ~/.cursor/mcp.json(Linux / macOS)。 - 読み取り専用モード:起動パラメータで read-only を有効にし、AI によるリポジトリの誤変更を防ぐ。
- 企業向け GitHub Enterprise Server:OAuth App / GitHub App を自前で構築する必要があり、github.com のデフォルト OAuth 認証情報は使えません——公式の
docs/oauth-login.mdを参照してください。
プラットフォーム差分の補足
パスと環境変数
~/.cursor/mcp.json- macOS と Linux のグローバル MCP 設定。Windows では
%USERPROFILE%\.cursor\mcp.jsonに対応。 GITHUB_PERSONAL_ACCESS_TOKEN- Docker / バイナリモードでの PAT 環境変数名。設定すると OAuth フローより優先される。
GITHUB_OAUTH_CALLBACK_PORT- OAuth ブラウザコールバックの待ち受けポート。Docker 環境では通常 8085 に固定。
ショートカットと慣習的な使い方
Cursor Composer では、Cmd+Shift+P(Windows では Ctrl+Shift+P)でコマンドパレットを開き、MCP 関連の設定を検索できます。以前は npx @modelcontextprotocol/server-github の一行コマンドでサービスを起動する習慣がありました——この方式は廃止されているため、本記事の Docker またはリモートエンドポイント方式に切り替えてください。
本番環境では必ず PAT を環境変数またはシークレットマネージャーに置き、git で追跡されるプロジェクトファイルに書き込まないでください。
検証チェックリスト(公開前)
- MCP パネルの緑のインジケーター
- ツール一覧に
github_*プレフィックスの項目が表示される - 読み取り専用操作(リポジトリ一覧など)の試行が成功する
ログの場所
Cursor のログは Help → Toggle Developer Tools → Console で MCP キーワードをフィルタして確認できます。Claude Desktop のログパスはプラットフォームによって異なり、公式の troubleshooting セクションに完全な一覧があります。
トラブルシューティング早見表
| 現象 | 想定される原因 | 対処 |
|---|---|---|
| MCP が赤点 / ツール一覧が空 | JSON の構文エラー、またはホスト未再起動 | JSON を検証し、Cursor を完全終了してから再起動 |
docker: command not found |
Docker 未インストール、または PATH 未設定 | Docker Desktop / Engine を再インストール |
pull access denied |
ghcr のログイン状態の期限切れ | docker logout ghcr.io 後に再プル |
| 401 / 403 | PAT の権限不足または期限切れ | PAT を再発行し設定を更新 |
| OAuth コールバック失敗 | ポート 8085 がマッピングされていない | -p 127.0.0.1:8085:8085 を確認 |
| リモート HTTP に接続できない | プロキシによる遮断 | システムプロキシを設定するか、ローカル Docker に切り替え |
ローカルでの簡易自己診断:ターミナルで Docker コマンドを手動実行し、stderr に即座にエラーが出ないか確認する。次に IDE ログの MCP 起動コマンドが一致しているか比較する。
まとめ
- 最速で使いたい:リモート
https://api.githubcopilot.com/mcp/+ PAT。Cursor v0.48+ ならurlを直接設定。 - 安定して再現したい:3 プラットフォーム共通で
docker run -i --rm ... ghcr.io/github/github-mcp-server。 - 極限まで軽量またはカスタマイズしたい:
go buildでバイナリを作成し、stdioで接続。
デプロイ完了後、AI 対話で自然言語から GitHub を操作する——例えば「kvmkit リポジトリの直近 5 件の open issue を要約して」——ここが MCP が本当に時間を節約してくれる場面です。CI/CD パイプラインの構築や 7×24 のクラウド Mac ビルドノードが必要な場合は、MCP による開発支援と自動化リリースを同じツールチェーンでまとめて計画するのも一案です。
よくある質問
GitHub MCP Server は Docker 必須ですか?
いいえ。Docker はクロスプラットフォームで一貫性があり更新も簡単なため推奨されていますが、GitHub ホストの https://api.githubcopilot.com/mcp/ を使うか、Go バイナリをローカルでビルドして stdio で実行することもできます。
npm パッケージ @modelcontextprotocol/server-github はまだ使えますか?
使えません。2025年4月以降メンテナンス終了です。公式 Docker イメージ ghcr.io/github/github-mcp-server か github/github-mcp-server リポジトリからのビルドを使ってください。
Windows で Docker Desktop が起動していないとどうなりますか?
Cursor などのホストは MCP パネルで赤点や接続エラーを表示します。Docker Desktop を起動し、docker pull ghcr.io/github/github-mcp-server でイメージ取得を確認してください。
Personal Access Token にはどの権限が必要ですか?
有効にするツールセット次第です。読み取り専用のリポジトリ閲覧には Contents・Metadata の読み取り権限が一般的です。Issue・PR 作成や push には書き込み権限が追加で必要です。Fine-grained PAT を最小権限で作成してください。
M4 Mac mini で CI/CD を回すのが一番ラク
Xcode, Fastlane, CocoaPods, and SPM are first-class on macOS. Mac mini M4 unified memory keeps signing and archiving smooth; ~4W standby power suits 24/7 build nodes.