MCPとは何か—ホスト・クライアント・サーバーを図解


MCPとは何か—ホスト・クライアント・サーバーを図解

Model Context Protocol(MCP)は、AIアプリケーションと外部のデータや機能を標準化して接続するためのプロトコルです。USBが機器接続の共通規格になったように、AIへ道具を追加する接続面をそろえる発想です。

三つの登場人物

“`text
┌────────────────────────────┐
│ MCP Host: Hermes Agent │
│ ┌────────┐ ┌────────┐ │
│ │Client A│ │Client B│ │
│ └───┬────┘ └───┬────┘ │
└──────┼────────────┼────────┘
│ │
┌──────▼─────┐ ┌────▼────────┐
│freee Server│ │PLAUD Server │
└────────────┘ └─────────────┘
“`

  • Host:Hermes AgentのようなAIアプリ。接続、権限、LLM、文脈を管理する
  • Client:Host内で一つのServerとの接続を担当する
  • Server:専門のデータや機能を公開する。ローカルでもリモートでもよい

2025-11-25版の公式仕様では、一つのHostが複数のClientを持ち、ClientとServerは一対一の接続を維持する構成が説明されています。

Serverが公開する三つのPrimitive

  • Tools:外部API呼び出し、計算、ファイル書き込みなど実行可能な機能
  • Resources:ファイル、DBレコード、APIレスポンスなどの文脈データ
  • Prompts:再利用できる入力テンプレート

Toolはモデルが選ぶ機能です。だからこそ、名前、説明、入力スキーマ、副作用を明確にする必要があります。「save」より「create_notion_task」の方が何をするか分かります。

Transportは二種類が中心

ローカルServerでは標準入力・標準出力を使うstdio、リモートServerではStreamable HTTPが代表的です。MCPはデータ層でJSON-RPC 2.0を使い、Transport層で接続方法と認証を扱います。

MCPが解決しないこと

MCPは接続規格であり、AIの判断が正しいことを保証しません。Serverが安全に実装されているか、Toolへ何を許可するか、利用者承認をどこへ置くかはHostと実装者の責任です。

公式仕様も、Hostが権限、同意、Server間の隔離を管理し、各Serverは必要な情報だけを受け取るという設計原則を示しています。

2026年7月の注意

2026年7月20日時点では、公式仕様ページが2025-11-25をLatestと表示しています。一方、2026-07-28仕様のRelease Candidateも公開され、stateless coreやExtension frameworkなどの破壊的変更が予告されています。7月28日以降に実装する場合は、正式版と利用SDKの対応状況を再確認してください。

まとめ

MCPの価値は、AIと外部サービスの接続を、小さく交換可能なServerへ分けられることです。接続できることより、どのServerへ何を許可したかを説明できることが運用上は重要です。

参考にした一次情報

  • [MCP Architecture—2025-11-25 Latest](https://modelcontextprotocol.io/specification/2025-11-25/architecture)
  • [MCP Server Overview](https://modelcontextprotocol.io/specification/2025-11-25/server)
  • [MCP Tools](https://modelcontextprotocol.io/specification/2025-11-25/server/tools)
  • [2026-07-28 MCP Specification Release Candidate](https://blog.modelcontextprotocol.io/posts/2026-07-28-release-candidate/)

Back to top