「AIエージェントを使おう」という話を最近よく耳にします。
そこで今回は、今年の4月初めから注目を集めている「MCP」について、少し紹介してみたいと思います。
とはいえ、私自身もまだMCPの哲学やアーキテクチャの深い部分までは理解できていません。なので、「MCPってこんな感じなんだ~」くらいの、ゆるい雑記として読んでいただければと思います。
難しそうな技術に聞こえますが、やっていることはAIに「今この瞬間の情報」や「モデルがもともと知らない外部のデータ」を与えているだけです。人間でいうと、目や耳からリアルタイムで情報を受け取るような仕組みが、AIにも与えられるようになった、と言えばイメージしやすいかもしれません。
MCPサーバー?
ここで出てくるのが、「MCPサーバー」と「MCPクライアント」です。
この2者の関係は、HTTPの仕組みにとてもよく似ています。
Webブラウザ(HTTPクライアント)がWebサーバーにリクエストを送り、サーバーがレスポンスを返すように、MCPでもクライアントとサーバーが共通のルール(=MCP)を使って情報のやり取りを行う、という構図になっています。
引用: https://zhuanlan.zhihu.com/p/29301066811
「MCPサーバー」と聞くと、名前からどこかにある大規模サーバーを連想しがちですが、実際にはそうではありません。
多くの場合、ユーザーのローカル環境で動作する軽量なプロセスであり、AIに必要な外部情報を届けるための「ただの橋渡し役」として機能します。具体的には、ローカルのテキストファイルの中身を読み取ったり、何かしらのAPIを叩いて最新のデータを取得したり、データベースから必要な情報を引き出したりします。
そうして集めた情報を、AIが扱いやすい形式に整えて返す、という役割を担っているのがMCPサーバーです。
MCPクライアント?
MCPのここがすごい
MCPの大きな魅力のひとつとして、MCPに対応した外部サービスやアプリケーション(例:AWS、Docker、Azureなど)と、MCPサーバーを介して柔軟に連携・拡張できる点があります。
これにより、特定のAIサービスの機能に縛られることなく、AIの能力を自分の環境に最適化してカスタマイズすることが可能になります。
AIプラットフォームが独自に提供している拡張機能・統合機能の例
「DeepResearch」はOpenAIのChatGPT Plus限定でしか使えない
GoogleのGeminiはGoogleアカウントと統合前提
Microsoft CopilotはOffice 365環境が必須
企業向けTool UseはAPI設計やデプロイ環境が必要
「環境を選ぶ」「拡張性に制限がある」「互換性がない」というデメリットが付きまとうが、MCPを使えば「AIの外部ツール連携部分を自分で作る」ことが可能になるので自由度が段違い。
MCPサーバーはAIに必要な外部情報を届けるための「橋渡し役」と説明しましたが、その外部情報を実際にリクエストする役割を担うのが「MCPクライアント」です。
MCPクライアントは、ユーザーの入力(プロンプト)を受け取ったAIが、「今のタスクには外部の情報が必要だ」と判断したときに、その情報を取得するためにMCPサーバーへリクエストを送ります。
MCPクライアントは「判断して依頼する役割」、MCPサーバーは「情報を取りに行く役割」、というイメージです。
技術に明るい方であれば、これがどれほど強力な仕組みかなのかは容易に想像がつくと思います。
MCPホスト?
ここで登場するもうひとつの重要な構成要素が「MCPホスト」です。
MCPサーバー(外部データ・APIと接続する処理)の中継・接続管理を担うプロセスで、AIクライアントと複数のMCPサーバーを仲介する役割を担います。
具体的には以下のような機能を持っています。
MCPクライアントからのリクエストを適切なMCPサーバーにルーティングする
各MCPサーバーの機能(スキル)を検出し、クライアントに公開する
クライアントとサーバー間のセッションや状態を管理する
開発者が意識せずともスムーズなやり取りを実現してくれる土台のようなもので、後述する開発コストの低減などに役立ってくれます。
AIの世界でも同じような問題が起きていました。
【MCP登場前】それぞれ別々の接続方法が必要
ChatGPT ←→ Google Drive用接続 ←→ Google Drive【MCP登場後】共通のプロトコルで接続可能
ChatGPT ←→ MCPクライアント ←→ Google Drive用MCPサーバー ←→ Google Drive便利なMCPにも、課題や懸念点はあります。
将来の展望
上記の課題は残っているものの、MCPの将来は非常に明るいです!
今はまだ少し先進的で難しそうに聞こえるかもしれませんが、おそらく数年後には、MCPはAPIやUSBポートのように、当たり前に使われる存在になっているんじゃないかなと思っています。
とにかく、爆発的な可能性を秘めた仕組みなのは間違いありません。
今の自分の理解ではまだまとめきれていない部分も多いので、実際に触ってみるほうが分かりやすいかもしれません。
書いているうちに楽しくなってしまい、少し長くなってしまいましたが…
ここまで読んでくださり本当にありがとうございました!