MCP(Model Context Protocol)とは?AIと外部ツールをつなぐ標準規格の仕組みをわかりやすく解説

MCP(Model Context Protocol)は、生成AIが外部のツールやデータソースに安全につながるための共通規格です。Anthropicが2024年11月に公開したオープン標準で、ChatGPTを提供するOpenAIも2025年3月に採用を表明し、Googleも追随したことで、事実上の業界標準になりつつあります。周辺機器を1本のケーブルでつなぐUSB-Cにたとえられ、AIと業務システムをつなぐ「配線の共通化」を担います。

従来はAIから外部サービスを呼ぶたびに個別のAPI連携を作り込む必要がありました。MCPはこの接続部分を規格化し、一度対応すれば多数のAIから同じサーバーを再利用できるようにします。本記事では、MCPの仕組み(ホスト・クライアント・サーバーの3層構造)、従来APIとの違い、活用例、実装、そして見落としやすいセキュリティ対策までを解説します。

まとめ:MCPの要点

  • MCPとは:AIが外部ツール・データに接続するためのオープン標準。Anthropicが2024年11月公開、OpenAI・Googleも採用。
  • APIとの違い:個別実装が要る従来APIに対し、MCPは接続方式を統一。連携の組み合わせが「M×N」から「M+N」に減る。
  • 仕組み:ホスト(AIアプリ)・クライアント・サーバーの3層。サーバーが「ツール/リソース/プロンプト」の3要素を提供し、JSON-RPC 2.0で通信する。
  • 接続方式:ローカルはstdio、リモートはStreamable HTTP。
  • 注意点:MCPサーバーはAIに操作権限を渡すため、ツールポイズニングや過剰な権限付与などセキュリティ設計が必須。

MCP(Model Context Protocol)とは?AI外部連携を支える標準規格

MCPは、AIモデルと外部システムをつなぐ通信のルールを定めたオープンプロトコルです。Anthropicが2024年11月25日に仕様とSDKを公開し、誰でも無償で利用・実装できます。対象は「AIと外部の連携」に限定されており、システム全般のデータ交換を担う汎用プロトコルではありません。

解決するのは「M×N問題」です。AIアプリがM個、つなぎたい外部サービスがN個あると、個別連携では最大M×N通りの実装が必要になります。MCPという共通の口をあいだに挟むと、AIアプリはMCPに1回対応するだけ(M個)、サービス側もMCPサーバーを1つ用意するだけ(N個)で済み、実装量がM+Nに縮みます。これがMCPが「AI連携の標準規格」と呼ばれる理由です。

なお「MCP」は指の関節(中手指節関節)や医療分野の略語としても使われますが、本記事で扱うのはAI文脈のModel Context Protocolです。

MCPとAPIの違い:なぜ従来のAPI連携では不十分だったのか

「MCPは結局APIと同じでは?」という疑問は多く聞かれます。MCPの通信自体はHTTPやJSON-RPCといった既存技術の上に成り立っており、APIを置き換える別物ではありません。違いは「AIが使う前提で連携方法を標準化しているか」にあります。従来のAPIは仕様がサービスごとにバラバラで、AIに使わせるには各APIの仕様をその都度AI側に教え込む必要がありました。MCPは接続方法・機能の記述形式・認可の流れを統一し、AIがサーバーへ「どんな機能があるか」を問い合わせて自動で把握できる点が決定的に異なります。

観点 従来のAPI連携 MCP
接続方式 サービスごとに個別仕様 共通仕様に統一
機能の発見 人が仕様書を読み実装 AIがサーバーへ問い合わせて自動取得
実装量 M×N(組み合わせの数) M+N
主な利用者 開発者 AIエージェント(開発者が設定)
再利用性 連携ごとに作り込み 1つのサーバーを複数AIで共有

実務では「AIに操作させたい/機能を動的に発見させたい」ならMCP、「決まったシステム間で定型のデータをやり取りする」だけなら従来APIで十分、という使い分けになります。MCPサーバーの内部も多くは既存のREST APIを呼び出しており、両者は競合ではなく補完の関係です。

MCPの仕組み:ホスト・クライアント・サーバーの3層アーキテクチャ

MCPは3つの登場人物で構成されます。この役割分担を押さえると、後述の実装やセキュリティの話が理解しやすくなります。

ホスト・クライアント・サーバーの役割

  • MCPホスト:Claude DesktopやCursor、各種AIエージェントなど、ユーザーが操作するAIアプリ本体。
  • MCPクライアント:ホスト内部にあり、1つのサーバーと1対1で接続を保持する通信担当。
  • MCPサーバー:GitHubやデータベース、ファイルシステムなど外部機能を、MCPの形式でAIに公開する提供元。

ホストが「GitHubのIssueを読みたい」と判断すると、クライアント経由でGitHub用MCPサーバーに要求が飛び、サーバーが実際のGitHub APIを叩いて結果を返します。AIモデルはサーバーの中身を知る必要がなく、MCPの共通形式だけを扱えばよいのがポイントです。

MCPサーバーが提供する3つの基本要素(ツール・リソース・プロンプト)

  • ツール(Tools):AIが実行できる操作。「ファイルを書き込む」「Issueを作成する」など、副作用を伴うアクション。
  • リソース(Resources):AIが読み取れる参照データ。ファイル内容やDBレコードなど、読み取り専用の情報。
  • プロンプト(Prompts):サーバー側が用意する再利用可能なテンプレート。定型の指示や手順を呼び出す。

この3分類により、AIは「読むだけの情報」と「実行して状態を変える操作」を区別して扱えます。危険な操作をツールとして明示的に分けられるため、後述の権限管理もこの単位で行います。リソースにはHTML画面を配信する形態もあり、その仕組みはMCP Appsとサンドボックスiframeで動くUI拡張で解説しています。

通信方式:JSON-RPC 2.0とトランスポート(stdio/Streamable HTTP)

MCPのメッセージ形式はJSON-RPC 2.0です。接続経路(トランスポート)は用途で2種類に分かれます。

  • stdio:AIアプリと同じ端末でサーバーを起動し、標準入出力で通信するローカル方式。手元のファイル操作などに使う。
  • Streamable HTTP:HTTP(実運用はHTTPS)経由でリモートのサーバーに接続する方式。2025年3月26日の仕様改定で、旧来のHTTP+SSE方式を置き換えた。複数クライアントからの接続やセッション管理に対応する。

仕様は継続的に更新されており、2026年のリリース候補ではステートレスなコア設計やタスク(長時間処理)、拡張フレームワークなどが提案されています。実装時は公式仕様で最新の改定日を確認してください。

MCPでできること・活用例

MCPサーバーはすでに多数公開されており、AIから多様な外部サービスを操作できます。代表的な例を挙げます。

ポイントは、同じMCPサーバーをClaude・ChatGPT・Cursorなど対応する複数のAIから共有できることです。1つ作れば連携先を横展開できるため、社内ツールをMCPサーバー化して各種AIに開放する動きが広がっています。

MCPサーバー実装の基本フローと公式SDK

MCPサーバーはAnthropicが公開する公式SDK(Python・TypeScript・Go・Java・C#など)で実装できます。基本は「提供したい機能をツールやリソースとして登録し、トランスポートを指定して起動する」という流れです。

Pythonでは、より少ないコードでサーバーを組めるFastMCPとは|PythonでMCPサーバーを最速構築するフレームワークの使い方【2026年版】が広く使われています。関数にデコレータを付けるだけでツールとして公開でき、スキーマ定義や通信処理を自動化してくれます。

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("demo")

@mcp.tool()
def add(a: int, b: int) -> int:
    return a + b

if __name__ == "__main__":
    mcp.run()

この数行で「addというツールを持つMCPサーバー」が完成し、対応AIから呼び出せます。まずローカルのstdioで動作確認し、外部公開する段階でStreamable HTTPと認可の設計に進むのが実務の順序です。

MCPのセキュリティリスクと対策

MCPは「AIに外部システムの操作権限を渡す」仕組みである以上、便利さと引き換えのリスクを伴います。導入時に必ず設計すべき論点を整理します。

  • ツールポイズニング/プロンプトインジェクション:ツールの説明文やサーバーが返すデータに悪意ある指示を仕込み、AIを誤作動させる攻撃。信頼できないサーバーを無条件でつながないことが第一歩です。ブラウザ操作の事例はPlaywright MCPのセキュリティ|危険性とCVE-2025-9611対策が参考になります。
  • 過剰な権限付与:MCPサーバーに広い権限を与えると、AIの誤判断や乗っ取り時の被害が拡大します。トークンは必要最小限のスコープに絞ります。
  • 認可(OAuth):リモートサーバーではOAuthによる認証・認可が前提です。認可情報をAIの文脈に直接埋め込まず、資格情報を分離して管理します。
  • サーバーの集約管理:複数サーバーを扱う場合は、ゲートウェイでアクセス経路と権限を一元管理すると安全です。Docker MCP Gatewayとは|MCPサーバーを安全に集約する使い方のような仕組みが役立ちます。

「動けばよい」で公開サーバーを無検証でつなぐのは避けるべきです。まず提供元と権限範囲を確認し、社内利用ならゲートウェイやコンテナで隔離する——この一手間が、AIに操作を任せる際の前提になります。

よくある質問(FAQ)

MCPは無料で使えますか?オープンソースですか?

はい。MCPの仕様と公式SDKはオープン標準として無償公開されており、誰でも自由に実装・利用できます。特定企業のサービス契約は不要です。

MCPとAPIはどちらを使うべきですか?

AIに機能を動的に発見させて操作させたいならMCP、決まったシステム間で定型データをやり取りするだけなら従来APIで十分です。MCPサーバーの内部でAPIを呼ぶことも多く、二者択一ではありません。

MCPはどのAIで使えますか?

MCPを公開したAnthropicのClaudeに加え、OpenAI(ChatGPT)やGoogleも対応を表明しています。Cursorなどの開発ツールも対応しており、対応AIは拡大しています。

MCPとRAGの違いは何ですか?

RAGは検索した情報をAIの入力に足す「情報の補強」手法、MCPはAIが外部ツールを呼んで操作・取得する「接続の規格」です。MCP経由で検索機能を提供し、RAG的に使うこともできます。

MCPは危険ではないですか?

仕組み自体は安全に設計されていますが、AIに操作権限を渡すため、信頼できないサーバーへの接続や過剰な権限付与はリスクになります。提供元の確認と権限の最小化が必須です。

関連記事

資料請求

RELATED POSTS 関連記事