---
title: "GitHub Remote MCP Serverとは？ローカル版との違い・接続手順・OAuth/PAT認証を解説【2026年10月】"
url: "https://www.issoh.co.jp/tech/details/7271/"
published: 2025-06-17
updated: 2026-10-19
categories: ["AIエージェント・MCP"]
publisher: "株式会社一創"
---

# GitHub Remote MCP Serverとは？ローカル版との違い・接続手順・OAuth/PAT認証を解説【2026年10月】

GitHub Remote MCP Serverは、GitHubが自社でホストしている**GitHub MCPサーバーのリモート版**です。接続先は `https://api.githubcopilot.com/mcp/` の1つで、AIエージェントはここを通じてリポジトリの参照、Issue・Pull Requestの作成、GitHub Actionsの確認などを「ツール」として呼び出します。Dockerもバイナリも要りません。ただし、どのクライアントでもOAuthのワンクリックでつながるわけではなく、Claude DesktopやCursor、Claude CodeではPATをヘッダで渡すのが公式の手順です。この記事では、ローカル版との違い、クライアント別の接続設定、OAuthとPATの使い分け、そして2026年10月19日に実際に `tools/list` を送って数えたツール数をもとに、ツールセットと読み取り専用の設定を解説します。

## まとめ：GitHub Remote MCP Serverの要点

- **正体**：オープンソースの `github/github-mcp-server` をGitHubが自社基盤に組み込んで運用するMCPサーバー。2025年6月12日にパブリックプレビュー、2025年9月4日に一般提供（GA）。
- **URL**：`https://api.githubcopilot.com/mcp/`。読み取り専用は末尾に `readonly`、全ツールは `x/all`、単一ツールセットは `x/{toolset}`。
- **ツール数（実測）**：既定46個（うち読み取り28個）、`/readonly` は28個、`/x/all` は95個。全部を渡さず絞るのが前提。
- **認証**：VS Codeなど Copilot 対応IDEはOAuth。Claude Code・Codex・Cursor・Claude DesktopはPATを `Authorization: Bearer` ヘッダで渡す。
- **ローカル版との違い**：設置・更新が不要で、Copilot Spacesなどリモート専用のツールセットがある。GitHub Enterprise Serverではリモート版を使えないためローカル版を選ぶ。
- **料金**：プランを問わず全GitHubユーザーが使える。Copilot cloud agentなど有料機能に対応するツールだけは同じライセンスが必要。

## GitHub Remote MCP Serverの仕組み（GitHubホスト型MCPサーバー）

MCP（Model Context Protocol）は、AIアプリケーションと外部ツールをつなぐためのオープンな仕様です（仕様の全体像は[MCP（Model Context Protocol）とは？AIと外部ツールをつなぐ標準規格の仕組みをわかりやすく解説](/tech/details/5736/)で扱っています）。GitHub MCPサーバーは、このMCPの「サーバー側」としてGitHubの操作一式をツールとして公開します。

リモート版は、ローカル版と同じ公開リポジトリのコードを土台にしています。公式の[リモートサーバーのドキュメント](https://github.com/github/github-mcp-server/blob/main/docs/remote-server.md)は、リモート版を「このリポジトリをライブラリとして使い、内部リポジトリでGitHubのサーバー基盤に組み込んだもの」と説明し、最新のコードを定期的に取り込むとしています。そのため、公開リポジトリの最新リリースとリモート版の挙動が一致しない時期がありえます。機能面の差は、リモート版にしかないツールセット（`copilot_spaces` と `github_support_docs_search`）です。

リポジトリ側は2026年10月6日にv2.0.0を出し、10月8日のv2.0.2が最新です（[リリース一覧](https://github.com/github/github-mcp-server/releases)）。v2.0.0ではツールの構造化出力と出力スキーマに対応しましたが、このスキーマはMCP仕様 2026-07-28 以降への対応を申告したクライアントにだけ返します。古いクライアントで挙動が変わるわけではありません。仕様側の変更点は[MCP仕様2026-07-28版とは：ステートレス化の変更点と2025-11-25版からの移行手順](/tech/details/18245/)にまとめています。GitHub MCPサーバー全般（ツールセットの全体像やローカル版の導入）は[GitHub MCPサーバーとは｜できること・toolset・リモート/ローカルのセットアップを解説](/tech/details/6209/)が受け持ち、本記事はリモート版に固有の論点に絞ります。

## ローカルMCPとリモートMCPの違い

一般に「ローカルMCP」は、クライアントが自分のマシンでサーバーを子プロセスとして起動し、標準入出力（stdio）でやり取りする形です。「リモートMCP」は、ネットワーク上のサーバーにHTTP（Streamable HTTP）で接続する形で、URLを登録するだけで使えます。通信方式の詳細は[Streamable HTTPとは？MCPのトランスポートとSSEの違い、2026-07-28仕様の変更点](/tech/details/6580/)を参照してください。GitHub MCPサーバーの場合、両者の違いは次のとおりです。

| 観点                       | ローカル版                  | リモート版                |
| ------------------------ | ---------------------- | -------------------- |
| 動く場所                     | 自分のマシン（Docker・バイナリ）    | GitHubのクラウド          |
| 通信                       | stdio（httpモードも可）       | Streamable HTTP      |
| 認証                       | OAuthログイン（stdio）またはPAT | OAuth（対応ホストのみ）またはPAT |
| 更新                       | イメージ・バイナリを自分で更新        | GitHubが随時反映          |
| GitHub Enterprise Server | 使える                    | 使えない                 |
| リモート専用ツールセット             | なし                     | copilot\_spaces 等2種  |

以前は「ローカル版はPATの発行が必須」が定番の説明でしたが、2026年6月以降の公式手順ではローカル版（stdio）もOAuthログインが標準です。公式イメージにGitHubのOAuthアプリの情報が組み込まれており、初回にブラウザでログインするとトークンはメモリ上だけに保持されます（[Local Server OAuth Login](https://github.com/github/github-mcp-server/blob/main/docs/oauth-login.md)）。手間の差は「認証」よりも「Dockerやバイナリを置いて更新し続けるかどうか」に移っています。

### ローカル版を選ぶべき場面

迷ったらリモート版で始め、次のどれかに当たるときだけローカル版にします。**GitHub Enterprise Server**はリモート版のホスティング対象外なのでローカル版一択です（データレジデンシー付きのGitHub Enterprise Cloudは `https://copilot-api.<サブドメイン>.ghe.com/mcp` でリモート版を使えます）。社内のプロキシで `api.githubcopilot.com` への通信が許可されない環境、ツールの説明文や名前を差し替えたい場合もローカル版です。なお、ローカル版もGitHubのAPIを呼ぶので、オフライン環境で使えるわけではありません。

## リモートサーバーのURLとクライアント別の接続手順

URLは `https://api.githubcopilot.com/mcp/` です。認証なしでアクセスするとHTTP 401が返り、`WWW-Authenticate` ヘッダで認可サーバーの情報（`resource_metadata`）が案内されます。ブラウザで開いてもエラーになるのは正常です。

### VS CodeのOAuth接続設定

VS Code 1.101以降なら、リモートMCPとOAuthの両方に対応しています。公式READMEのワンクリックボタンか、拡張機能ビューのMCPレジストリから追加し、Copilot Chatをエージェントモードに切り替えるとサーバーが起動します。手で書く場合の `mcp.json` は次のとおりです。

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

Visual Studio・JetBrains IDE・Xcode・Eclipseも、[GitHub Docsのセットアップ手順](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/set-up-the-github-mcp-server)ではOAuthのワンクリックが既定で、PATも手動で設定できます。Enterprise Managed Userの場合、PATは管理者が有効にしない限り使えません。

### Claude CodeのPAT認証設定

Claude Code向けの[公式インストールガイド](https://github.com/github/github-mcp-server/blob/main/docs/installation-guides/install-claude.md)はPATをヘッダで渡す形です。Claude Code 2.1.1以降は `add-json` を使います。次の例はmacOS・Linuxのbashまたはzsh向けで、ターミナル（Claude Codeの中ではなく）で実行します。Windows PowerShellでは環境変数の設定とJSON文字列の引用方法が異なるため、公式ガイドのPowerShell例を使ってください。

```
export GITHUB_PAT="ghp_xxxxxxxx"
claude mcp add-json github '{"type":"http","url":"https://api.githubcopilot.com/mcp","headers":{"Authorization":"Bearer '"$GITHUB_PAT"'"}}'
claude mcp list
```

この書き方はPATの値そのものが設定に保存されます。`--scope project` で `.mcp.json` に書く場合は、リポジトリにトークンを含めないよう注意してください。公式ガイドも `.env` と `.mcp.json` を `.gitignore` に入れる手順を載せています。Windowsで `add-json` が `Invalid input` を返すときは、旧形式の `claude mcp add --transport http github https://api.githubcopilot.com/mcp -H "Authorization: Bearer ..."` を使います。

### CodexとCursorの設定

OpenAIのCodexは `~/.codex/config.toml` に、トークンを入れた環境変数の名前を書きます。公式ガイドは、ホスト型サーバーにPATで接続するには `bearer_token_env_var` が必須としています。

```
[mcp_servers.github]
url = "https://api.githubcopilot.com/mcp/"
bearer_token_env_var = "GITHUB_PAT_TOKEN"
```

Codexを起動するプロセスに、実際のPATを値とする環境変数 `GITHUB_PAT_TOKEN` を渡してください。設定ファイルに環境変数名を書くだけではトークンは設定されません。CLIでは同じシェルで環境変数を設定してからCodexを起動します。

Cursor（v0.48.0以降）は `mcp.json` の `headers` にPATを書きます。GitHubは2025年9月のGA発表でCursorもOAuth対応と告知しましたが、2026年6月に更新された[Cursor向けの公式ガイド](https://github.com/github/github-mcp-server/blob/main/docs/installation-guides/install-cursor.md)は「GitHubのサーバーは現状PATが必要」と書いています。確実に動くのはPATです。

```
{
  "mcpServers": {
    "github": {
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer YOUR_GITHUB_PAT"
      }
    }
  }
}
```

### Claude Desktopのmcp-remote経由のPAT認証設定

Claude Desktopの「カスタムコネクタ」からリモート版を追加する方法は、公式ガイドが非対応と明記しています。GitHubのリモートサーバーはOAuthに登録済みのGitHub App（またはOAuth App）を必要とし、Claude Desktopのコネクタ側はそれを用意していないためです。公式ガイドが勧めるのはローカル版（Docker）ですが、リモート版を使いたい場合は、stdioとHTTPを中継するNode.js製のプロキシ `mcp-remote` にPATを渡す方法があります。

```
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@0.15.1",
        "https://api.githubcopilot.com/mcp/readonly",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer YOUR_GITHUB_PAT"
      }
    }
  }
}
```

`Authorization:${AUTH_HEADER}` のようにコロンの前後に空白を入れないのは、[mcp-remoteのREADME](https://www.npmjs.com/package/mcp-remote)によると、Cursor・Codex CLI・Windows版Claude Desktopは `args` 内の空白をうまく扱えないためです。2026年10月19日に、この構成（mcp-remote 0.15.1・Node.js v26.5.0）をstdioで起動して `initialize` と `tools/list` を送ったところ、`github-mcp-server` から28個の読み取り専用ツールが返りました。旧来の解説にある「mcp-remoteを挟めば初回にブラウザでOAuth認証される」は、GitHubには当てはまりません。理由は次の章で説明します。Claude Desktop自体の設定ファイルの場所やMCP連携の全体は[Claude Desktopとは？できること・料金・インストール・MCP連携を解説【2026年】](/tech/details/7910/)で確認できます。

## OAuthとPATの使い分け

OAuthを使えるクライアントならOAuthを選びます。GA時の[GitHub Changelog](https://github.blog/changelog/2025-09-04-remote-github-mcp-server-is-now-generally-available/)は、OAuth 2.1＋PKCEについて、トークンが短命で自動更新されるためPATより安全だと説明しています。PATを使うのは、OAuthに対応していないクライアントと、CIなどブラウザでの承認を挟めない自動化です。トークンの種類で、ツール一覧の見え方も変わります。

| 認証方式                            | ツール一覧の見え方      | 権限が足りないとき         |
| ------------------------------- | -------------- | ----------------- |
| OAuth（リモート版）                    | 全ツールが見える       | その場で追加スコープの承認を求める |
| classic PAT（ghp\_）              | スコープ不足のツールは非表示 | そもそも呼べない          |
| fine-grained PAT（github\_pat\_） | 全ツールが見える       | API呼び出し時にエラー      |
| GitHub Appトークン（ghs\_）           | 全ツールが見える       | アプリの権限でエラー        |

classic PATで「必要なツールが出てこない」ときは、まずスコープ不足を疑います。サーバーは起動時に `X-OAuth-Scopes` ヘッダでトークンのスコープを調べ、足りないツールを隠すためです（[PAT Scope Filtering](https://github.com/github/github-mcp-server/blob/main/docs/scope-filtering.md)）。ただし `get_file_contents` のように公開リポジトリで使える読み取りツールは、スコープが無くても表示されます。公式のガバナンス文書は、classic PATよりfine-grained PATを推奨しています。

### OAuthでつながらないクライアントがある理由

MCP仕様2026-07-28は、クライアントIDの取得手段としてCIMD、事前登録、動的クライアント登録（DCR）を定めています。CIMDの対応を推奨し、DCRは後方互換性のために残す非推奨の方式です。2026年10月19日に確認したところ、リモートサーバーが案内する認可サーバーは `https://github.com/login/oauth` で、そのメタデータにはDCR用のエンドポイント（`registration_endpoint`）も、CIMDに対応する旨の項目（`client_id_metadata_document_supported`）もありませんでした。残る方式は事前登録だけなので、GitHubに登録済みのアプリを持たないクライアントはOAuthを始められません。公式READMEも「OAuthでリモート接続するには、ホストアプリ側がGitHub AppかOAuth Appを登録しておく必要がある」と書いています。

そのため、Copilot対応IDEのようにGitHubがアプリを用意しているホストはOAuthでつながり、それ以外はPATになります。`mcp-remote` も事前登録したクライアント情報を `--static-oauth-client-info` で渡せば技術的にはOAuthを通せますが、自分でGitHub Appを作って管理することになるため、個人の利用ならPATで十分です。CIMDの仕組みと各社の対応状況は[CIMD（Client ID Metadata Documents）とは？MCPでDCRに代わるOAuthクライアント登録の仕組みと実装【2026年10月】](/tech/details/10011/)で解説しています。

## ツールセットと読み取り専用モード：実測したツール数

ツール定義を一括でモデルに渡すクライアントでは、ツールが多いほどコンテキストを消費し、似た名前のツールから選び間違える余地も増えます。Claude CodeのMCP tool searchのように必要な定義だけを遅延読み込みする実装もありますが、渡すツールそのものを絞るほうが確実です。2026年10月19日、MCPプロトコルバージョン2025-06-18を指定し、GitHub CLIのOAuthトークン（スコープ：repo・read:org・gist・project）でリモートサーバーに `tools/list` を送り、URLとヘッダごとに返ったツール数を数えました。

| 接続先・ヘッダ                               | ツール数 | うち読み取り |
| ------------------------------------- | ---- | ------ |
| /mcp/（既定）                             | 46   | 28     |
| /mcp/readonly                         | 28   | 28     |
| /mcp/x/all                            | 95   | 63     |
| /mcp/x/all/readonly                   | 63   | 63     |
| /mcp/x/repos                          | 19   | 13     |
| /mcp/x/actions                        | 4    | 3      |
| X-MCP-Toolsets: repos,issues＋Readonly | 19   | 19     |
| X-MCP-Tools: 2個指定                     | 2    | 2      |

「読み取り」はツールの `readOnlyHint` 注釈で数えています。既定（context・repos・issues・pull\_requests・users）でも46個あり、`x/all` にすると約2.1倍の95個になります。読み取り専用にすると、ファイルの作成・削除、PRのマージ、ブランチ作成など書き込み系の18個が消えます。数はアカウントの権限やライセンスで変わり、今回のアカウントでは、READMEがリモート専用として載せる `create_pull_request_with_copilot` は `x/all` にも出ませんでした（公式は、Copilot cloud agentを使うツールには有料のCopilotライセンスが必要としています）。

### URLパスとヘッダの使い分け

URLパスで指定できるツールセットは1つだけです。`/x/issues/readonly` のように読み取り専用と組み合わせられますが、カンマ区切りで複数は書けません。複数を組み合わせるときはヘッダを使います。

```
{
  "type": "http",
  "url": "https://api.githubcopilot.com/mcp/",
  "headers": {
    "X-MCP-Toolsets": "repos,issues,actions",
    "X-MCP-Readonly": "true",
    "X-MCP-Exclude-Tools": "delete_file"
  }
}
```

ヘッダは5種類が公式に載っています。`X-MCP-Toolsets`（ツールセット）、`X-MCP-Tools`（ツール単位）、`X-MCP-Readonly`（読み取り専用）、`X-MCP-Lockdown`（ロックダウン）、`X-MCP-Insiders`（先行機能）です。これに加えて `X-MCP-Exclude-Tools` で特定のツールを外せます。既定の接続で `merge_pull_request,delete_file,push_files` を外すと、46個が43個になりました。PRのマージだけ人の手に残したい、といった使い方ができます。

### ツールセット名・ツール名の指定ミスとエラー挙動

設定を書き間違えたときの挙動が、ツールセットとツール単位で違います。存在しないツールセット名を `X-MCP-Toolsets` に書くと、エラーにならず**ツールが0個**の状態でつながりました。ドキュメントも「未知のツールセットは黙って無視する」としており、画面上は「接続できたのにツールが無い」状態になります。一方、存在しないツール名を `X-MCP-Tools` に書くと、`initialize` の時点でHTTP 400（`unknown tools specified in WithTools`）が返り、接続自体が失敗します。ツール名は公式READMEの一覧と照合してください。

## 組織で使うときの管理設定とロックダウンモード

Copilot BusinessまたはCopilot Enterpriseを契約している組織のメンバーは、組織かエンタープライズで「MCP servers in Copilot」ポリシーが有効でないと、Copilot経由でMCPを使えません。[GitHub Docs](https://docs.github.com/en/copilot/concepts/context/mcp)によると、このポリシーは**既定で無効**です。一方、Copilot Free・Pro・Pro+・Maxの個人利用はこのポリシーの対象外です。Claude CodeやCursorなどサードパーティのホストはこのポリシーでは止まらず、OAuth Appのアクセス制限、GitHub Appのインストール、PATのポリシーで管理します。公式の[ガバナンス文書](https://github.com/github/github-mcp-server/blob/main/docs/policies-and-governance.md)は「すべてのMCP通信を1つのスイッチで止める設定は無い」と明記しているので、組織で止めたい場合は、これらを組み合わせて塞ぐ必要があります。

公開リポジトリを扱うエージェントには、ロックダウンモード（`X-MCP-Lockdown: true`）を検討します。Issueやコメントの作者がそのリポジトリにpush権限を持たない場合、その内容をツールの応答から外すか、エラーにする機能です。第三者がIssueに仕込んだ指示（プロンプトインジェクション）をエージェントに読ませないための対策ですが、公式は「ベストエフォートのフィルタで、セキュリティ境界ではない」と断っています。トークンが読める範囲は変わらないので、書き込み権限の最小化と併用します。エージェントを外部入力で乗っ取る攻撃の実例は[Agentjackingとは？偽のSentryエラーでAIコーディングエージェントを乗っ取る攻撃と防御設定](/tech/details/18265/)が参考になります。なお、公開リポジトリへのツール呼び出しには、秘密情報の混入を止めるプッシュ保護が自動で効きます。

社内のリポジトリやチケットとエージェントを安全につなぐ権限設計まで含めて検討する場合は、[AIエージェント開発](/service/ai/agent/)の支援内容も参考にしてください。

## つながらない・ツールが出ないときの確認手順

クライアントの画面だけでは原因が切り分けにくいので、ターミナルから順に確かめます。

```
# 1. トークンがリモートサーバーに通るか（200なら認証は通っている。401はトークンの誤り・失効）
curl -s -o /dev/null -w "%{http_code}\n" \
  -H "Authorization: Bearer $GITHUB_PAT" https://api.githubcopilot.com/mcp/_ping

# 2. classic PATのスコープを確認（足りないスコープのツールは一覧に出ない）
curl -sI -H "Authorization: Bearer $GITHUB_PAT" https://api.github.com/user | grep -i x-oauth-scopes
```

- **\_pingが401**：トークンの貼り間違い、期限切れ、`Bearer ` の付け忘れ。fine-grained PATが組織の承認待ちの場合は401にはならず、その組織の非公開リソースだけが読めない状態になります。
- **つながるがツールが0個**：`X-MCP-Toolsets` のつづりの誤り。未知のツールセットは黙って無視されます。
- **HTTP 400で接続できない**：`X-MCP-Tools` に存在しないツール名がある。
- **特定のツールだけ出ない**：classic PATのスコープ不足。fine-grained PATなら一覧には出て、実行時にエラーになります。
- **VS CodeでOAuthの画面が出ない**：VS Codeが1.101未満、または組織の「MCP servers in Copilot」ポリシーが無効。

## よくある質問

### GitHub Remote MCP Serverは無料で使えますか？

使えます。GitHub Docsは、GitHub MCPサーバーはプランを問わず全ユーザーが利用できると説明しています。ただし、Copilot cloud agentを呼ぶツールなど、有料のGitHub機能やCopilot機能に対応するツールは、その機能と同じライセンスが必要です。

### リモートサーバーのURLは何ですか？

`https://api.githubcopilot.com/mcp/` です。読み取り専用は `/mcp/readonly`、全ツールは `/mcp/x/all`、Issueだけなら `/mcp/x/issues` のようにパスを足します。データレジデンシー付きのGitHub Enterprise Cloudは `https://copilot-api.<サブドメイン>.ghe.com/mcp` です。

### GitHub MCPを読み取り専用（readonly）にするには？

リモート版はURLの末尾に `readonly` を付けるか、`X-MCP-Readonly: true` ヘッダを送ります。実測では既定の46個が28個になり、ファイルの書き込みやPRのマージなどのツールが一覧から消えました。ローカル版は `--read-only` フラグか環境変数 `GITHUB_READ_ONLY=1` です。

### Claude DesktopからリモートのGitHub MCPに接続できますか？

カスタムコネクタからは接続できません。GitHubのOAuthに登録済みのアプリが必要なためです。`mcp-remote` を `npx` で起動し、`--header` でPATを渡せば接続できます。公式ガイドが勧めているのはローカル版（Docker）です。

### GitHub Enterprise Serverでリモート版は使えますか？

使えません。GitHub Enterprise Serverはリモート版のホスティング対象外なので、ローカル版を `GITHUB_HOST` などでサーバーに向けて使います。データレジデンシー付きのGitHub Enterprise Cloud（ghe.com）はリモート版を使えます。

## 関連記事

- [GitHub MCPサーバーとは｜できること・toolset・リモート/ローカルのセットアップを解説](/tech/details/6209/)
- [MCP（Model Context Protocol）とは？AIと外部ツールをつなぐ標準規格の仕組みをわかりやすく解説](/tech/details/5736/)
- [CIMD（Client ID Metadata Documents）とは？MCPでDCRに代わるOAuthクライアント登録の仕組みと実装【2026年10月】](/tech/details/10011/)
- [MCP仕様2026-07-28版とは：ステートレス化の変更点と2025-11-25版からの移行手順](/tech/details/18245/)
- [Docker MCP Gatewayとは｜docker mcp gateway runでMCPサーバーを安全に集約する使い方【2026年版】](/tech/details/7981/)

---

出典: [GitHub Remote MCP Serverとは？ローカル版との違い・接続手順・OAuth/PAT認証を解説【2026年10月】](<https://www.issoh.co.jp/tech/details/7271/>)（株式会社一創）
