このページの本文へ

Windows Info 第509回

Windowsにも実装された、生成AIと他のシステムを接続するためのプロトコル「MCP」とは何か?

2025年12月21日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

Windowsのプレビューに「MCP on Windows」が組み込まれる

 現在、Devチャンネル/Betaチャンネルでプレビュー中のビルド26220.7344には、「MCP on Windows」なるものが搭載されている。

 MCP(Model Context Protocol)とは、簡単に言えば、生成AIなどを利用するアプリケーションから、外部の機能を操作するための標準プロトコルである。具体的には、JSONを使ったJSON-RPC 2.0(https://www.jsonrpc.org/specification)上に構築されていて、外部とはJSONオブジェクトでやり取りする。

 詳しい定義は、JSON-RPCのドキュメントを見ていただくことにして、簡単に解説すると、JSON-RPCでは、以下の形のリクエスト(要求)とレスポンス(応答)を使って、機能の呼び出しと結果の戻しをする。

リクエスト
{"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",……}
}

レスポンス
{"jsonrpc": "2.0",
"id": 1,
"result": {
"protocolVersion": "2025-06-18",……}
}

 JSONオブジェクトの先頭には、JSON-RPC 2.0であることを示す「"jsonrpc": "2.0"」が置かれる、リクエストでは、「id」「method」「params」のプロパティが必須となる。idは、応答との対応を付けるためのリクエスト自体のidである。

 「method」は、実行する手続きの名称(これはJSON-RPCを使うアプリケーション側で定義する)であり、「params」は「method」の実行に必要なパラメーターだ。

 応答では、同じく「"jsonrpc": "2.0"」と「id」が必須で、結果を戻す「result」も求められる。resultをどういう形式でAI側に戻すのかは、アプリケーション次第だが、生成AIや大規模言語モデルの特性として、文字列として自然言語を与えることが可能な場合がある。

MCPの基本

 サーバーとの接続(トランスポートレイヤー)に関しては、ローカルマシン上での標準入出力(stdin、stdout)と、HTTPSによる通信の2つが想定されている。前者は、ネットワークのオーバーヘッドを省略できるが、サーバーはローカルマシン上で起動できるものに限られる。

 後者は、サーバーがローカル、LAN内、インターネットのどこにあっても接続可能だが、ネットワークのオーバーヘッドがある。

 MCPは、いわゆる「サーバークライアントモデル」で動作する。クライアントは、サーバーにコマンドや要求を送り、サーバーからの応答を受け取る。この通信手順などに関しては、前述のJSON-RPCに定義がある。MCPサーバーはなんらかの機能を有し、クライアント側からのリクエストに応じて動作、あるいは応答を返す。AIアプリケーションは、MCPを使って、MCPサーバーが操作する外部の機能を利用する。

 たとえば、Windowsの設定アプリ用のMCPサーバーがあったとすると、設定項目の検索や表示、変更などを直接する、あるいは設定アプリの特定のページを表示するといったことが可能になる。もっとも、何が可能になるのかは、MCPサーバーの作り方や対象の構造などによる。しかし、MCPを使うことで、大規模言語モデルによる推論の結果で、システム設定を変更する、あるいはユーザーに設定状態を提示するといった、AI外部の機能を利用することが可能になる。

 生成AIや大規模言語モデルを含むアプリケーションをMCPでは「MCPホスト」と呼ぶ。MCPホストには、複数のMCPクライアントを含むことができる。MCPクライアントは、1つのMCPサーバーとだけ接続する。MCPホストが複数のMCPサーバーと接続するには、それぞれの接続に対してMCPクライアントを用意する。

MCP

MCPは、MCPホスト・MCPクライアント・MCPサーバーの3つの要素から構成される。MCPホストは、AIアプリケーション内で、MCPサーバーと接続するMCPクライアントを管理する。MCPサーバーは、JSON-RPC形式でリクエスト(外部機能の実行など)を受付、JSON-RPCのレスポンスを返す

Windowsにおける実装

 Windows 11では、MCPの構造が若干異なっている。まず、MCPクライアントとMCPサーバーの間に「Windows on-device registry(ODR)」が入る。ODRが入ることで、ユーザーが正しく登録/インストールしたMCPサーバーのみと接続が可能になる。また、ODRに問いあわせることで、現在インストールされているMCPサーバーを列挙することも可能だ。

MCP

WindowsのMCP実装では、MCPクライアントとMCPサーバーの間に「Windows on-device registry(ODR)」が置かれる。AIアプリケーションはエージェント、MCPサーバーはエージェントコネクタと呼ばれる。ODRにはMCPサーバー(エージェントコネクタ)が登録されていて、MCPクライアントは、ODR(MCPプロキシ)経由でMCサーバーと接続する

 Windowsでは、標準MCPで、AIアプリケーションと呼ばれる部分をエージェント(Agent)と呼び、MCPサーバー側を「エージェントコネクタ(Agent Connector)」と呼ぶ。エージェント内では、内部的には、MCPホストがMCPクライアントを管理しているという構造は同じだ。

 とりあえず、今回はざっとMCPを解説したが、詳細な定義などはMCPのサイト(https://modelcontextprotocol.io/docs/getting-started/intro)などを参照していただきたい。

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン