Skip to main content

Copilot SDK での MCP サーバーの使用

MCP サーバーを Copilot SDK と統合して、外部ツールを使用してアプリケーションの機能を拡張します。

この機能を使用できるユーザーについて

GitHub Copilot SDK は、すべての Copilot プランで使用できます。

メモ

          Copilot SDK は現在 テクニカル プレビューです。 機能と可用性は変更される場合があります。
          Copilot SDKは **MCP サーバー** (モデル コンテキスト プロトコル) と統合して、アシスタントの機能を外部ツールで拡張できます。 MCP サーバーは個別のプロセスとして実行され、会話中に Copilot 呼び出すことができるツール (関数) を公開します。

MCP とは

          [モデル コンテキスト プロトコル (MCP)](https://modelcontextprotocol.io/) は、AI アシスタントを外部のツールやデータ ソースに接続するためのオープンな標準です。 MCP サーバーは、コードまたはスクリプトの実行、データベースのクエリ、ファイル システムへのアクセス、外部 API の呼び出しなどを実行できます。

サーバーの種類

SDK では、次の 2 種類の MCP サーバーがサポートされています。

タイプ説明利用シーン
          **Local/Stdio** | サブプロセスとして実行され、stdin/stdout 経由で通信する | ローカル ツール、ファイル アクセス、カスタム スクリプト |

| HTTP/SSE | HTTP 経由でアクセスされるリモート サーバー | 共有サービス、クラウドでホストされるツール |

コンフィギュレーション

import { CopilotClient } from "@github/copilot-sdk";

const client = new CopilotClient();
const session = await client.createSession({
    model: "gpt-5",
    mcpServers: {
        // Local MCP server (stdio)
        "my-local-server": {
            type: "local",
            command: "node",
            args: ["./mcp-server.js"],
            env: { DEBUG: "true" },
            cwd: "./servers",
            tools: ["*"],  // "*" = all tools, [] = none, or list specific tools
            timeout: 30000,
        },
        // Remote MCP server (HTTP)
        "github": {
            type: "http",
            url: "https://api.githubcopilot.com/mcp/",
            headers: { "Authorization": "Bearer ${TOKEN}" },
            tools: ["*"],
        },
    },
});

Python、Go、.NET の例については、 github/copilot-sdk リポジトリを参照してください。

クイック スタート: ファイルシステム MCP サーバー

公式の @modelcontextprotocol/server-filesystem MCP サーバーを使用した完全な作業例を次に示します。

import { CopilotClient } from "@github/copilot-sdk";

async function main() {
    const client = new CopilotClient();

    // Create session with filesystem MCP server
    const session = await client.createSession({
        mcpServers: {
            filesystem: {
                type: "local",
                command: "npx",
                args: ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
                tools: ["*"],
            },
        },
    });

    console.log("Session created:", session.sessionId);

    // The model can now use filesystem tools
    const result = await session.sendAndWait({
        prompt: "List the files in the allowed directory",
    });

    console.log("Response:", result?.data?.content);

    await session.disconnect();
    await client.stop();
}

main();

ヒント

          [MCP サーバー ディレクトリから任意の MCP サーバー](https://github.com/modelcontextprotocol/servers)を使用できます。 一般的なオプションには、 `@modelcontextprotocol/server-github`、 `@modelcontextprotocol/server-sqlite`、 `@modelcontextprotocol/server-puppeteer`などがあります。

構成オプション

ローカル/Stdio サーバー

財産タイプ必須説明
type
          `"local"` または `"stdio"` | いいえ | サーバーの種類 (既定値はローカル) |

| command | string | はい | 実行するコマンド | | args | string[] | はい | コマンド引数 | | env | object | いいえ | 環境変数 | | cwd | string | いいえ | 作業ディレクトリ | | tools | string[] | いいえ | すべてを有効にするツール (["*"] すべて有効), ([] なし) | | timeout | number | いいえ | タイムアウト (ミリ秒) |

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

財産タイプ必須説明
type
          `"http"` または `"sse"` | はい | サーバーの種類 |

| url | string | はい | サーバー アドレス | | headers | object | いいえ | HTTP ヘッダー (認証など) | | tools | string[] | いいえ | 有効にするツール | | timeout | number | いいえ | タイムアウト (ミリ秒) |

Troubleshooting

ツールが表示されない、または呼び出されていない

  1.        **MCP サーバーが正しく起動していることを確認**します。コマンドと引数が正しいことを確認し、起動時にサーバー プロセスがクラッシュしないことを確認します。 stderr でエラー出力を探します。
    
  2.        **ツールの構成の確認** - `tools` が `["*"]` に設定されているか、必要な特定のツールが一覧表示されていることを確認します。 空の配列 `[]` は、ツールが有効になっていないということです。
    
  3.        **リモート サーバーの接続を確認**します。URL にアクセスできることを確認し、認証ヘッダーが正しいことを確認します。
    

一般的な問題

問題点ソリューション
"MCP サーバーが見つかりません"コマンド パスが正しく、実行可能であることを確認する
"接続が拒否されました" (HTTP)URL を確認し、サーバーが実行されていることを確認します
"タイムアウトエラー"
          `timeout`値を増やすか、サーバーのパフォーマンスを確認する |

| ツールは機能しますが、呼び出されません | プロンプトにツールの機能が明確に必要であることを確認する |

詳細については、次を参照してください。

  •         [モデル コンテキスト プロトコルの仕様](https://modelcontextprotocol.io/)
    
  •         [MCP サーバー ディレクトリ](https://github.com/modelcontextprotocol/servers) - コミュニティ MCP サーバー
    
  •         [GitHub MCP サーバー](https://github.com/github/github-mcp-server) - 公式 GitHub MCP サーバー