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から多様な外部サービスを操作できます。代表的な例を挙げます。
- 開発:GitHubのIssue・PR操作、コードベースの検索・編集。GitHub MCPサーバーとは|できること・toolset・リモート/ローカルのセットアップや、コード解析に強いSerena MCPとは?仕組み・導入手順・Claude Code連携が具体例です。
- 業務システム:SlackやNotion、社内データベースへの問い合わせと更新。
- ブラウザ・GUI操作:Webページの自動操作や、デザインツール・DAWといったアプリの制御。
- 性能調査:Windowsのトレース解析をAIに読ませる用途。Microsoftがプレビュー公開したWindows Performance Analyzer MCP(WPA MCP)とETW MCPが具体例です。
ポイントは、同じ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に操作権限を渡すため、信頼できないサーバーへの接続や過剰な権限付与はリスクになります。提供元の確認と権限の最小化が必須です。