GitHub

GitHub MCPサーバーとは|できること・toolset・リモート/ローカルのセットアップを解説

GitHub MCPサーバーは、Claude・Copilot・CursorといったAIエージェントに「GitHubを操作するツール」を提供する、GitHub公式のMCP(Model Context Protocol)サーバーです。これを接続すると、AIが自然言語の指示からリポジトリの中身を読んだり、IssueやプルリクエストをAPI経由で作成・更新したり、GitHub Actionsのワークフローを実行したりできるようになります。実体はGo製のオープンソース(github/github-mcp-server)で、GitHubがホストするリモート版と、手元で動かすローカル版(Docker)の2通りで使えます。本記事は、できること(toolset)・リモートとローカルの選び方・セットアップ・権限を絞る設定までを、公式仕様に沿って一次情報ベースで整理します。

まとめ|GitHub MCPサーバーで押さえる要点

GitHub MCPサーバーは、AIエージェントにGitHub操作の権限とツールを与える公式の橋渡し役です。リポジトリ・Issue・プルリクエスト・GitHub Actions・セキュリティアラートなど、GitHub APIでできることのほとんどを、toolset(機能グループ)単位でAIに開放します。使い始めるうえでの判断は次の3点です。

  • 接続方法を選ぶ:まず試すなら、インストール不要でGitHubがホストするリモート版https://api.githubcopilot.com/mcp/、2025年9月4日にGA)。オフラインや企業ネットワークで制御したいならローカル版(Docker)。
  • 認証を用意する:リモート版はOAuthかPersonal Access Token(PAT)、ローカル版はPATを使う。PATのスコープは必要最小限に絞る。
  • 権限を絞る:全ツールを開放せず、--read-onlyGITHUB_TOOLSETSで使うtoolsetだけを有効化するのが安全な既定。

リモート接続の詳しい手順やOAuth/PATの使い分けはGitHub Remote MCP Serverの解説記事で深掘りしています。この記事は全体像とローカル版まで含めた入り口として読んでください。

GitHub MCPサーバーとは|AIにGitHub操作を渡す公式MCPサーバー

まず「MCPサーバーが何をするものか」と「GitHub公式サーバーの実体」を押さえると、以降のtoolsetやセットアップが同じ考え方で理解できます。

MCP(Model Context Protocol)とGitHub MCPサーバーの関係

MCPは、AIモデルと外部ツール・データソースをつなぐための共通規格です。AIエージェント側(ホスト)とツール提供側(サーバー)が同じプロトコルで会話するため、対応クライアントであればどのMCPサーバーでも同じ作法で接続できます。GitHub MCPサーバーはこの規格に沿ったサーバー側の実装で、「create_pull_request」「list_issues」「get_file_contents」といったGitHub操作をツールとしてAIに公開します。AIは自然言語の指示を受け取ると、必要なツールを選んで呼び出し、GitHub APIを介して実際の操作を行います。MCPの基礎そのものは、MCPサーバーを自作するFastMCPの解説記事も合わせて読むと理解が深まります。

公式サーバーの実体(github/github-mcp-server・Go製)

GitHub MCPサーバーは、GitHubが自ら開発・公開している公式リポジトリgithub/github-mcp-serverで提供されます。実装言語はGoで、MITライセンスのオープンソースです。かつてコミュニティが作っていた非公式のGitHub連携サーバーとは異なり、GitHub自身が保守しているため、APIの追従やセキュリティ対応が速いのが特徴です。「official」「公式」で検索した場合の答えは、このgithub/github-mcp-serverと、GitHubがホストするリモートエンドポイントの2つになります。

GitHub MCPサーバーでできること|20のtoolset一覧

GitHub MCPサーバーの機能はtoolset(機能グループ)単位で整理されています。toolsetを有効化すると、その中の個別ツール(API操作)がAIから呼べるようになります。全ツールを一度に開くのではなく、使うtoolsetだけを有効化するのが基本設計です。主なtoolsetは次のとおりです。

toolset 担当領域 代表的な操作
repos リポジトリ・ファイル ファイル取得・ブランチ/コミット・検索
issues Issue 作成・更新・コメント・割り当て
pull_requests プルリクエスト 作成・レビュー・差分取得・マージ
actions GitHub Actions ワークフロー実行・実行状況/ログ取得
code_security Code scanning コードスキャンのアラート参照
secret_protection Secret scanning シークレット検出アラート参照
dependabot Dependabot 依存関係の脆弱性アラート参照
security_advisories アドバイザリ セキュリティアドバイザリ参照
notifications 通知 通知の取得・既読化
discussions Discussions ディスカッション参照・投稿
gists Gist Gistの作成・取得
orgs / projects / users 組織・Projects・ユーザー 組織情報・Projects項目・ユーザー参照
git / labels / stargazers Git・ラベル・スター 低レベルGit・ラベル・スター一覧
copilot / code_quality Copilot・コード品質 Copilot連携・品質チェック
context コンテキスト(既定で有効) ログイン中ユーザー等の状況取得(get_me)

上の表は主要領域をまとめて掲載したもので、個別のtoolsetは全部で20あります(orgs/projects/usersなどは表では1行に集約)。toolsetの名称と数はバージョンで増減するため、最新の一覧は公式リポジトリのREADMEで確認してください。

リポジトリ・Issue・プルリクエストの操作(repos / issues / pull_requests)

中心になるのはこの3つのtoolsetです。reposでリポジトリ内のファイルやブランチを読み書きし、issuesでIssueの起票・整理、pull_requestsでPRの作成・差分レビュー・マージまでを扱えます。たとえば「このIssueの内容でブランチを切り、修正してPRを出して」と指示すると、AIはrepos・issues・pull_requestsのツールを順に呼び出し、一連の作業をGitHub上で完結させられます。人手のコピー&ペーストを介さずにGitHubを操作できる点が、MCPサーバーを挟む最大の価値です。

GitHub Actions・セキュリティ系のtoolset(actions / code_security / dependabot)

「github actions mcp」で探される用途、つまりCI/CDの操作はactions toolsetが担います。ワークフローの起動、実行中ジョブの状態確認、失敗したジョブのログ取得までAIに任せられるため、「失敗したワークフローのログを読んで原因を教えて」といった調査が自然言語で行えます。セキュリティ面ではcode_security(Code scanning)・secret_protection(Secret scanning)・dependabot(依存脆弱性)のアラートを参照でき、AIに検出結果の要約や優先度付けをさせる使い方ができます。これらは参照系が中心で、書き込みを伴う操作は後述の権限設定で制御します。

リモート版とローカル版の違いと選び方

GitHub MCPサーバーには、GitHubがホストするリモート版と、自分の環境で動かすローカル版があります。リモート版は2025年9月4日に一般提供(GA)となり、対応クライアントならインストールなしでURLを登録するだけで使えます。両者の違いを整理します。

観点 リモート版 ローカル版
実行場所 GitHubがホスト 自分のマシン/サーバー
導入 URL登録のみ(インストール不要) Docker/バイナリを用意
エンドポイント api.githubcopilot.com/mcp/ stdio(標準入出力)
認証 OAuth または PAT PAT(環境変数)
提供状況 2025年9月4日 GA 安定版(OSS)
向くケース すぐ試す・保守を任せたい ネットワーク制御・自前運用

リモート版(ホスト型・OAuth/PAT)

リモート版は、クライアントにhttps://api.githubcopilot.com/mcp/を登録するだけで接続でき、サーバーの更新もGitHub側で行われます。認証はブラウザで認可して接続するOAuth(PATのように長期のトークンを手元へ保管しなくてよい)か、PATをBearerヘッダーで渡す方式です。OAuthはVS CodeやCursorなど多くのクライアントで使えますが、クライアントによってはリモート接続でPATのみ対応の場合があります(GA時点のClaude CodeはPAT接続)。リモート版の細かな接続手順・OAuthとPATの使い分けはGitHub Remote MCP Serverの解説にまとめています。

ローカル版(Docker/バイナリ・PAT)

ローカル版はDockerイメージghcr.io/github/github-mcp-serverを使うのが最も手軽です。Goで書かれているため、ソースからgo buildしてバイナリをstdioで起動する方法もあります。認証は環境変数GITHUB_PERSONAL_ACCESS_TOKENにPATを渡します。通信が自分のマシン内で完結するため、外部にトラフィックを出したくない企業ネットワークや、toolsetを細かく固定したい運用に向きます。

セットアップ手順(リモート/ローカル)

代表的なクライアントでの登録例を示します。設定ファイルのキー名はクライアントごとに異なりますが、考え方は「リモートはURL、ローカルはDockerコマンド+PAT」で共通です。

VS Code・Cursorでリモート版を登録する

VS Code(1.101以降)やCursorでは、MCP設定にHTTP型のサーバーとしてリモートURLを追加します。VS Codeなら.vscode/mcp.jsonに次のように書きます。

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

初回接続時にOAuthのログイン画面が開き、認可するとツールが使えるようになります。PATで接続する場合は、クライアントの案内に従ってAuthorizationヘッダーにトークンを設定します。

Dockerでローカル版を起動する

ローカル版は、PATを環境変数で渡してDockerイメージを起動します。クライアントのMCP設定に次のようなコマンドを登録します。

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your_pat> \
  ghcr.io/github/github-mcp-server

PATはGitHubの設定画面(Settings → Developer settings → Personal access tokens)で発行します。fine-grained PATなら、対象リポジトリと必要な権限だけを選んで最小スコープにできます。PATの発行手順やOAuthとの使い分けはGitHub Remote MCP Serverの解説で詳しく扱っています。起動後、クライアント側でGitHub関連のツールが認識されれば接続完了です。

権限とセキュリティを絞る設定(read-only・toolset制限)

GitHub MCPサーバーは、接続したAIにGitHubの書き込み権限まで渡しうるため、全ツールを無条件に開放しないことが安全運用の核心です。公式サーバーには、開放範囲を絞るための仕組みが用意されています。競合記事では触れられにくい、実務で効く3つの制御を挙げます。

読み取り専用にする(–read-only)

フラグ--read-onlyを付けると、書き込み系ツール(Issue作成やPRマージなど)が無効化され、参照系だけが有効になります。コードレビューや調査など「読むだけ」の用途では、まずこれを付けて事故を防ぐのが定石です。ローカル版のバイナリなら次のように起動します。

github-mcp-server stdio --read-only --toolsets repos,issues,pull_requests

使うtoolsetだけ有効化する(–toolsets / GITHUB_TOOLSETS)

有効化するtoolsetは、コマンドラインの--toolsetsか、環境変数GITHUB_TOOLSETSで指定します。Dockerならこう書きます。

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your_pat> \
  -e GITHUB_TOOLSETS=repos,issues,pull_requests \
  ghcr.io/github/github-mcp-server

toolsetより細かく、個別ツール単位で絞りたいときは--tools(環境変数GITHUB_TOOLS)で許可するツールを列挙できます。また、どのtoolsetが必要か事前に決めにくい場合は、動的にtoolsetを読み込む--dynamic-toolsetsもあります。ただしAIが必要に応じて機能を有効化していく挙動になるため、権限を厳密に固定したい本番運用では、使うtoolset・ツールを明示列挙する方が安全です。

PATのスコープを最小化する

最終的な権限の上限を決めるのはPATのスコープです。toolsetを絞っても、PATに広い権限があれば渡しうる操作は残ります。fine-grained PATで対象リポジトリと必要な権限だけを選び、参照中心の用途ならContents/Issuesを読み取りに限定する、といった最小化を行います。MCPサーバー経由でAIにツールを渡す際のリスク設計は、Playwright MCPのセキュリティ解説の考え方も参考になります。複数のMCPサーバーをまとめて安全に管理したい場合は、Docker MCP Gatewayのようなゲートウェイの利用も選択肢です。

主要クライアントと実際の使い方

GitHub MCPサーバーは、MCPに対応するAIクライアントであれば共通の作法で使えます。GA時点で、VS Code(Copilotエージェントモード)・Cursor・Claude Desktop/Claude Code・JetBrains系IDE・Windsurf・Zed・GitHub Copilot CLIなど幅広いクライアントが接続できます。

Copilot(VS Codeエージェントモード)との連携

VS CodeのCopilotエージェントモードにGitHub MCPサーバーを登録すると、Copilotがチャットからリポジトリ操作・PR作成・Actionsの確認までツールとして呼び出せます。「github copilot mcp server」で探される構成がこれで、Copilotの補完に加えてGitHub操作そのものをAIに任せられるのが違いです。

代表的なユースケース(PRレビュー・Issue整理)

実務で効果が出やすいのは、プルリクエストのレビュー支援Issueの整理です。PRレビューでは「このPRの差分を要約して、懸念点を指摘して」と指示すれば、pull_requestsツールで差分を取得してレビュー観点を返します。Issue整理では、未対応Issueの一覧取得・ラベル付け・重複の指摘などをまとめて任せられます。いずれも書き込みを伴う操作は--read-onlyを外した状態で、権限を絞ったうえで実行するのが安全です。

よくある質問

GitHub MCPサーバーとは何ですか?

AIエージェントにGitHub操作のツールを提供する、GitHub公式のMCP(Model Context Protocol)サーバーです。接続すると、AIがリポジトリの参照・Issue/PRの作成・GitHub Actionsの実行などをGitHub API経由で行えるようになります。

GitHub MCPサーバーは公式ですか?

公式です。GitHub自身がリポジトリgithub/github-mcp-server(Go製・OSS)を保守し、GitHubがホストするリモート版も提供しています。非公式のコミュニティ実装とは別物です。

リモート版とローカル版はどちらを使うべきですか?

すぐ試したい・保守を任せたいならリモート版(URL登録のみ、2025年9月4日GA)。外部にトラフィックを出したくない、toolsetを自前で固定したいならローカル版(Docker)です。まずはリモート版で試すのが手軽です。

GitHub Actionsの操作はできますか?

できます。actions toolsetを有効化すると、ワークフローの実行・実行状況の確認・失敗ジョブのログ取得などをAIから行えます。「失敗したワークフローの原因を調べて」といった調査に使えます。

利用に料金はかかりますか?

サーバー自体はMITライセンスのオープンソースで、リモート版もGitHubアカウントがあれば利用できます。ただしGitHub APIのレート制限は適用され、Copilot Coding AgentなどCopilotを前提とする機能はCopilotの有料プランが必要です。最新の条件は公式で確認してください。

関連記事

資料請求

RELATED POSTS 関連記事