メインコンテンツへスキップ
SDETRole
SDETRole

用語集 · テストにおける AI

MCP(Model Context Protocol)

英語: Model Context Protocol

別名: MCP, MCP サーバー, MCP server, モデルコンテキストプロトコル

定義

MCP は、AI アシスタントやエージェントをブラウザー、リポジトリ、テスト管理システムなどの外部ツールやデータに接続するためのオープンなプロトコルです。

Model Context Protocol(MCP)は、2024 年 11 月に Anthropic が発表したオープン標準で、AI アプリケーションが外部の機能とどのようにやり取りするかを定義します。MCP サーバーは、ツール(モデルが呼び出せるアクション)、リソース(モデルが読めるデータ)、プロンプト(再利用可能なテンプレート)を公開します。IDE のアシスタントやチャットアプリなどのホスト内にある MCP クライアントが、それらの機能を検出し、モデルが使えるようにします。メッセージには JSON-RPC 2.0 を使い、ローカルサーバーなら標準入出力、リモートサーバーなら HTTP で通信します。一度書いたサーバーは、このプロトコルに対応したどのクライアントでも動作します。

例:アシスタントによるブラウザー自動化

Playwright MCP サーバーを使うと、アシスタントがページを開き、アクセシビリティツリーを読み取り、クリックや入力を行えるようになります。典型的なクライアント設定は次のとおりです。

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"]
    }
  }
}

これを設定しておけば、「ステージングのログインページを開き、テストユーザーでサインインして、コンソールエラーがあれば報告して」とアシスタントに頼むだけで、ブラウザーツールを順に呼び出してくれます。ほかにも Git ホスティングの Issue、データベース、社内 API などを公開するサーバーがあり、同じアシスタントでバグチケットを読み、ブラウザーで再現し、テストの下書きまで行えます。

確立していること、発展途上のこと

確立していること:プロトコルそのものと、アシスタント・IDE・ツールベンダーにまたがる幅広いサポートです。社内ツールを MCP サーバーとしてラップするのは、ドキュメントも充実した妥当なエンジニアリング作業です。

発展途上のこと:MCP で動くエージェントをテストプロセスの一部として使うことです。探索的テストのセッション、バグの再現、テストコードの下書きは、人がその結果をレビューする前提であれば現時点でも役立ちます。しかし、エージェントの実行結果を信頼できるリグレッションチェックとして扱うことはまだできません。手順が非決定的であり、正しい対象を検証しないまま成功を宣言することがあるためです。生成されたテストは通常のコードとしてコミットし、ほかのコードと同様にレビューしてください。

注意すべきリスク

  • ツール経由のプロンプトインジェクション。 ページの内容、チケット、ツールの出力は信頼できないテキストであり、モデルの挙動を誘導し得ます。
  • 過剰な権限。 本番データへの書き込み権限を持つサーバーや、環境内に認証情報を持つサーバーでは、モデルのミスがそのままインシデントになります。サーバーには最小限のスコープだけを与え、テスト環境に向けて使ってください。
  • 信頼できないサーバー。 サードパーティ製の MCP サーバーは手元のマシン上でコードを実行し、自身のツールの説明をモデルに伝えます。ほかの依存関係と同じようにレビューしてください。

キーワードを入力すると SDETRole 全体を検索できます。

Pagefind による全文検索 · ブラウザ内で動作します 検索ページを開く →