MCPとは
「AI(LLM)を搭載したアプリが、もっと賢く、もっと便利になるための『共通仕様』や『連携ルール』」です。 AIアプリケーションと各種機能を提供するサーバーとの間で、 効率的かつ標準化された方法でコミュニケーションを行うためのプロトコルです。
MCPってなんだろう?
これまでも、AIがファイルを見たり、作業を実行したり、データベースを参照したりすることは可能でした。
しかし、それぞれのアプリが独自の方法で実装していたため、機能の再利用や共有が難しく、開発者は同じような機能を何度も作り直す必要がありました。
MCPがあることで、これらの「連携」を標準化された方法で実現でき、より効率的に、そして一貫性のある方法でAIアプリケーションを開発できるようになります。
なぜMCPが必要か?
- 各アプリが独自の方法で機能を実装
- 機能の再利用が困難
- 開発の重複が発生
- 一貫性のある実装が難しい
全体の仕組み「どうやって連携する?」
MCPは、主に3つの登場人物で成り立っています。
ホスト
(Host)
- AIを搭載したアプリケーション本体
- 例:Cursor IDE、Claude Desktopなど
- ユーザーが直接操作するインターフェース
クライアント
(Client)
- ホストアプリの中で動いている
- 各機能提供サーバーとの通信を担当
- 窓口役として機能する
サーバー
(Server)
- 特定の機能やデータを提供
- 独立して動作する専門化されたプログラム
- 例:ファイル操作、DB連携、Git操作など
クライアントとサーバーは、決められた形式(JSON-RPC)でメッセージを送り合って通信します。 「お願い! (Request)」「できたよ! (Result)」「ごめん、失敗… (Error)」「これ、伝えとくね! (Notification)」 といった種類のメッセージがあります。
サーバーが提供する主要機能「何ができるようになる?」
サーバーは、AIやアプリが利用できる様々な「機能」を提供します。誰が主導権を持って使うか(制御主体)で考えると分かりやすいです。
- 共通のプロトコルによる効率的な開発
- 機能の再利用が容易
- 新しい機能を簡単に追加可能
- モジュール式の設計
- ユーザー承認ベースの実行制御
- 明確な権限管理
- 共通基盤の活用
- 開発時間の短縮
ルート (Roots)「作業場所・範囲の指定」
サーバーに対して「主にこの範囲(フォルダやAPIなど)で作業してね」と作業場所の目安を伝えるための情報です。
アプリ(クライアント)がサーバーに接続する際に、「このプロジェクトフォルダ(file:///...)と、このAPIエンドポイント(https://...)が今回の作業範囲だよ」と伝えます。サーバーはこの情報をヒントに、関連するリソースを探したり、ツールを使ったりします。
まとめ:MCPがもたらすメリット
MCPは、これらの「機能」を組み合わせることで、AIアプリケーションの可能性を大きく広げます。
- 共通のプロトコルによる効率的な開発
- 機能の再利用が容易
- 新しい機能を簡単に追加可能
- モジュール式の設計
- ユーザー承認ベースの実行制御
- 明確な権限管理
- 共通基盤の活用
- 開発時間の短縮