GitHub モデル コンテキスト プロトコル (MCP) サーバーを使用すると、secret scanning エージェント モード、GitHub Copilot、およびその他の MCP 互換ツールから直接GitHub Copilot CLI(コマンドラインインターフェース)を実行できます。 作業中に公開されているキー、トークン、資格情報をコードでスキャンし、プッシュする前に修正します。
シークレット スキャン ツールは、 GitHub リモート MCP サーバー経由でのみ使用できます。 ローカル MCP サーバー構成はサポートされていません。
これは、 Visual Studio Code、JetBrains、Claude Code、Cursor、および Windsurf など、MCP 互換のエージェントまたは IDE で動作します。 エクスペリエンスはクライアントによって異なります。
メモ
MCP 呼び出しスキャンによって返される結果は エフェメラルです。 現在のセッションに対してのみエージェントのチャットに表示され、 GitHubのアラートとして保持されません。 つまり、これらの結果は、[セキュリティ] タブ、 secret scanning アラートの一覧、またはアラートの REST/GraphQL API には表示されません。 MCP スキャンは、記録システムとしてではなく、コミット前の安全性チェックとして扱う必要があります。 リポジトリにプッシュされ、Git 履歴に保持される前に、結果を修復します。
[前提条件]
GitHub Secret Protection
** はリポジトリに対して有効になっています。
- MCP サーバーGitHub IDE またはエージェントに接続されています。 「GitHub MCP サーバーのセットアップ」を参照してください。
- 組織の セキュリティ構成 によって、検出されるシークレットの種類と、プッシュ保護が適用されるかどうかが決まります。 MCP ツールは、組織のプッシュ保護構成を尊重します (リポジトリ レベルのプッシュ保護設定は使用されません)。
手順 1: ツールをインストールして構成する
`secret_protection` ツールセットを有効にする
`secret_protection` ツールセットを有効にして、スキャン ツールをエージェントで使用できるようにします。 既定のツールセットには含まれません。
`run_secret_scanning` ツールは現在、`copilot`ではなく、`secret_protection` ツールセットにアタッチされています。 MCP 構成の`run_secret_scanning`ツールセットと共に、`secret_protection`を追加ツールとして明示的に含める必要があります。
GitHub Copilot CLI(コマンドラインインターフェース) には、 GitHub MCP サーバーが組み込まれています。
copilot mcp --toolsets=secret_protection --tools=run_secret_scanning
`secret_protection` ツールセットと`run_secret_scanning tool`を MCP 構成に追加します。
{
"servers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"X-MCP-Toolsets": "secret_protection",
"X-MCP-Tools": "run_secret_scanning"
}
}
}
}
{
"servers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"X-MCP-Toolsets": "secret_protection",
"X-MCP-Tools": "run_secret_scanning"
}
}
}
}
JetBrains IDE で、MCP サーバー構成を編集して、 secret_protection ツールセットと run_secret_scanning ツール ヘッダーを含めます。 JetBrains での MCP サーバーの構成の詳細については、JetBrains ドキュメントの MCP サーバー を参照してください。
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"GitHub-MCP-Toolsets": "secret_protection",
"GitHub-MCP-Tools": "run_secret_scanning"
}
}
}
}
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"GitHub-MCP-Toolsets": "secret_protection",
"GitHub-MCP-Tools": "run_secret_scanning"
}
}
}
}
(省略可能) Advanced Security プラグインをインストールする
[
Advanced Securityプラグイン](https://github.com/github/copilot-plugins/tree/main/plugins/advanced-security)は、`/secret-scanning`とGitHub Copilot CLI(コマンドラインインターフェース)の合理化されたスキャンエクスペリエンスのためのVisual Studio Codeスラッシュコマンドを提供します。 プラグインは内部で MCP ツールを使用するため、 `secret_protection` ツールセットを有効にする必要があります。
プラグインをインストールする手順:
GitHub Copilot CLI(コマンドラインインターフェース)
**については、[AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/plugins-finding-installing#installing-plugins) を参照してください。
Visual Studio Code
**については、[](https://code.visualstudio.com/docs/copilot/customization/agent-plugins#_discover-and-install-plugins)ドキュメントのVisual Studio Codeを参照してください。
手順 2: コードをスキャンする
ツールセットを有効にすると、クライアントに応じていくつかの方法でスキャンをトリガーできます。
**自然言語プロンプト**。 MCP 互換エージェントでは、次の質問を行うことができます。
"公開されているシークレットについて現在の変更をスキャンし、コミットする前に更新する必要があるファイルと行を表示します。"
"前回のコミット以降に変更したファイルに対して secret scanning を実行し、信頼度の高い結果を要約します。"
**スラッシュ コマンド ( Advanced Security プラグインが必要です**)。 手順 1 でオプションのプラグインをインストールした場合は、次のコマンドを使用することもできます。
"/secret-scanning: 資格情報、キー、またはトークンのステージングされた差分を確認し、環境変数を使用して置換を提案します。"
**直接ツールの呼び出し:** スキャン ツールをクライアントから直接呼び出すこともできます。
`copilot --add-github-mcp-tool run_secret_scanning` を実行します。
`/secret-scanning`に「コパイロットチャット」と入力します。
- IDE で コパイロットチャット を開いてください
- [ エージェント ] タブをクリックする
- "コミットする前に、最近の変更をスキャンして露出している可能性のあるシークレットがないか確認する" のようなプロンプトを使用します。 また、チャット ボックスのツール アイコンをクリックして、使用可能な
secret_protectionツールを直接参照することもできます。
エージェントは次を返します。
- 見つかったシークレットの種類
- 検出されたファイルと行
- 資格情報の削除やローテーションなどの修復手順
プッシュ保護が有効になっている場合、MCP サーバーは、コミット、プル要求、ファイルの作成など、ユーザーに代わって実行されるすべてのアクションにシークレットが含まれるのをブロックします。 「プッシュ保護と GitHub MCP サーバーの使用」を参照してください。
Troubleshooting
| 問題 | 検査 |
|---|---|
| スキャンで結果が返されない | MCP 構成で secret_protection ツールセットが有効になっていることを確認します。 |
| リポジトリが対象ではありません |
Secret scanning MCP 経由はパブリック リポジトリで使用でき、プライベート リポジトリと内部リポジトリに対して GitHub Secret Protection を有効にする必要があります。 |
| エージェントがツールを認識しない | IDE またはエージェントが MCP をサポートしているか確認します。 「モデル コンテキスト プロトコル (MCP) について」を参照してください。 | | 予期しない検出結果 | 組織のセキュリティ構成によって、スキャンされるパターンが制御されます。 リポジトリのセキュリティ設定を確認します。 | | ツールは 1 つのクライアントで動作しますが、別のクライアントでは機能しません | このエクスペリエンスは、MCP と互換性のあるクライアントによって異なります。 サポートされている機能については、クライアントの MCP ドキュメントを確認してください。 |