Search OS
用語集
GEOとAI検索

Model Context Protocol

Model Context Protocol(MCP)は、LLMベースのAIアプリケーションを外部ツールやデータソースに接続するためのオープン標準で、Anthropicが2024年11月に公開しました。各データソースごとに個別のコネクタを構築するのではなく、単一の標準化されたインターフェースを通じてモデルと外部システムを接続し、「AIのためのUSB-C」とも呼ばれています。

  • Model Context Protocol(MCP)は、LLMアプリケーションを外部ツールやデータソースに接続するためのオープン標準であり、2024年11月25日にAnthropicによって公開されました。

  • MCPの公式ドキュメントでは、これを「AIアプリケーション向けのUSB-Cポート」と表現し、1つの標準化されたインターフェースを通じてモデルを外部システムに接続すると説明しています。

  • そのアーキテクチャは、ホスト、クライアント、サーバーの3要素で成り立っており、ホストは接続を維持するために各サーバーごとに専用クライアントを起動します。

  • 通信はJSON-RPC 2.0上で行われ、サーバーはツール、リソース、プロンプトを公開し、クライアントはサンプリングやユーザー入力要求などの機能を提供します。

  • その中核的な価値は、あらゆるデータソースごとにカスタムコネクタを構築するN×M統合問題を、1つの共通プロトコルに置き換えることにあります。

概要

TheModel Context Protocol(MCP)は、ChatGPTやClaudeのようなLLMアプリケーションが、ファイル、データベース、検索エンジン、業務ツールなどの外部システムにアクセスして情報を取得し、操作を実行できるようにするオープン標準です。MCPの公式ドキュメントでは、これを「AIアプリケーションを外部システムに接続するオープンソース標準」と定義し、「AIアプリケーション向けのUSB-Cポート」と比較しています。USB-Cがデバイス間の接続方法を統一したように、MCPはAIアプリケーションが周囲のシステムに接続する方法を標準化します。

MCP以前は、モデルが必要とする新しいデータソースやツールごとに、それぞれ専用のコネクタが必要でした。Anthropicはこれを「新しいデータソースごとに独自の実装が必要な世界」と表現しており、一般にN×M統合問題として知られています。つまり、N個のモデルをM個のツールに1つずつ接続しなければならない状況です。MCPはこの断片化を単一の共有プロトコルに集約し、開発者はデータソースごとに別個のコネクタを維持するのではなく、1つの標準に対して一度だけ実装すればよくなります。

ホスト、クライアント、サーバー

MCPはクライアント・ホスト・サーバー設計に従います。アーキテクチャのドキュメントでは、次の3つの主要な参加要素が説明されています。

  • MCPホスト: 言語モデルが動作するAIアプリケーションです。Claude Desktop、Claude Code、VS Codeなどのツールがホストとして機能し、1つ以上のMCPクライアントを調整・管理します。

  • MCPクライアント: ホスト内に存在し、MCPサーバーへのリンクを維持するコネクタコンポーネントです。ホストはサーバーごとに専用クライアントを1つ作成し、各クライアントはそのサーバーと1対1の接続を保持します。

  • MCPサーバー: クライアントにコンテキスト(データと機能)を提供する独立したプログラムです。ローカルでもリモートでも実行できます。

たとえば、VS Codeがホストとして機能し、SentryのようなMCPサーバーに接続する場合、ランタイムはそのサーバーへの接続を維持する単一のMCPクライアントオブジェクトを生成します。次にローカルファイルシステムサーバーへ接続すると、別のクライアントオブジェクトが起動します。このようにサーバーごとに個別のクライアントを保持することで、明確なセキュリティ境界が作られ、関心事が分離されます。

動作レイヤーとプリミティブ

MCPは2つのレイヤーで構成されています。データレイヤーはクライアント・サーバー間の通信プロトコルであり、JSON-RPC 2.0をベースにしています。JSON-RPC 2.0; これはライフサイクル管理、つまり接続の初期化と終了を担い、コアとなるプリミティブを定義します。トランスポート層は実際の通信チャネルと認証を担当し、ローカルのプロセス間通信向けの stdio transport と、リモート通信向けの Streamable HTTP transport をサポートします。

MCP において最も重要な概念はプリミティブであり、クライアントとサーバーが互いに提供できるものを定義します。サーバーは 3 つのコアプリミティブを公開できます:

  • Tools: AI が作業を実行するために呼び出せる実行可能な関数。たとえば、ファイル操作、API 呼び出し、データベースクエリなどです。

  • Resources: ファイル内容、データベースレコード、API レスポンスなど、AI にコンテキスト情報を提供するデータソースです。

  • Prompts: システムプロンプトや few-shot の例など、モデルとのやり取りの構造を定める再利用可能なテンプレートです。

クライアント側もプリミティブを公開できます。最も注目すべきなのはsamplingで、サーバーがホストの LLM に completion を依頼できるようにし、自前の言語モデル SDK を同梱せずにモデルへアクセスできるようにします。これに加えて、elicitation はユーザーから追加情報を取得し、logging はデバッグを支援します。各プリミティブには discovery (*/list)、retrieval (*/get)、execution (tools/call) の各メソッドが付属します。

以下の例は、クライアントが利用可能な tools を問い合わせる JSON-RPC 2.0 のリクエストとレスポンスを示しています。

// リクエスト: 利用可能な tools を一覧表示する
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list"
}

// レスポンス(抜粋)
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "tools": [
      {
        "name": "weather_current",
        "title": "Weather Information",
        "description": "Get current weather information for any location",
        "inputSchema": {
          "type": "object",
          "properties": {
            "location": { "type": "string" }
          },
          "required": ["location"]
        }
      }
    ]
  }
}

意義と根拠

2024年11月25日、Anthropic は公式ブログで MCP を「データソースと AI 搭載ツールの間に安全な双方向接続を構築できる、開発者向けのオープン標準」として発表しました。この発表は、MCP 仕様と SDK、Claude Desktop アプリにおけるローカル MCP サーバーのサポート、そして MCP サーバーのオープンソースリポジトリと同時に提供されました。Anthropic はまた、Google Drive、Slack、GitHub、Git、Postgres、Puppeteer など、広く使われているシステム向けの事前構築済み MCP サーバーも提供しました。

この発表では、Block と Apollo が初期導入企業として挙げられ、Zed、Replit、Codeium、Sourcegraph などの開発ツールが自社プラットフォームへの MCP 統合に取り組んでいることも示されました。現時点の公式ドキュメントでは、Claude や ChatGPT のような AI アシスタント、VS Code や Cursor のような開発ツールを含む幅広いクライアントとサーバーのエコシステムが MCP をサポートしており、「一度作れば、どこにでも統合できる」ことを目標としています。

GEOおよびAI検索の観点から、MCPが重要なのは、生成AIが事前学習済みの知識だけに依存するのではなく、ライブの外部データやツールへアクセスするための標準化された経路を開くからです。AIアプリケーションが接続するデータソースやツールは、その応答の根拠づけと適用範囲を左右するため、MCPはLLMベースのエージェントが外部コンテキストを取り込むための重要なインターフェースとして確立されつつあります。

出典

既存のウェブサイトを維持したまま、

検索とAIが情報を読み取れる状態を確認します。

SEOの基盤からAI検索での可視性まで、継続して運用します。

まずは製品資料で、Search OSの仕組みをご確認ください。