VS CodeでGitHub Copilot Chatを使っていると、「ツール」や「ツールセット」という項目を見かけることがあります。ツールは、エージェントがファイルを検索したり、コードを編集したり、外部サービスに接続したりするための機能です。ツールセットは、関連するツールをひとまとめにして、プロンプトから呼び出しやすくする仕組みです。
GitHub Copilotの「ツール」と「ツールセット」の違い
チャットで文章を生成するだけのとき、AIは回答をテキストとして返します。エージェントがツールを使うと、ファイルを検索し、結果を読み、その内容をもとに編集し、必要であればターミナルで確認する、といった複数段階の作業ができます。ツールの実行結果は次の判断材料になります。VS Codeの公式ドキュメントでは、この一連の流れをエージェントの作業ループとして説明しています。
| 用語 | 役割 | 例 |
|---|---|---|
| ツール | 一つの機能を実行する | コード検索、ファイル編集、ターミナル実行 |
| ツールセット | 関連するツールをまとめる | 調査用、コード変更用、外部サービス確認用 |
| エージェント | 依頼を進める主体 | 依頼に応じて有効なツールを選び、結果を見ながら作業する |
ツールセットを作っても、AIの能力そのものが増えるわけではありません。既存のツールをまとめ、必要な作業で選びやすくするための整理方法です。
VS Codeで使える3種類のツール
1. VS Codeの組み込みツール
VS Codeに標準で用意されているツールです。コードやファイルの読み取り・検索、編集、ターミナル実行、ブラウザーでの画面確認などに使います。MCPサーバーを追加しなくても利用できます。
たとえば「このエラーの原因を調べ、関連するコードを修正して、対象のテストを実行する」と依頼すると、エージェントは有効なツールの中から検索・編集・ターミナルなどを選んで作業を進めます。どのツールが使われるかは、利用できる設定や依頼内容によって変わります。
2. MCPサーバーが提供するツール
MCPは、AIアプリケーションを外部のツールやデータソースにつなぐための標準規格です。VS CodeにMCPサーバーを追加すると、データベース、API、外部サービスなどに接続するツールをCopilot Chatから使えるようになります。VS CodeのMCPサーバー設定ガイドでは、サーバーの追加や利用可否の設定方法を確認できます。
たとえば、GitHub Issuesを参照するMCPツールを利用できれば、作業中のコードとIssueの内容を一緒に確認できます。ただし、接続先で読める情報や実行できる操作は、MCPサーバーと設定した権限によって異なります。サーバーを追加するときは、提供元、接続先、許可されるツールを確かめてください。
3. VS Code拡張機能のツール
拡張機能が提供するツールです。マーケットプレイスから対応する拡張機能を入れると、その拡張機能のツールがツール一覧に加わります。利用できるツールは、インストールした拡張機能やVS Codeの環境によって異なります。
組み込みツールはVS Codeに標準であり、MCPツールはMCPサーバー、拡張機能ツールはVS Code拡張機能から提供される、というのが基本の違いです。どの種類が必要か分からない場合は、まず組み込みツールで足りるか確認し、外部サービスとの接続が必要なときにMCPや拡張機能を追加します。
ツールセットを作る・呼び出す方法
VS Codeには #edit や #search など、あらかじめ用意されたツールセットがあります。チャット入力欄で # を入力すると、現在の環境で使えるツール、ツールセット、ファイルなどの候補を確認できます。ツールセットは、プロンプト、プロンプトファイル、カスタムエージェントで使えます。
独自のセットを作る場合は、コマンドパレットから「Chat: Configure Tool Sets」を実行し、新しいツールセットファイルを作成します。VS Codeの公式例では、次のようなJSONCを使って、関連するツールを reader というセットにまとめています。
{
"reader": {
"tools": ["search/changes", "search/codebase", "read/problems", "search/usages"],
"description": "コードを調べて情報を集めるツール",
"icon": "book"
}
}
作成後は、チャットで #reader と入力してツールセットを指定します。セットの定義に使うツール名は、現在のVS Codeと有効な拡張機能・MCPサーバーで利用できるものを選びます。ファイル形式やコマンド名は今後変わる可能性があるため、手順はVS Codeの「Create and use tool sets」で確認してください。
ツールの選択と実行許可は別に管理する
ツールの選択画面では、依頼ごとにツールを有効・無効にできます。VS CodeにはLocalとCopilotのエージェント実行環境があり、ツールを選ぶ画面や設定の保存範囲が異なる場合があります。Copilot側ではAgent CustomizationsのToolsタブ、Local側ではチャット入力欄のConfigure Toolsから管理する方法が、VS Codeの公式ガイドに案内されています。
ここで区別したいのが「利用可能」と「実行許可」です。ツールを有効にしても、確認ダイアログや権限設定を飛ばして実行できるわけではありません。ツール呼び出し時には、ツール名と入力内容を確認し、許可設定に応じて実行を判断します。
利用可能なツールは、依頼に必要なものに絞ると選択範囲を明確にできます。コードを読むだけなら検索・読み取り系から始め、編集やターミナル実行は必要な段階で追加しましょう。
開発作業での使い分け例
原因を調べるだけなら、読み取り系のツールから
バグの原因調査や仕様の確認では、コード検索、ファイル読み取り、問題一覧の確認などから始めます。まず変更せずに原因と根拠となるファイルを説明してもらい、方針が決まってから編集ツールを有効にすると、調査と変更を分けて確認できます。
修正と検証を依頼するなら、編集とターミナルも使う
修正を依頼するときは、変更対象、守る条件、確認方法を一緒に伝えます。たとえば「フォーム送信時のエラーを直し、変更後に関連テストを実行してください。仕様が不明なら先に質問してください」のように、作業範囲と検証方法を指定します。実行結果や差分を確認し、依頼した範囲を超える変更がないかレビューします。
外部情報が必要なときだけ、MCPや拡張機能を使う
Issue、API、データベースなど、ワークスペースの外にある情報が必要な場合にMCPや拡張機能のツールを追加します。外部接続を広く許可するのではなく、作業に必要なサーバーやツールだけを選び、接続先と認証範囲を確認します。
よくある質問
ツールセットを使えば、Copilotが自動で何でも実行しますか?
いいえ。ツールセットは、複数のツールをひとまとめにして呼び出しやすくする仕組みです。実際にどのツールを選ぶかは依頼内容や有効なツールによって変わり、操作の実行はVS Codeの権限・承認設定にも従います。
MCPを追加しないと、エージェント機能は使えませんか?
いいえ。ファイルの検索や編集、ターミナル実行などの組み込みツールはVS Codeに用意されています。外部サービスや追加データへの接続が必要な場合に、MCPサーバーを追加します。
Copilotが使ったツールの結果は、そのまま信頼できますか?
ツールは検索結果やコマンド出力などを返しますが、その解釈や次の提案が正しいとは限りません。根拠になったファイルや実行結果、変更差分を確認してから採用します。
まとめ
GitHub Copilotのツールは、エージェントが情報を集めたり、コードを変更したり、外部サービスを利用したりするための機能です。ツールセットは、それらを作業別にまとめ、チャットから選びやすくする仕組みです。
まずはVS Codeの組み込みツールから必要なものを選び、作業範囲に応じてMCPサーバーや拡張機能のツールを追加します。ツールの利用可否と実行許可を分けて設定し、呼び出し内容と結果を確認しながら使うと、Copilotに任せる範囲を整理しやすくなります。