MCP(モデルコンテキストプロトコル)入門

MCP(モデルコンテキストプロトコル)入門

AIモデルと外部データソースをつなぐ標準規格

MCP(モデルコンテキストプロトコル)入門

目次

  1. MCPとは?
  2. 歴史と背景
  3. MCPの基本構成要素
  4. エージェントとツール
  5. MCPの仕組みとメリット
  6. 通信方法
  7. 今後の展望
MCP(モデルコンテキストプロトコル)入門

MCPとは?

Model Context Protocol = モデル・コンテキスト・プロトコル

  • モデル(Model): AIモデル(ChatGPTやClaudeなどのLLM)
  • コンテキスト(Context): モデルに与える追加情報や文脈
  • プロトコル(Protocol): 通信するための約束事や手順。HTTPのPはプロトコルのP。

→ 「AIモデルに文脈(コンテキスト)を渡すための統一ルール

MCP(モデルコンテキストプロトコル)入門

歴史と背景 ~ AgentとToolの発展~

エージェント(Agent)

  • ゴールに向かって自分で判断して外部の道具(ツール)を使えるAIアシスタント
    • ツールを使う
    • マルチターン
    • 推論的(reasoning)

ツール(Tool)

  • エージェントが利用できる外部の機能やデータソース
    • 例: 天気API、計算機、データベース、メール送信など
MCP(モデルコンテキストプロトコル)入門

歴史と背景 ~ MCPの登場 ~

ツールの実装方法(インターフェース)がバラバラ。他人が作ったツールを流用するのが難しかった。
→ Claudeの開発元のAnthropicがMCPを発表(2024年11月)

MCP(モデルコンテキストプロトコル)入門

MCPの仕組み

MCP構造

  • MCPクライアント: AIエージェントを内包するアプリケーション側
  • MCPサーバー: 各種データソースや機能を提供する軽量なプログラム
MCP(モデルコンテキストプロトコル)入門

MCPクライアント

  • Claude Desktop
  • GitHub Copilot
  • etc...
MCP(モデルコンテキストプロトコル)入門

MCPサーバー

MCPサーバーはエージェントに主に3種類。

  1. ツール(Tools)

    • 例: 「天気を調べる」「SQLクエリを実行する」「メール送信」
  2. リソース(Resources)

    • 例: 社内Wiki、ユーザーの位置情報、ログファイル
  3. プロンプト(Prompts)

    • プロンプトの例。
    • 例: コードレビュー用質問テンプレート、メール返信文ひな形
MCP(モデルコンテキストプロトコル)入門

具体例(GA4 MCPサーバー)

MCP(モデルコンテキストプロトコル)入門

MCPのエコシステム

MCPエコシステム

MCP(モデルコンテキストプロトコル)入門

MCPのメリット

  1. 統一仕様による互換性

    • 一度MCPサーバーを作れば、持ち運び・協働が可能
    • 複数のクライアントアプリで同じツールが使える。
  2. テンプレートを使える

    • ファイルシステム、データベース、Slack/GitHub連携、ウェブ検索など
  3. LLMやプラットフォームの切替自由度

    • ベンダーロックインを緩和
MCP(モデルコンテキストプロトコル)入門

MCPの通信方法

MCP通信方法

※ JSON-RPC 2.0 / まだ変更する可能性あり。

MCP(モデルコンテキストプロトコル)入門

課題:セキュリティ

セキュリティの課題

  • アクセス制御と認可
    • OAuth2.1の実装など、いまホットな領域。
  • サードパーティーツールのリスク
    • 悪意のあるサーバーによる情報流出
MCP(モデルコンテキストプロトコル)入門

まとめ

  • MCPは「Model Context Protocol」の略称
  • AIエージェントと外部データソースをつなぐための標準規格
  • MCPはクライアント/サーバーに分かれる
  • ツール、リソース、プロンプトの3つの要素がある
  • 標準化に伴う諸々のメリットがあり、Agent/Toolの発展に伴って注目されている。
  • セキュリティ面に課題あり。公式/自作をおすすめ。
MCP(モデルコンテキストプロトコル)入門

Further Reading