[MCP]ノンプログラマーのためのMCP入門 骨格と用語編

MCPその2MCP

どうも、ケニー(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つの視点から解剖しました。

  1. システム構成(Architecture):ホスト・クライアント・サーバー
    AIアプリ本体(ホスト)が、接続の数だけ窓口(クライアント)を用意し、道具箱(サーバー)と1対1で繋がる構造。
  2. 3つの武器(Primitives):リソース・ツール・プロンプト
    AIがサーバーから直接「摂取」する機能の最小単位。知識(リソース)、実行(ツール)、お手本(プロンプト)というエージェントの必需品。
  3. 2つの階層(Layer):データ層・トランスポート層
    会話の「中身(データ層)」と、運び方(トランスポート層)を切り離す工夫。これにより、ツールが自分のPCにあってもネットの向こうにあっても、同じお作法で扱える柔軟性。

この「強固な骨組み」と「柔軟な運び方」があるからこそ、AIは単なるチャットボットを超えて、自ら資料を読み、道具を使いこなす「エージェント」へと進化できるのです。

次回は、実際に自分の環境で動かすための、「準備と安全(環境・権限の考え方)」についてお届けします。お楽しみに!

このシリーズの目次

  1. [MCP]はじめに(MCPとは)
  2. [MCP]骨格と用語(クライアント/サーバー、ツール等)
  3. [MCP]環境と構成ファイル(どうやってつながるのか)
  4. [MCP]MCPサーバーを接続してみよう!(ハンズオン)
  5. [MCP]MCPサーバーを自作しよう!前編

タイトルとURLをコピーしました