GitHub MCPとは?
できること・MCPサーバーの
導入・使い方を徹底解説
「自然言語でIssueを作れ、PRをレビューしろ、ブランチを切れ」——AIエージェントがGitHubを操作できるようにするのがGitHub MCPだ。2025年4月パブリックプレビュー開始・2026年1月の機能追加でエンタープライズ対応も強化。50以上のツール・全対応クライアント・セキュリティ設定・具体的なプロンプト例まで、競合記事を超える情報量で完全解説する。
1. GitHub MCPとは——MCPとは何か・背景から理解する
GitHub MCPとは、AIエージェントがGitHubのリポジトリ・Issue・PR・GitHub Actionsなどを自然言語で操作できるようにするMCPサーバーだ。GitHub社が公式に開発・提供しているオープンソースのツールで、MITライセンスで公開されている。
「MCP(Model Context Protocol)」はAnthropicが開発した標準規格で、AIモデルと外部サービスを安全・効率的に連携させるための共通プロトコルだ。これがなかった時代は、各サービスとAIを連携させるたびに開発者が独自のコードを書く必要があり、毎回ゼロから設計しなければならなかった。MCPによってその「共通言語」が生まれた。
- 2025年4月パブリックプレビュー開始・2026年1月の機能追加詳細(Projects管理ツール・コンテキスト50%削減・OAuthスコープフィルタリング等)
- GitHub MCPが提供する50以上のツールの全体分類(Issues/PR/Repo/Search/Projects/Actionsの6カテゴリ)
- ローカルMCPとリモートMCPの違い——どちらを選ぶべきか
- 対応クライアントの全一覧——VS Code・JetBrains・Xcode・Eclipse・Cursor・Windsurf・Claude Desktop・GitHub Copilot CLI等
- Fine-grained PAT vs Classic PATの違いと2026年のセキュリティ推奨設定
- –read-onlyフラグ・–toolsetsフラグなどのセキュリティ設定コマンド
- 具体的な自然言語プロンプト例8つ——実際にAIに何と言えば動くか
- 企業・組織での注意点——デフォルトで無効になっていることがある組織ポリシー
- Prompt injectionリスク——Issue本文に埋め込まれた悪意ある指示への対策
2. GitHub MCP 公開の経緯と2026年1月の機能追加
Anthropic がMCPを発表
Model Context Protocolがオープンソースとして公開。AIエージェントと外部ツールを連携させる共通規格として注目を集める
GitHub 公式MCPサーバーのパブリックプレビュー開始
github-mcp-serverとして公開。GitHub社がリポジトリ管理・Issue/PR操作・GitHub Actions連携等50以上のツールをMCPサーバーとして提供開始。Go言語で実装され、MITライセンス
大型アップデート——エンタープライズ対応を強化
以下の機能が追加された(GitHub Changelogより):①ProjectsツールをGitHub公式が統合(3ツールに集約しコンテキスト消費量50%削減)②OAuthスコープフィルタリング(Classic PATのスコープに応じてツールを自動非表示)③Insidersモード(実験的機能へのオプトインアクセス)④HTTPサーバーモード(エンタープライズ向け共有MCPサーバー構築が可能に)
①Projectsツールの統合(コンテキスト50%削減):
- projects_list:ユーザー・組織・リポジトリのプロジェクトを一覧表示
- projects_get:特定プロジェクトの詳細情報を取得(フィールド・アイテム含む)
- projects_write:プロジェクトの書き込み・更新操作
- 従来のツールリストが多すぎてコンテキストウィンドウを圧迫していた問題を解消。約23,000トークン(50%)を削減
②OAuthスコープフィルタリング:
- Classic PAT(ghp_ プレフィックス)を使用している場合、サーバーがトークンのOAuthスコープを自動検出
- 実行権限がないツールを自動的に非表示にする(誤操作リスクの低減・クラッターの解消)
③Insidersモード:
- https://api.githubcopilot.com/mcp/insiders にアクセスするか、X-MCP-Insiders: trueヘッダーを追加
- 実験的機能・プレビュー機能に早期アクセスできる
④HTTPサーバーモード(エンタープライズ向け):
- ローカルMCPサーバーをHTTPサーバーとして起動可能
- チーム全員が個人のPATを管理せずに、共有MCPサーバー経由でOAuthトークンを渡せる
- GitHub Enterprise Server への完全対応
3. GitHub MCPでできること——ツールの全体分類
GitHub MCPサーバーは50以上のツールを提供しており、大きく6つのカテゴリに分類される。AIsmiley記事では一部のツールしか紹介されていなかったが、ここでは全体像を網羅する。
- create_issue(Issue作成)
- list_issues(Issue一覧・フィルタリング)
- update_issue(Issue更新・クローズ)
- add_issue_comment(コメント追加)
- search_issues(全GitHub横断検索)
- get_issue(特定Issue取得)
- create_pull_request(PR作成)
- list_pull_requests(PR一覧)
- get_pull_request(PR詳細)
- get_pull_request_diff(差分取得)
- add_pull_request_review(レビュー追加)
- merge_pull_request(マージ実行)
- get_file_contents(ファイル取得)
- create_or_update_file(ファイル作成・更新)
- push_files(複数ファイル一括コミット)
- create_repository(リポジトリ作成)
- create_branch(ブランチ作成)
- list_commits(コミット履歴確認)
- search_repositories(リポジトリ検索)
- search_code(コード検索)
- search_users(ユーザー検索)
- search_issues(Issue横断検索)
- projects_list(プロジェクト一覧)
- projects_get(プロジェクト詳細)
- projects_write(プロジェクト更新)
- actions_get(ワークフロー取得)
- ワークフロー実行状況の確認
- ビルド失敗のログ分析
- リリース情報の取得
4. ローカルMCPとリモートMCPの違い
| 比較項目 | ローカルMCP(STDIOモード) | リモートMCP(HTTPモード) |
|---|---|---|
| 動作場所 | 自分のPC上でプロセスとして起動 | GitHub社のサーバー(api.githubcopilot.com/mcp) |
| インストール | DockerまたはNode.js環境が必要 | インストール不要。URLを設定するだけ |
| 認証 | PATを環境変数で設定 | OAuth認証(VS Code 1.101以降はワンクリックで完了) |
| プライバシー | ローカル処理のためデータがGitHub以外に送られない | GitHubのサーバー経由 |
| Insidersアクセス | GITHUB_INSIDERS=trueを設定 | URL末尾に/insidersを追加 |
| エンタープライズ | GitHub Enterprise Server対応 | GitHub Enterprise Cloud対応(専用URLが必要) |
| 向いている用途 | プライバシー重視・Enterprise Server利用 | 手軽に始めたい個人・チーム |
リモートMCPの設定例(VS Code設定ファイル)
“servers”: {
“github”: {
“type”: “http”,
“url”: “https://api.githubcopilot.com/mcp/”
// Insidersモードを使う場合:
// “url”: “https://api.githubcopilot.com/mcp/insiders”
}
}
}
5. 対応クライアント一覧
GitHub MCPは多数のAI開発環境に対応している。AIsmiley記事ではClaude DesktopとVS Codeしか紹介されていなかったが、実際は以下のクライアントすべてでMCPが使える。
GitHub公式推奨
Copilot Chat AgentモードでGitHub MCPを使える。リモートMCPはワンクリックでOAuth認証。エディタとGitHubを横断した操作が最もシームレス
Anthropic製
設定ファイル(claude_desktop_config.json)にMCPサーバーを記述。ローカルMCPで動作。チャット形式で包括的な指示が出しやすい
IntelliJ・PyCharm等
JetBrains系のIDEでGitHub Copilotプラグイン経由でMCP利用可能。Java/Kotlin/Python開発者に最適
iOS・macOS開発
GitHub Copilot for Xcodeと組み合わせてMCPを利用。Swift/SwiftUI開発者向け
AI専用エディタ
VS Codeベースのエディタ。MCP設定をGUI・設定ファイルの両方で行える。コーディング中心のワークフローに向く
AI専用エディタ
CursorとともにAIネイティブエディタの一つ。MCPに対応しGitHub操作が可能
コマンドライン
Copilot CLIにGitHub MCPが組み込み済み。ターミナル上でAIエージェントにGitHub操作を委任できる
Java開発者向け
GitHub Copilotプラグインを通じてMCPに対応。エンタープライズのJava開発環境で利用可能
独自実装
MCPプロトコルに対応した独自クライアントを開発することで、任意のアプリケーションからGitHub MCPを利用できる
6. PAT(アクセストークン)の作成と種類
GitHub MCPを利用するにはPersonal Access Token(PAT)が必要だ(リモートMCPのOAuth認証を使う場合は不要)。PATには2種類あり、2026年現在はFine-grained PATの使用が推奨されている。
| 種類 | 特徴 | 2026年の推奨 |
|---|---|---|
| Classic PAT(ghp_ プレフィックス) | 従来型。リポジトリ全体・組織全体への権限など粗い単位での設定。2026年1月アップデートでOAuthスコープフィルタリングが自動適用されるようになった | 使えるが非推奨 |
| Fine-grained PAT(github_pat_ プレフィックス) | リポジトリ単位・権限種別(読み取り/書き込み)単位で細かく設定できる。有効期限の設定必須。最小権限の原則を実践しやすい | 推奨(本番環境では必須レベル) |
Fine-grained PATの作成手順
-
1Settings → Developer settings にアクセス
GitHubの右上アイコン→Settings→左メニュー下部のDeveloper settings→Personal access tokens→Fine-grained tokensと進む
-
2「Generate new token」をクリックして基本情報を設定
トークン名・有効期限(最大1年)・リソースオーナー(個人 or 組織)を設定する。有効期限は必ず設定すること(無期限は非推奨)。
-
3アクセスするリポジトリを選択(最小権限の原則)
「All repositories」ではなく「Only select repositories」を選び、GitHub MCPで操作する必要があるリポジトリだけを指定する。
-
4Permissionsを用途に応じて選択
Issueの読み書き・PRの読み書き・Contentsの読み書きなど、実際に使う機能に応じた権限のみを付与する。書き込み権限は本当に必要な場合のみ付与する。トークンは一度しか表示されないため安全な場所に保管すること。
7. Claude Desktopへのセットアップ手順
macOSの設定ファイルの場所
Windowsの設定ファイルの場所
設定ファイルの内容(ローカルMCP・Docker使用)
“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_token_here”
}
}
}
}
npxを使う場合(Dockerなし)
“mcpServers”: {
“github”: {
“command”: “npx”,
“args”: [“-y”, “@modelcontextprotocol/server-github”],
“env”: {
“GITHUB_PERSONAL_ACCESS_TOKEN”: “your_token_here”
}
}
}
}
8. VS Code(Copilot Agentモード)での使い方
VS CodeではリモートMCP接続が最も簡単で推奨される方法だ。
-
1VS CodeにGitHubアカウントでサインイン
左下のアカウントアイコン→「Sign in with GitHub」。または左下のGitHubアイコンからサインインする。GitHub Copilotサブスクリプションが有効なアカウントであることを確認。
-
2VS Codeの設定でGitHub MCPサーバーを追加
設定(settings.json)に以下を追加。リモートMCPを使う場合はDockerもNode.jsも不要。
{
“mcp”: {
“servers”: {
“github”: {
“type”: “http”,
“url”: “https://api.githubcopilot.com/mcp/”
}
}
}
}
-
3Copilot ChatをAgentモードに切り替える
Copilot Chatパネルを開き(Ctrl+Alt+I)、チャット入力欄の左側にある切り替えアイコンから「Agent」を選択。通常のChatモードのままではMCPツールは使えない。
-
4ツール一覧にGitHub MCPが表示されていることを確認
Copilot ChatのツールアイコンをクリックするとMCP Serverのリストが表示される。「MCP Server: GitHub」が出ていれば接続成功。表示されない場合はVS Codeを再起動してみる。
9. 自然言語プロンプト例——どう指示すれば動くか
GitHub MCPを実際に使う際に、AIにどう指示すれば良いかは直感的でわかりにくい。実際に動作する具体的なプロンプト例を8つ紹介する。
ownerの「your-repo」リポジトリに、バグレポートのIssueを作成して。タイトルは「ログインページでの500エラー」で、本文には発生条件・エラーメッセージ・再現手順を含めて。ラベルは「bug」と「high-priority」を付けて
「your-repo」リポジトリの未解決のIssueを一覧表示して。「enhancement」ラベルが付いていて、担当者がいないものを優先順位順に並べて、各Issueの概要と作成日も表示して
PR #42の差分を確認して、以下の観点でレビューコメントを書いて:①セキュリティ上のリスク②パフォーマンスへの影響③コーディング規約との整合性④テストが不足している箇所。重大な問題があれば最初に警告として出して
「your-org」配下のすべてのリポジトリで、「deprecated_function()」という関数が使われているコードを検索して、使用箇所のファイル名・行番号・周辺のコードをリストアップして
「your-repo」の直近10回のCI(GitHub Actions)実行結果を確認して。失敗しているワークフローがあれば、エラーログを取得して失敗の原因を分析して、可能であれば修正案も提示して
「your-org」の「Sprint 2026 Q2」プロジェクトの進捗を確認して。「In Progress」ステータスのアイテムを一覧表示し、完了予定日が過ぎているものを警告として別途まとめて
「your-repo」のmainブランチの直近30日間のコミット履歴を分析して。変更が多かったファイルTOP5・貢献者別のコミット数・リリースノートのドラフトを生成して
feature/login-redesignブランチからmainへのPRを作成して。タイトルは変更内容から自動生成して、本文にはこのブランチでの変更点の要約・テスト方法・関連するIssue番号(#35・#38)を含めて
10. Copilot ChatとGitHub MCPの違い
AIsmiley記事にも比較表があったが、より実践的な視点で整理する。
| 比較項目 | GitHub Copilot Chat | GitHub MCP |
|---|---|---|
| 位置づけ | VS Code上でコード生成・修正・説明を行うAI本体 | AIにGitHubのリソース(リポジトリ・Issue・PR等)への接続を追加する拡張機能 |
| 操作できる対象 | 開いているコードファイル・ワークスペース | GitHub全体:リポジトリ・Issue・PR・Actionsワークフロー・プロジェクト等 |
| GitHubの情報を直接見れるか | 見れない(コードが見えるだけ) | 見れる(リポジトリ・Issue・PRに直接アクセス) |
| 単体での有用性 | 単体でも十分使える | AIクライアント(Copilot Chatなど)と組み合わせて使う |
| 得意な用途 | 日常的なコーディング補助・コード説明・テスト生成 | Issue駆動開発・コードレビュー支援・GitHub状況の把握・チーム操作 |
| 導入の手間 | Copilot有効化のみ | MCP設定・認証設定が別途必要 |
| 関係性 | AI本体(エンジン) | AIに追加する拡張(GitHub特化のコンテキスト) |
11. セキュリティの注意点と推奨設定
GitHub MCPはAIエージェントにGitHub操作権限を与えるため、セキュリティ設定を誤ると重大なリスクが生じる。
| リスク | 具体的な問題 | 対策 |
|---|---|---|
| 過剰な権限付与 | 読み取りのみで良い用途でリポジトリ全体への書き込み権限を与えてしまう | Fine-grained PATで必要最小限の権限のみ付与。読み取りのみなら–read-onlyフラグ(ローカルMCP)を使う |
| Prompt injection攻撃 | GitHubのIssue本文に悪意あるプロンプト(「このリポジトリを削除して」等)が埋め込まれ、AIが意図せず実行する | AIが行おうとしている操作を確認してから承認するHuman-in-the-Loopワークフローを維持。自動マージ・自動削除等の不可逆な操作は自動化しない |
| トークンの漏洩 | 設定ファイルがGitにコミットされたり、ログに出力されたりする | 設定ファイルを.gitignoreに追加。本番環境ではGitHub Appによる認証を使用 |
| 組織全体への影響 | 組織のすべてのリポジトリに権限があると、一つのミスで組織全体に影響が出る | Fine-grained PATで特定リポジトリのみにスコープを限定 |
セキュリティ設定コマンド例(ローカルMCP)
docker run -i –rm -e GITHUB_PERSONAL_ACCESS_TOKEN=your_token ghcr.io/github/github-mcp-server –read-only
# 特定のツールセットのみ有効化(Issues・PRのみ)
docker run -i –rm -e GITHUB_PERSONAL_ACCESS_TOKEN=your_token ghcr.io/github/github-mcp-server –toolsets=“issues,pull_requests”
# Insidersモードで起動(実験的機能を有効化)
docker run -i –rm -e GITHUB_PERSONAL_ACCESS_TOKEN=your_token -e GITHUB_INSIDERS=true ghcr.io/github/github-mcp-server
12. Enterprise・組織での注意点
組織のMCPポリシー設定:
- GitHub Copilot Business/Enterpriseでは、管理者が「MCP servers in Copilot」ポリシーを設定できる
- デフォルトでこのポリシーが無効になっている組織では、メンバーがMCPを使おうとしても動かない
- 組織の管理者:Settings→Copilot→Policies→「MCP servers in Copilot」を「Enabled」に変更する必要がある
GitHub Enterprise Serverの注意点:
- リモートMCP(api.githubcopilot.com)はGitHub Enterprise Serverではサポートされていない
- Enterprise Serverではローカル構成(Docker/npx)のみ利用可能
- GITHUB_HOSTまたは–gh-host環境変数でホスト名を指定する必要がある
- URLはhttps://プレフィックスを付けないとhttp://扱いになるため注意
GitHub Enterprise Cloud(Data Residency):
- 通常のapi.githubcopilot.com ではなく、専用のMCP URLが必要
- 使用している組織のData Residencyドメインを確認して設定すること
Audit Log(監査ログ):
- GitHub App経由のMCP操作はすべてAudit Logに記録される
- Enterprise CloudではAudit Log StreamingでSplunk・DatadogへのリアルタイムエクスポートがOK
13. トラブルシューティング12項目
| # | 症状・状況 | 確認・対処法 |
|---|---|---|
| 1 | GitHubにサインインできない / 認証エラー | IDE側でGitHubアカウントにログインしているか確認。サインアウトして再サインインする |
| 2 | PATを設定したが認証に失敗する | トークン自体が有効か(期限切れ・削除されていないか)・必要なスコープを持っているか・値の入力ミスがないかを確認 |
| 3 | Copilot Chatでツールが使えない | Copilot ChatがAgentモードになっているか確認。通常のChatモードではMCPツールは使えない |
| 4 | MCPサーバーがツール一覧に表示されない | 設定ファイル(settings.json / claude_desktop_config.json)の記述ミス・URLの誤り・設定反映のためのIDE再起動忘れを確認 |
| 5 | 読み取りはできるが書き込み操作(Issue作成等)が失敗する | PATに書き込み権限(repo・issues等)が付与されているか確認。権限不足が原因のことが多い |
| 6 | 組織のメンバーだがGitHub MCPが動かない | 組織の管理者がMCPポリシーを「Enabled」に設定しているか確認。デフォルトで無効になっている組織がある |
| 7 | Enterprise Serverで動かない | リモートMCP(api.githubcopilot.com)はEnterprise Serverでは使えない。Docker/npxのローカル構成に切り替える。GITHUB_HOSTの設定を確認 |
| 8 | Dockerを使った構成で動かない | Dockerが正常に動作しているか確認(docker ps コマンドでテスト)。環境変数がコンテナ内に正しく渡されているか確認 |
| 9 | Push protectionにブロックされる | シークレット扱いとされた値がIssue本文等に含まれているとblockされる場合がある。適切な理由を指定してバイパスするか、シークレットを取り除く |
| 10 | コンテキストが長くて応答が遅い・エラー | –toolsetsフラグで使うツールカテゴリを絞り込む。2026年1月のアップデートでProjectsツールが統合されコンテキスト50%削減済み |
| 11 | 設定後も変更が反映されない | 設定ファイルを保存後にIDEを再起動・ウィンドウの再読み込みを行う |
| 12 | AIが意図しない操作を実行しようとする | Prompt injectionの可能性がある。AIが実行しようとしている操作を承認制にする(Human-in-the-Loop)。–read-onlyモードで運用を開始してから徐々に権限を解放する |
