GitHub 公式 MCP と GitLab MCP|Issue/PR操作をエージェントに任せる境界
目次 クリックで開く
AI エージェントが開発者のローカル環境やクラウド上のリポジトリと直接対話する「Model Context Protocol (MCP)」の普及により、GitHub や GitLab での操作が劇的に変化しています。これまではブラウザを開いて手動で行っていた Issue の作成やプルリクエスト(PR)の要約、コード検索を、Claude などの AI エージェントに直接指示できる時代になりました。
しかし、実務において最も重要なのは「どこまでを AI に任せ、どこからを人間が管理するか」という境界線の設計です。特に GitHub 公式が提供する MCP サーバーと、GitLab 向けに開発されている MCP 実装では、対応しているアクションやセキュリティ仕様に細かな違いがあります。
本記事では、GitHub 公式 MCP と GitLab MCP の仕様を公式ドキュメントおよび信頼できるリポジトリの情報に基づき徹底比較し、安全に Issue・PR 操作を自動化するためのガイドラインを詳説します。
MCPでつなぐときに、どこで事故るのかを動画で解説しています↓↓
GitHub 公式 MCP と GitLab MCP の基本概念
Model Context Protocol (MCP) とは何か
Model Context Protocol (MCP) は、Anthropic 社が提唱した、AI モデルが外部データソースやツールと安全に接続するためのオープンスタンダードです。これにより、AI エージェントはブラウザを介さずとも、API 経由でリポジトリを読み取り、書き込みを行うことが可能になります。
GitHub 公式 MCP サーバーの概要とリポジトリ
GitHub は、MCP サーバーのレファレンス実装を公式に公開しています。このサーバーを利用することで、AI エージェントは GitHub API を呼び出し、以下のようなアクションを実行できるようになります。
- リポジトリ内のファイル検索およびコード閲覧
- Issue のリスト取得、作成、コメント追加
- プルリクエストの作成、レビュー、ステータス確認
GitHub 公式 MCP サーバーは現在、github/github-mcp-server リポジトリで公開・メンテナンスされています(かつて modelcontextprotocol/servers に含まれていた実装はアーカイブ扱いです)。ローカルで動かす Docker イメージに加え、GitHub がホストするリモート版(https://api.githubcopilot.com/mcp/)も提供され、ワンクリックの OAuth と従来のパーソナルアクセストークン(PAT)の両方で認証できます。
GitLab における MCP 実装の現状と選択肢
GitLab においても MCP への対応が進んでおり、現在は AI 統合機能「GitLab Duo」の一部として公式の GitLab MCP サーバーが提供されています(利用には Premium / Ultimate プランと GitLab Duo の有効化が必要です。詳細は後述します)。公式サーバーは Issue・マージリクエスト・パイプライン・検索といった基本操作が中心のため、より広範なツールを使いたい場合や、Free を含む全プランで Duo を必要とせずに動かしたい場合は、GitLab の REST / GraphQL API をラップしたコミュニティ実装(Community / Open Source 版)が引き続き選択肢になります。用途に応じて公式版とコミュニティ版を使い分けるのが実務的です。
GitHub 公式 MCP で実現する Issue・PR 操作の自動化
読み取り操作:リポジトリ情報の検索と解析
GitHub 公式 MCP を導入した AI エージェントが最も得意とするのが、膨大な Issue やコードベースからの情報抽出です。たとえば、「先週報告されたバグの中で、まだ誰もアサインされていない Issue をリストアップして」というプロンプトに対し、エージェントは自動的に list_issues ツールを呼び出し、フィルタリング結果を提示します。
この段階では読み取り専用(Read-only)の権限で十分であり、セキュリティ上のリスクは極めて低いと言えます。社内のナレッジベースとして GitHub を活用している場合、過去の PR の経緯を AI に解析させることで、重複した議論を防ぐことが可能です。
書き込み操作:Issue 作成、コメント投稿、PR 作成の境界線
実務上の大きな転換点は、AI に書き込み(Write)権限を与えるかどうかです。GitHub 公式 MCP では以下の書き込みアクションがサポートされています。
create_issue: タイトル、本文、ラベルを指定して Issue を起票add_issue_comment: 既存の Issue や PR にコメントを投稿create_pull_request: 指定したブランチ間で PR を作成
ここで重要なのは、AI が勝手にコードを修正してマージするのではなく、「人間が確認するための土台を作る」という境界線です。たとえば、AI がコードのバグを発見した際に「修正案とともに Issue を作成させる」までの自動化は非常に有効です。
開発プロセスの自動化においては、リポジトリ管理だけでなく、バックオフィス側の連携も重要になります。例えば、開発に伴う経費精算が必要な場合、バクラクと freee 支出管理の使い分けのように、業務の目的に応じた適切なツール選定と権限分離が求められるのと同様、GitHub MCP においても「誰の権限で Issue を立てるか」を明確にすべきです。
GitLab に公式 MCP サーバーはあるのか(GitHub 公式との違い)
「GitLab MCP に公式はあるのか」という点は、導入を検討するうえで最初に確認したいところです。結論として、GitLab は公式の MCP サーバーを提供しています。これは AI 統合機能「GitLab Duo」の一部として GitLab 本体に組み込まれており、GitLab 公式ドキュメントに記載されています。かつてはコミュニティ実装(OSS 版)が中心でしたが、現在は公式サーバーとコミュニティ実装の両方が選択肢として存在します。
GitLab 公式 MCP サーバーの提供状況
GitLab 公式 MCP サーバーは、GitLab 18.3 で試験的機能(Experiment)として導入され、GitLab 18.6 でベータ(Beta)に移行しました。GitLab 18.7 では新しい MCP プロトコル仕様への対応が追加されています(本記事執筆時点の公式ドキュメントに基づく)。利用には Premium または Ultimate プランと、GitLab Duo の有効化が必要で、Free プランでは利用できません。Claude Desktop・Claude Code・Cursor など、MCP に対応した AI ツールから接続できます。
認証方式とできること
GitLab 公式 MCP サーバーの認証は、OAuth 2.0 の Dynamic Client Registrationに対応しています。AI ツールが初回接続時に自身を OAuth アプリケーションとして自動登録し、利用者が認可した範囲でアクセストークンを受け取る仕組みです。できることは、Issue・マージリクエスト(MR)・パイプライン・検索といった基本操作が中心です。一方で、Wiki 管理やリリース・マイルストーン管理、より広範なリポジトリ操作までカバーしたい場合は、80〜100 種類以上のツールを備えたコミュニティ実装が引き続き選択肢になります。コミュニティ版は GitLab Duo を必要とせず、Free を含む全プランで動作する点が公式版との違いです。
GitHub 公式 MCP との違い
GitHub 側の公式実装は github/github-mcp-server リポジトリで公開されています。ローカルで動かす Docker イメージ(ghcr.io/github/github-mcp-server)に加え、GitHub がホストするリモート MCP サーバー(https://api.githubcopilot.com/mcp/)が提供されており、ワンクリックの OAuth(OAuth 2.1 + PKCE)で認証できるのが特徴です。従来型のパーソナルアクセストークン(PAT)にも対応します。両者を比較すると、GitHub は「クラウドでホストされたリモートサーバー+ワンクリック OAuth」を前面に出しているのに対し、GitLab 公式サーバーは「Duo 前提・Premium 以上・OAuth 自動登録」という位置づけになります。認証の手軽さやプラン要件が選定のポイントです。
GitLab MCP によるセルフホスト環境の統合
GitLab MCP (Open Source Implementation) の特徴
GitLab を利用している企業の多くは、セキュリティ上の理由から Self-managed(オンプレミス)版を利用しています。GitLab MCP サーバーは、これらの環境とも接続可能です。GitHub 公式 MCP と比較して、GitLab 版は「プロジェクト ID」による管理が厳格であり、特定のプロジェクトに閉じたエージェント運用がしやすい傾向にあります。
CI/CD パイプラインとの連携可能性
GitLab MCP の強みは、GitLab の強力な CI/CD パイプラインとの親和性です。AI エージェントに「最新のパイプラインが失敗した原因を特定して Issue にまとめて」と依頼することで、ジョブログを解析し、修正案を提示させるフローが構築可能です。これは、単なるコード補完を超えた、DevOps 全体の自動化に寄与します。
【比較表】GitHub 公式 MCP vs GitLab MCP 機能・仕様対照
主要な 2 つの MCP サーバーの実装範囲と特性を比較します。※GitHub は公式レファレンス実装、GitLab は代表的なコミュニティ実装(mcp-server-gitlab 等)を基準としています。
| 機能・項目 | GitHub 公式 MCP | GitLab MCP (Community) |
|---|---|---|
| 提供元 | GitHub (Official) | Community / Open Source |
| 認証方式 | Personal Access Token (Fine-grained 可) | Personal Access Token / Project Token |
| Issue 操作 | 作成、編集、コメント、リスト取得 | 作成、コメント、クローズ、検索 |
| PR / MR 操作 | 作成、レビュー、マージ状況確認 | Merge Request 作成、レビューコメント |
| コード検索 | GitHub Search API 連携(強力) | プロジェクト内ファイル検索に限定 |
| セルフホスト対応 | GitHub Enterprise Server 対応 | GitLab Self-managed 対応 |
導入・設定ステップバイステップ
共通準備:Claude Desktop のセットアップ
MCP を利用する最も一般的な方法は、Claude Desktop の設定ファイル(claude_desktop_config.json)にサーバー情報を記述することです。
GitHub 公式 MCP の構成手順
- GitHub PAT の作成: GitHub 設定から、
repo,workflow,user権限(必要最小限を推奨)を持つトークンを発行します。 - 設定ファイルの編集: Claude Desktop の設定ファイルに以下を追加します。
"mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "あなたのトークン" } } } - 再起動: Claude Desktop を再起動し、右下のハンマーアイコンから GitHub のツールが読み込まれているか確認します。
GitLab MCP の構成とトークン設定
- GitLab アクセストークンの作成:
apiスコープを持つパーソナルアクセストークンを作成します。 - 設定ファイルの記述: コミュニティ版サーバー(例:
mcp-server-gitlab)を使用する場合の設定例です。"mcpServers": { "gitlab": { "command": "npx", "args": ["-y", "mcp-server-gitlab"], "env": { "GITLAB_URL": "https://gitlab.example.com", "GITLAB_TOKEN": "あなたのトークン" } } }
よくあるエラーとその対処法
- 404 Not Found: トークンにリポジトリへのアクセス権限がない、あるいはリポジトリ URL が間違っています。GitHub Enterprise や GitLab セルフホストの場合は、
GITHUB_API_URLやGITLAB_URLの環境変数が正しく設定されているか確認してください。 - 401 Unauthorized: トークンの有効期限切れです。特に Fine-grained PAT を使用している場合は期限が短いため注意が必要です。
エージェントに任せる「境界」の設計
技術的に「できること」と、組織として「許容すること」には差があります。AI エージェントを開発ワークフローに組み込む際は、以下の 3 つの観点で境界を設計してください。
セキュリティ境界:書き込み権限をどこまで許可するか
理想的な運用は、「AI には Issue の起票までを許し、マージ権限は与えない」という構成です。万が一 AI が誤った修正 PR を作成しても、人間のレビューを必須とすることで、コードベースの品質を担保できます。これは、SaaS アカウント管理の自動化において、最終的な削除実行を人間が確認するステップを設けるべき理由と同じリスク管理の考え方に基づきます。
運用境界:人間によるレビュー(Human-in-the-loop)の組み込み
AI が作成した PR には必ず特定のラベル(例: ai-generated)を自動付与するように設定し、CI ツール側で「このラベルがある場合はシニアエンジニアの承認を必須とする」といったガードレールを設けることが推奨されます。
機密情報の取り扱いと MCP ログの監視
MCP サーバーを経由して AI モデルに送信されるコンテキストには、コード内の機密情報が含まれる可能性があります。公式の Enterprise プランを利用し、データの学習利用をオプトアウト設定にすることは実務上の必須要件です。また、ローカルで動作する MCP サーバーのログを監視し、予期しないファイルへのアクセスが発生していないかを定期的に監査することも重要です。こうしたインフラ側の負債化を防ぐ視点は、SaaS コストとオンプレ負債を断つ戦略においても共通する、持続可能なシステム運用の要諦です。
まとめ:AI エージェントによる開発フローの最適化
GitHub 公式 MCP と GitLab MCP の導入により、リポジトリ操作の自動化は「スクリプトを書く」段階から「エージェントと対話する」段階へ進化しました。Issue の整理や初動のコード解析を AI に任せることで、エンジニアは本質的な設計や複雑なバグ修正に集中できるようになります。
一方で、書き込み権限の付与には慎重な設計が求められます。まずは読み取り専用権限から開始し、徐々にコメント投稿、Issue 作成へと範囲を広げていくのが、安全な導入の王道です。公式ドキュメント(GitHub Docs や MCP 公式リポジトリ)を常に参照し、最新のセキュリティアップデートを追跡しながら、自社に最適な「AI との協業境界」を定義していきましょう。
実務における「運用の落とし穴」と回避策
MCPを通じたエージェント運用を本格化させる際、技術的な疎通の次に直面するのが、プラットフォーム固有の制約です。特に大規模なリポジトリや頻繁な Issue 操作を行う場合は、以下のポイントを事前にチェックしておく必要があります。
1. APIレートリミット(回数制限)の壁
GitHub公式MCPサーバーは、背後でGitHub REST/GraphQL APIを使用しています。エージェントに「全リポジトリから特定のコードパターンを探してIssueを立てて」といった広範囲な指示を出すと、短時間に大量のAPIコールが発生し、レートリミットに達する可能性があります。特に、個人用トークン(PAT)を使用している場合、組織全体のレート制限とは別に個人枠の制限を受けるため、バックグラウンドで動作するエージェントが意図せず開発者のAPI枠を使い切ってしまうリスクに注意してください。
2. 意図しない「通知ノイズ」の発生
AIエージェントにコメント投稿やラベル付与を自動化させると、リポジトリを購読している全メンバーに大量の通知が飛ぶことになります。実務上は、AI操作専用の「Botアカウント」を作成し、そのアクションを通知から除外する、あるいは特定のラベルが付与された時のみ通知するといった、開発者体験(DX)を損なわない設計が求められます。これは、コミュニケーションツールの通知オーバーロードを防ぐSaaS設計の考え方と共通する重要項目です。
GitHub / GitLab 連携の依存関係チェックリスト
導入環境のセキュリティ要件に合わせて、以下の設定項目が適切か最終確認を行ってください。
| 確認項目 | GitHub (SaaS/Enterprise) | GitLab (Managed/Self) |
|---|---|---|
| 認証スコープ | Fine-grained PAT で Repo 単位に限定 | Project Access Token でスコープ最小化 |
| ネットワーク | 不要(Public API 経由) | オンプレ時は VPN / Proxy 経由の確認要 |
| 監査ログ | Audit Log で PAT の利用履歴を確認 | System Logs で API アクセス元を監視 |
公式リファレンスと技術仕様の一次情報
MCPサーバーの実装やAPIの挙動に疑問が生じた際は、以下の公式ドキュメントを直接参照してください。サードパーティの記事のみに頼らず、最新の仕様を確認することが「嘘のない」システム構築の第一歩です。
- GitHub MCP Server(公式リポジトリ github/github-mcp-server)
- GitHub API Rate Limiting Documentation
- GitLab Project Access Tokens Guide
開発環境へのAI統合は、単なるツールの追加ではなく、組織全体の「データの流れ」を再定義する行為です。まずはSFA・CRM・MAを含めたデータ連携の全体設計を俯瞰するのと同様に、どのリポジトリの、どの情報をエージェントに触らせるべきか、権限の棚卸しから着手することをお勧めします。また、増え続けるツール群の管理については、SaaSコストとオンプレ負債を断つ戦略を参考に、持続可能なガバナンス体制を構築してください。
Issue/PR の操作をエージェントに任せる範囲は、リポジトリ権限・ブランチ保護・操作ログの設計とセットで決めるのが安全です。GitHub/GitLab の MCP を使ったチーム開発の自動化や権限設計、PoCの進め方は Claude Code 導入支援 でもご相談いただけます。
Issue や PR をエージェントに任せる発想は、開発まわりの他ツールにもそのまま効きます。Claude や Cursor から各ツールへ繋ぐ設定ファイルの作り方は Cursor の .cursor/mcp.json でツールを安全に繋ぐ設定、レビュー依頼やデプロイ通知をチームに流す部分は Discord を MCP で社内通知・コミュニティ運用につなぐ設計 にまとめています。コード・通知・チャットを同じ権限設計で束ねると、開発チームの定型作業が目に見えて減ります。
業務システム・DX全般のご相談
業務の課題整理からツール選定、システム導入・連携・運用までを幅広く支援します。何から手をつけるべきか迷う段階でも、貴社の状況に合わせて最適な進め方をご提案します。
AI・業務自動化
ChatGPT・Claude APIを活用したAIエージェント開発、n8n・Difyによるワークフロー自動化で繰り返し業務を削減します。まずはどの業務をAI化できるか診断します。