GitHub Copilotの設定 - MCPサーバ

提供: MochiuWiki : SUSE, EC, PCB

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

概要

MCP (Model Context Protocol) は、Anthropicが開発したオープンプロトコルであり、LLMと外部ツール・サービスの統合を標準化する技術である。
MCPはAIのUSBと呼ばれ、GitHub Copilotの機能を拡張し、外部ツールやデータソースへのアクセスを可能にする。

GitHub CopilotにおけるMCPサーバは、以下に示す特徴を持つ。

  • LLMと外部システムの統合を標準化
  • ローカルサーバ (stdio) とリモートサーバ (HTTP / SSE) の2種類のトランスポート
  • 複数のIDEでの統一された設定形式
  • 組織・エンタープライズレベルでの一元管理


MCPサーバを使用することにより、以下に示すメリットが得られる。

  • GitHub APIへのアクセス
    Issue作成、PR管理、リポジトリ情報取得、ブランチ作成、ユーザ検索
  • ブラウザ自動化
    Webページのアクセス、操作、スクリーンショット撮影
  • データベース操作
    SQLクエリの実行、スキーマ検査、テーブル情報の取得
  • エラートラッキング
    Sentryとの連携によるエラーログの分析と監視



MCPサーバの種類

MCPサーバは、2種類のトランスポート方式で接続される。

ローカルサーバ (stdio)

ローカルプロセスとして実行されるMCPサーバである。

  • トランスポート
    stdio (標準入出力)
  • 起動方法
    commandargs で起動コマンドを指定
  • 用途
    ローカルリソースへのアクセス (ファイルシステム、Webブラウザ自動化等)
  • 実行環境
    ローカルマシン上で実行


ローカルサーバの例を以下に示す。

  • Playwright MCP
    ブラウザ自動化とテスト
  • Filesystem MCP
    ローカルファイルシステムの操作
  • Memory Server
    ローカルメモリの管理


リモートサーバ (HTTP / SSE)

外部でホストされているMCPサーバである。

  • トランスポート
    HTTP / SSE (Server-Sent Events)
  • 接続方法
    url で接続先を指定
  • 認証
    OAuth認証またはPAT (Personal Access Token) 認証
  • 用途
    クラウドサービスへのアクセス (GitHub、Sentry、Supabase等)


リモートサーバの例を以下に示す。

  • GitHub MCP
    GitHubリポジトリ、Issue、PRの管理
  • Sentry MCP
    エラートラッキングと監視
  • Cloudflare MCP
    Cloudflare連携


トランスポートの比較

下表に、トランスポートの種類と特徴を示す。

トランスポートの種類
トランスポート 実行場所 起動方法 用途 推奨度
stdio ローカルマシン command + args ローカルリソースへのアクセス 推奨
HTTP 外部サーバ url クラウドサービスへのアクセス 推奨
SSE 外部サーバ url クラウドサービスへのアクセス 非推奨 (HTTPへの移行推奨)



対応IDE

MCPサーバは、複数のIDEで対応している。
IDE別の対応状況と設定方法を以下に示す。

VS Code

VS Codeでは、設定ファイル または settings.json でMCPサーバを設定する。

  • 対応バージョン
    1.102以降
  • 設定ファイル
    .vscode/mcp.json または settings.json
  • 自動設定されるMCPサーバ
    GitHub MCP、Playwright MCP


Visual Studio

Visual Studioでは、GUIダイアログまたは設定ファイルでMCPサーバを設定する。

  • 対応バージョン
    17.14以降
  • 設定方法
    GUIダイアログまたは mcp.json
  • 自動設定されるMCPサーバ
    GitHub MCP、Playwright MCP


JetBrains IDE

JetBrains IDE (IntelliJ IDEA、PyCharm、WebStorm等) では、MCP RegistryまたはローカルMCPサーバを設定する。

  • 対応IDE
    IntelliJ IDEA、PyCharm、WebStorm、Rider等
  • 設定方法
    MCP Registry経由またはローカルMCPサーバ (mcp.json)
  • 自動設定されるMCPサーバ
    GitHub MCP、Playwright MCP


Xcode

Xcodeでは、設定メニューからMCPサーバを設定する。

  • 設定方法
    設定メニュー
  • 自動設定されるMCPサーバ
    GitHub MCP、Playwright MCP


Eclipse

Eclipseでは、設定メニューからMCPサーバを設定する。

  • 設定方法
    設定メニュー
  • 自動設定されるMCPサーバ
    GitHub MCP、Playwright MCP


対応IDE一覧

下表に、対応IDEと設定ファイルの配置場所を示す。

対応IDEと設定ファイル
IDE 対応バージョン 設定ファイル 自動設定
VS Code 1.102以降 .vscode/mcp.json
settings.json
GitHub MCP
Playwright MCP
Visual Studio 17.14以降 mcp.json
GUIダイアログ
GitHub MCP
Playwright MCP
JetBrains IDE 最新版 mcp.json
MCP Registry
GitHub MCP
Playwright MCP
Xcode 最新版 設定メニュー GitHub MCP
Playwright MCP
Eclipse 最新版 設定メニュー GitHub MCP
Playwright MCP



設定ファイルの書式

MCPサーバの設定ファイルは、JSON形式で記述される。

基本構造

VS Code用のMCPサーバ設定ファイルの基本構造を以下に示す。

 {
   "inputs": [],
   "servers": {
     "server-name": {
       "command": "npx",
       "args": ["-y", "package-name"]
     }
   }
 }


  • inputs
    環境変数の入力定義 (オプション)
  • servers
    MCPサーバの定義
  • server-name
    MCPサーバの識別子
  • command
    起動コマンド (stdioサーバの場合)
  • args
    コマンドライン引数 (stdioサーバの場合)


ローカルサーバ (stdio) の設定例

ローカルプロセスとして実行されるMCPサーバの設定例を以下に示す。

 {
   "servers": {
     "memory": {
       "command": "npx",
       "args": ["-y", "@modelcontextprotocol/server-memory"]
     },
     "fetch": {
       "command": "uvx",
       "args": ["mcp-server-fetch"]
     },
     "playwright": {
       "command": "npx",
       "args": ["-y", "@playwright/mcp@latest"]
     }
   }
 }


  • memory
    メモリサーバ (npxで起動)
  • fetch
    Fetchサーバ (uvxで起動)
  • playwright
    Playwrightサーバ (npxで起動)


リモートサーバ (HTTP) の設定例

外部でホストされているMCPサーバの設定例を以下に示す。

 {
   "servers": {
     "github": {
       "url": "https://api.githubcopilot.com/mcp/",
       "requestInit": {
         "headers": {
           "Authorization": "Bearer YOUR_PAT_HERE"
         }
       }
     },
     "sentry": {
       "url": "https://mcp.sentry.dev/mcp"
     }
   }
 }


  • url
    MCPサーバのURL
  • requestInit
    HTTPリクエストの初期化オプション
  • headers
    HTTPヘッダ (認証情報等)


環境変数の使用

環境変数を使用して認証情報を管理する例を以下に示す。

 {
   "inputs": [
     {
       "type": "promptString",
       "id": "api-key",
       "description": "API Key",
       "password": true
     }
   ],
   "servers": {
     "example": {
       "command": "npx",
       "args": ["-y", "example-server"],
       "env": {
         "API_KEY": "${input:api-key}"
       }
     }
   }
 }


  • inputs
    ユーザ入力の定義
  • type
    入力タイプ (promptString等)
  • id
    入力の識別子
  • password
    パスワード入力かどうか (true/false)
  • env
    環境変数の設定
  • ${input:api-key}
    入力された値を参照



GitHub MCPサーバ

GitHub MCPサーバは、GitHubが提供・保守する公式MCPサーバである。

概要

GitHub MCPサーバは、以下に示す機能を提供する。

  • Issue作成
    新しいIssueの作成
  • PR管理
    Pull Requestの作成、レビュー、マージ
  • リポジトリ情報取得
    リポジトリの情報、ファイル、コミット履歴の取得
  • ブランチ作成
    新しいブランチの作成
  • ユーザ検索
    GitHubユーザの検索


IDE別の設定方法

IDE別のGitHub MCPサーバの設定方法を以下に示す。

VS Code

VS CodeでのGitHub MCPサーバ設定方法を以下に示す。

  1. GitHub Copilot拡張機能をインストールする。
  2. .vscode/mcp.json ファイルを作成する。
  3. 以下に示す内容を記述する。
     {
       "servers": {
         "github": {
           "url": "https://api.githubcopilot.com/mcp/"
         }
       }
     }
    

  4. GitHubアカウントにサインインする。


Visual Studio

Visual StudioでのGitHub MCPサーバ設定方法を以下に示す。

  1. GitHub Copilot拡張機能をインストールする。
  2. [ツール]メニューバー - [オプション] → [GitHub Copilot] → [MCPサーバ]を開く。
  3. [Add Server]を選択して、GitHub MCPサーバを追加する。
  4. GitHubアカウントにサインインする。


JetBrains IDE

JetBrains IDEでのGitHub MCPサーバ設定方法を以下に示す。

  1. GitHub Copilotプラグインをインストールする。
  2. [ファイル]メニューバー - [設定] - [ツール] → [GitHub Copilot] → [MCPサーバ]を開く。
  3. MCP Registryから[GitHub MCP]を選択する。
  4. GitHubアカウントにサインインする。


認証方法

GitHub MCPサーバの認証方法を以下に示す。

  1. GitHubアカウントへのサインイン
    IDEからGitHubアカウントにサインインする。
  2. PAT (Personal Access Token) 認証
    GitHubのPATを使用して認証する。
    設定ファイルの Authorization ヘッダにPATを指定する。

    PAT認証の設定例を以下に示す。
     {
       "servers": {
         "github": {
           "url": "https://api.githubcopilot.com/mcp/",
           "requestInit": {
             "headers": {
               "Authorization": "Bearer YOUR_GITHUB_PAT"
             }
           }
         }
       }
     }
    



Copilot Coding Agentとの統合

Copilot Coding Agentは、MCPサーバと統合してワークフローを自動化できる。

対応機能

Copilot Coding AgentにおけるMCPサーバの対応機能を以下に示す。

  • ツールのみサポート
    MCPサーバのツールのみサポート (リソース、プロンプトは非対応)
  • OAuth認証リモートサーバは非対応
    OAuth認証を使用するリモートサーバは非対応
  • stdio (ローカルサーバ) のみ対応
    stdioトランスポートのローカルサーバのみ対応


自動設定されるMCPサーバ

Copilot Coding Agentには、以下に示すMCPサーバが自動設定される。

  • GitHub MCP
    Issue、PRなどのGitHubデータにアクセス
  • Playwright MCP
    Webページのアクセス、操作、スクリーンショット撮影


カスタムMCPサーバの追加

Copilot Coding Agent用のカスタムMCPサーバは、リポジトリ設定ファイルで定義する。

  • 設定ファイル
    .github/copilot/mcp.json
  • 形式
    JSON形式
  • スコープ
    リポジトリレベル


設定例を以下に示す。

 {
   "mcpServers": {
     "server-name": {
       "type": "local",
       "command": "npx",
       "args": ["package-name"],
       "tools": ["tool_name"],
       "env": {
         "KEY": "value"
       }
     }
   }
 }


  • type
    サーバタイプ (local のみ対応)
  • command
    起動コマンド
  • args
    コマンドライン引数
  • tools
    使用可能なツール名のリスト
  • env
    環境変数の設定


copilot-setup-steps.yml

copilot-setup-steps.yml は、Copilot Coding Agentの依存関係のインストールに使用される。

  • 配置場所
    .github/copilot-setup-steps.yml
  • 用途
    MCPサーバの依存関係をインストールする
  • 形式
    GitHub Actions Workflow形式


設定例を以下に示す。

 name: Copilot Setup Steps
 on: workflow_dispatch
 jobs:
   setup:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v4
       - name: Install dependencies
         run: |
           npm install -g @package/mcp-server


この設定により、Copilot Coding AgentがMCPサーバを使用する前に、必要な依存関係が自動的にインストールされる。


組織・エンタープライズでのMCP管理

GitHub Copilot Business、Copilot Enterpriseでは、組織・エンタープライズレベルでMCPサーバを一元管理できる。

ポリシー設定

MCPサーバの使用を制御するポリシー設定を以下に示す。

  • ポリシー名
    MCP servers in Copilot
  • デフォルト設定
    無効 (ユーザはMCPサーバを使用できない)
  • 対象
    Copilot Business、Copilot Enterprise
  • 設定方法
    GitHub組織設定から有効化


ポリシー設定の手順を以下に示す。

  1. GitHub組織設定を開く。
  2. [Copilot] - [Policies] を選択する。
  3. [MCP servers in Copilot]を有効化する。
  4. アクセス制御オプションを選択する。


MCPレジストリ

MCPレジストリは、組織で承認されたMCPサーバの一覧である。

  • 設定方法
    GitHub組織設定から設定
  • 用途
    組織で使用可能なMCPサーバを制限
  • アクセス制御
    Allow all (全て許可) または Registry only (レジストリのみ)


MCPレジストリの設定手順を以下に示す。

  1. GitHub組織設定を開く。
  2. [Copilot] → [MCP Registry] を選択する。
  3. 承認するMCPサーバを追加する。
  4. アクセス制御オプションを選択する。


アクセス制御オプション

MCPサーバのアクセス制御オプションを以下に示す。

  • Allow all
    全てのMCPサーバを許可
    ユーザは任意のMCPサーバを使用可能
  • Registry only
    MCPレジストリに登録されたサーバのみ許可
    ユーザは承認されたMCPサーバのみ使用可能


下表に、アクセス制御オプションの比較を示す。

アクセス制御オプション
オプション 説明 セキュリティ 柔軟性
Allow all 全てのMCPサーバを許可
Registry only MCPレジストリに登録されたサーバのみ許可



カスタムエージェントとMCPサーバ

組織・エンタープライズレベルのカスタムエージェントでは、MCPサーバを設定できる。

mcp-serversプロパティ

カスタムエージェントのYAMLフロントマターで、MCPサーバを定義する。

  • 設定場所
    カスタムエージェントファイルのYAMLフロントマター
  • プロパティ名
    mcp-servers
  • 対象レベル
    組織レベル、エンタープライズレベル


設定例を以下に示す。

 ---
 name: security-reviewer
 description: セキュリティレビュー専門エージェント
 mcp-servers:
   - name: jfrog-security
     url: https://mcp.jfrog.com/security
     env:
       JFROG_API_KEY: ${{ secrets.JFROG_SECURITY_API_KEY }}
 ---


  • name
    MCPサーバの識別子
  • url
    MCPサーバのURL
  • env
    環境変数の設定


環境変数の参照形式

カスタムエージェントのMCPサーバ設定では、以下に示す 環境変数参照形式 を使用できる。

  • GitHub Actions形式
    ${{ secrets.SECRET_KEY }}
  • 変数参照形式
    ${{ var.VARIABLE_NAME }}
  • Claude Code構文
    ${SECRET_KEY}
  • 標準形式
    $SECRET_KEY


環境変数参照の例を以下に示す。

 mcp-servers:
   - name: example-server
     url: https://example.com/mcp
     env:
       API_KEY: ${{ secrets.EXAMPLE_API_KEY }}
       BASE_URL: ${{ var.EXAMPLE_BASE_URL }}



人気のMCPサーバ一覧

コミュニティによって開発された人気のMCPサーバを示す。

開発ツール

開発ツール向けのMCPサーバを以下に示す。

Playwright MCP

ブラウザ自動化とテストを実行する。

  • 機能
    ブラウザ操作の自動化、Webページのテスト、スクリーンショット撮影、スクレイピング
  • 自動設定
    Copilot Coding Agentで自動設定
  • パッケージ名
    @playwright/mcp@latest


VS Code設定例を以下に示す。

 {
   "servers": {
     "playwright": {
       "command": "npx",
       "args": ["-y", "@playwright/mcp@latest"]
     }
   }
 }


Fetch MCP

Webコンテンツ取得を実行する。

  • 機能
    Webページのコンテンツ取得、HTMLのパース、APIリクエスト
  • パッケージ名
    mcp-server-fetch


VS Code設定例を以下に示す。

 {
   "servers": {
     "fetch": {
       "command": "uvx",
       "args": ["mcp-server-fetch"]
     }
   }
 }


Memory Server

ローカルメモリの管理を実行する。

  • 機能
    セッション間でのコンテキスト保持、データの永続化
  • パッケージ名
    @modelcontextprotocol/server-memory


VS Code設定例を以下に示す。

 {
   "servers": {
     "memory": {
       "command": "npx",
       "args": ["-y", "@modelcontextprotocol/server-memory"]
     }
   }
 }


監視・デバッグ

監視・デバッグ向けのMCPサーバを以下に示す。

Sentry MCP

エラートラッキングと監視を実行する。


VS Code設定例を以下に示す。

 {
   "servers": {
     "sentry": {
       "url": "https://mcp.sentry.dev/mcp"
     }
   }
 }


その他

その他のMCPサーバを以下に示す。

Cloudflare MCP

Cloudflare連携を提供する。

  • 機能
    Cloudflare Workers、KV、R2の管理



トラブルシューティング

MCPサーバが認識されない

  1. 設定ファイルが正しい場所に配置されているかどうかを確認する。
    • VS Code
      .vscode/mcp.json または settings.json
    • Visual Studio
      mcp.json
    • JetBrains IDE
      mcp.json
  2. JSON構文が正しいかどうかを確認する。
  3. IDEを再起動する。


接続エラー

  1. MCPサーバのURLが正しいかどうかを確認する。
  2. 認証情報が正しいかどうかを確認する。
  3. ネットワーク接続を確認する。
  4. ファイアウォール設定を確認する。


ログの確認方法

VS Code

VS Codeでのログ確認方法を以下に示す。

  1. [Ctrl] + [Shift] + [P]キーを同時押下して、コマンドパレットを開く。
  2. MCP: List Servers を実行する。
  3. サーバのログを確認する。


chat.mcp.autostart設定

chat.mcp.autostart 設定で、MCPサーバの自動再起動を制御できる。

  • 設定場所
    settings.json
  • デフォルト
    true
  • 用途
    MCPサーバが停止した際に自動再起動する


設定例を以下に示す。

 {
   "chat.mcp.autostart": true
 }


Docker使用時の注意事項

Docker使用時は、デタッチモード (-d) を避ける。

  • 理由
    MCPサーバはフォアグラウンドで実行する必要がある
  • 推奨
    デタッチモード (-d) を使用しない



Claude CodeのMCPとの比較

設定ファイルの違い

下表に、設定ファイルの違いを示す。

設定ファイルの違い
項目 Claude Code GitHub Copilot (VS Code)
設定ファイル ~/.claude.json
.mcp.json (プロジェクトルート)
.vscode/mcp.json
settings.json
スコープ local、project、user リポジトリ、ワークスペース、ユーザ
管理コマンド claude mcp add
claude mcp list
claude mcp remove
設定ファイルの直接編集
GUIダイアログ
自動設定 なし GitHub MCP
Playwright MCP


スコープの違い

Claude CodeとGitHub Copilotのスコープの違いを以下に示す。

  • Claude Code
    • local (デフォルト)
    • project
    • user
  • GitHub Copilot
    • リポジトリ
    • ワークスペース
    • ユーザ
    • 組織
    • エンタープライズ


Claude Codeは、プロジェクト単位での管理に特化している。
GitHub Copilotは、組織・エンタープライズレベルでの一元管理に対応している。

比較表

下表に、Claude CodeとGitHub CopilotのMCPの比較を示す。

Claude CodeとGitHub CopilotのMCPの比較
項目 Claude Code GitHub Copilot
管理レベル local、project、user リポジトリ、ワークスペース、ユーザ、組織、エンタープライズ
設定ファイル ~/.claude.json
.mcp.json
.vscode/mcp.json
settings.json
.github/copilot/mcp.json
CLI管理 claude mcp add
claude mcp list
claude mcp remove
非対応
自動設定 なし GitHub MCP
Playwright MCP
組織管理 非対応 対応 (MCPレジストリ、ポリシー設定)
トランスポート HTTP、stdio、SSE HTTP、stdio、SSE
用途 プロジェクト単位での柔軟な管理 組織・エンタープライズレベルでの統一管理



関連項目



参考リンク