どうも、ケニー(tsujikenzo)です。このシリーズでは、「ノンプログラマーのためのMCP入門」をお届けします。今日は第2回目です。
おさらい
前回は、「はじめに(MCPとは)」をお届けしました。MCPとは、AIとツールをつなぐお作法という基礎を学びました。
今回は、「MCPの骨格と用語」をお届けします。公式リファレンスをベースに、解剖していきましょう。
Architecture overview – Model Context Protocol
今回は、MCPの
- Architecture(構成)
- Primitives(武器)
- Layer(階層)
という、3つの大きな柱について学びます。
クライアント・サーバー型アーキテクチャ
MCPの骨格を理解する上で最も重要なのは、「クライアント・サーバー型アーキテクチャ」に基づいているという点です。(アーキテクチャとは、システムの全体的な骨組み・構造・設計思想のことです。)公式ドキュメントでは次のように定義されています。
“MCP follows a client-server architecture where an MCP host — an AI application like Claude Code or Claude Desktop — establishes connections to one or more MCP servers.”
(MCPはクライアント・サーバー型アーキテクチャを採用しており、Claude DesktopのようなAIアプリケーション(ホスト)が、1つ以上のMCPサーバーに対して接続を確立します。)
MCPにおいて、中心的な役割を担う要素は、以下の3つです。
MCP Host(ホスト)
複数のクライアントを統括・管理するAIアプリケーション本体を指します。
具体的には、Claude Desktop、Claude Code、Cursor、あるいはVS Codeといった、AIモデルが動作する環境そのものです。
MCP Client(クライアント)
ホストアプリケーション内で、特定のサーバーとの接続を維持する部品です。
重要なのは、ホストがサーバーに接続する際、サーバーごとに専用の「クライアント・オブジェクト」が生成(インスタンス化)されるという点です。これにより、ホストは複数の異なるデータソースと同時に通信することが可能になります。
MCP Server(サーバー)
クライアントに対して、コンテキスト(文脈)やツールを提供する軽量なプログラムです。
サーバーの実行場所は、自身のPC内(Local)であることもあれば、インターネット越しのリモート環境(Remote)であることもあります。
図にすると、こんな感じです。

私たちが使っている『ホスト(Claude Desktopなど)』は、接続したい『サーバー(道具箱)』の数に合わせて、専用の『クライアント(窓口)』を、その都度用意してくれます。
つまり、私たちが複雑な設定を意識しなくても、ホストが裏側でこれらのお作法(プロトコル)をすべて管理してくれているのです。
AIが摂取する「3つの武器(プリミティブ)」
MCPサーバーは、AIに対して具体的に何を提供しているのでしょうか。公式ドキュメントでは、サーバーが提供し、AIが「摂取」する機能をPrimitives(プリミティブ:基本要素)と呼び、大きく3つに分類しています。
いわば、AIエージェントが使いこなす「3つの武器」です。
1.【重要】Resources(リソース):AIが読める「資料・データ」
リソースは、AIにとっての「読み取り専用の外部知識」です。AIはサーバー経由でこの資料をコンテキストとして「摂取」し、回答の正確性を高めます。
例:ファイルの内容、Notionのページ、データベースのレコード
2.【重要】Tools(ツール):AIが使える「手足・実行する機能」
ツールは、AIが外部の世界に働きかけるための「実行機能」です。
これがあることで、AIは単なる「物知り」から、作業を代行する「エージェント」へと進化します。
例: 「Slackにメッセージを送る」「ファイルを新規作成する」「プログラムを実行する」など。
3.Prompts(プロンプト):AIへの「指示書」
プロンプトは、AIとのやり取りをスムーズにするための「定型のお作法(テンプレート)」です。
ユーザーが複雑な指示を書かなくても、サーバー側で用意された「プロの型」をAIに摂取させることができます。
例: 「このコードを3つの観点でレビューせよ」「このログを要約して重要度を判定せよ」といった専門的な指示の型。
これら3つの武器が共通の「お作法」として標準化されているおかげで、AIはどのサーバーに繋がっても、迷うことなく知識を蓄え、道具を使い、指示に従うことができます。

データのやり取りを支える「2つの層」
最後は、データのやり取りについての工夫です。
MCPは、通信の仕組みを「データ層(内側)」と「トランスポート層(外側)」の2階層に分けて管理しています。この分離によって、データの「中身」と「運び方」が独立して管理されます。

データ層(Data Layer):お作法の定義
データ層とは、JSON-RPC 2.0をベースとした、クライアントとサーバー間の「会話」のルールを決めたものです。先ほど登場した「リソース」や「ツール」といった基本要素(プリミティブ)が、どのような形式で送受信されるかを規定しています。
AIとサーバーが「どんな言葉で、どんな順番でおしゃべりするか」を決めている、いわば「便箋に書かれたメッセージ」そのものです。
トランスポート層(Transport Layer):通信路の定義
実際にデータをどのように運ぶかという「物理的な通り道」を規定します。メッセージ(便箋)を包み込み、実際に相手へ届けるための「封筒や配送ルート」の役割をします。
現在、主に2つの方式がサポートされています。
- stdio (Standard Input/Output): 同一マシン内のプロセス間で文字を直接やり取りする方式。ローカル環境で、最も高いパフォーマンスを発揮します。
- SSE (Server-Sent Events): HTTP POSTを利用してリモートサーバーと通信する方式。インターネット越しにサーバーを公開・利用する際に用いられます。

まとめ
今回は、MCPがどのようなパーツで構成されているのか、その「骨格」を3つの視点から解剖しました。
- システム構成(Architecture):ホスト・クライアント・サーバー
AIアプリ本体(ホスト)が、接続の数だけ窓口(クライアント)を用意し、道具箱(サーバー)と1対1で繋がる構造。 - 3つの武器(Primitives):リソース・ツール・プロンプト
AIがサーバーから直接「摂取」する機能の最小単位。知識(リソース)、実行(ツール)、お手本(プロンプト)というエージェントの必需品。 - 2つの階層(Layer):データ層・トランスポート層
会話の「中身(データ層)」と、運び方(トランスポート層)を切り離す工夫。これにより、ツールが自分のPCにあってもネットの向こうにあっても、同じお作法で扱える柔軟性。
この「強固な骨組み」と「柔軟な運び方」があるからこそ、AIは単なるチャットボットを超えて、自ら資料を読み、道具を使いこなす「エージェント」へと進化できるのです。
次回は、実際に自分の環境で動かすための、「準備と安全(環境・権限の考え方)」についてお届けします。お楽しみに!



