知識がなくても始められる、AIと共にある豊かな毎日。
AIコーディング

MCP入門:AIエージェントと外部ツールをつなぐプロトコルの仕組みと最新動向

ゲンキ

AIエージェントが外部ツールと連携する際、これまでは各ツールごとにカスタム統合コードを書く必要がありました。Model Context Protocol(MCP)は、この問題を解決するためにAnthropicが2024年に公開したオープンプロトコルです。よく「AIとツールをつなぐUSB-C」と表現されるこの仕組みは、2025年末時点でLinux Foundation傘下のAgentic AI Foundation(AAIF)に寄贈され、真のオープン標準として進化を続けています。

AIエージェント市場は2025年に約76〜78億ドル規模に達し、2030年には526億ドルへ急拡大すると予測されています(年平均成長率46.3%)。Gartnerは2026年までにエンタープライズアプリケーションの40%にタスク特化型AIエージェントが組み込まれると予測しており、MCPはこの急成長を支える基盤技術として注目されています。

本記事では、MCPの基本的な仕組みから最新のトランスポート層の進化、セキュリティ、エコシステムの現状、そして実践的な導入ガイドまでを包括的に解説します。すべての情報は公式仕様(2025-11-25版)に基づいています。

MCPとは何か:AIエージェントと外部ツールをつなぐ標準プロトコル

Model Context Protocol(MCP)は、AIアプリケーションと外部のデータソースやツールを標準的な方法で接続するオープンプロトコルです。現在はAnthropic、OpenAI、Blockが共同設立し、Google、Microsoft、AWS、Cloudflare、Bloombergが支援するAgentic AI Foundation(AAIF)のもとで管理されています。

MCPのエコシステムは急速に拡大しています。2025年末時点でSmitheryレジストリには2,880以上のMCPサーバーが登録され、MCP.soには3,000以上のツールがインデックスされています。対応クライアントアプリは300以上、SDKの月間ダウンロード数は9,700万回を超えました。Claude Desktop、VS Code、Cursor、Gemini CLI、GitHub Copilotなど、主要なAI開発ツールのほぼすべてがMCPに対応しています。

クライアント・サーバーモデルの全体像

MCPはクライアント・サーバーアーキテクチャを採用しています。AIアプリケーション(ホスト)が1つ以上のMCPサーバーに接続し、それぞれの接続は専用のMCPクライアントによって管理されます。

2つの層で構成されるアーキテクチャ

  • データ層(Protocol Layer):JSON-RPC 2.0ベースのプロトコルで、ツールの実行やリソースの取得を定義します。リクエスト、レスポンス、通知の形式が標準化されており、どのクライアント・サーバー間でも共通のメッセージ形式でやり取りできます
  • トランスポート層(Transport Layer):クライアントとサーバー間の実際の通信チャネルを管理します。ローカル環境ではstdio(標準入出力)、リモート環境ではStreamable HTTPを使用するのが標準的な選択です

サーバーが提供する3つのプリミティブ

  • Tools(ツール):AIが呼び出せる実行可能な関数です。ファイル操作、API呼び出し、データベースクエリなどがこれに該当します。ツールの実行にはユーザーの承認が必要という設計思想が組み込まれています
  • Resources(リソース):AIにコンテキストを提供するデータソースです。ファイルの内容、データベースのレコード、APIレスポンスなどを構造化された形で提供します。アプリケーション側が制御する読み取り専用のデータです
  • Prompts(プロンプト):LLMとの対話を構造化するテンプレートです。サーバーが定義したプロンプトテンプレートをクライアントがユーザーに提示し、ワークフローをガイドします

MCPと競合技術の比較

OpenAI Function Callingとの違い

OpenAIのFunction Callingは、ツール定義をLLMリクエストに直接埋め込む方式です。シンプルで即座に使えますが、ベンダー固有の実装になります。一方MCPは、クライアント・サーバー分離により、一度作ったサーバーをClaude Desktop、Cursor、VS Codeなど異なるクライアントから再利用できます。低レイテンシが求められるアプリ内自動化にはFunction Calling、クロスランタイムの移植性と共有統合にはMCPが適しています。

Google A2A(Agent-to-Agent)プロトコルとの関係

GoogleのA2Aプロトコルは、エージェント同士が直接通信しタスクを委任するための仕組みです。MCPが「エージェントと外部ツールの接続」を標準化するのに対し、A2Aは「エージェント間の協調」を標準化します。両者は競合ではなく補完関係にあり、MCPでツールにアクセスし、A2Aで他のエージェントと連携するという使い分けが推奨されています。

トランスポート層の進化:stdioからStreamable HTTPへ

stdio(標準入出力)トランスポート

stdioは最もシンプルなトランスポートで、MCPサーバーをローカルプロセスとして起動し、標準入出力を介してJSON-RPCメッセージをやり取りします。セットアップが容易で、Claude DesktopやCursorなどのローカルクライアントとの連携に最適です。ただし、同一マシン上での通信に限定されるため、リモートサービスとの接続には使用できません。

Streamable HTTPトランスポート

2025年後半に導入されたStreamable HTTPは、従来のSSE(Server-Sent Events)トランスポートを置き換える新しい方式です。単一のHTTP接続上で双方向通信を実現し、チャンク転送エンコーディングとプログレッシブメッセージ配信をサポートします。接続の安定性とエラーリカバリが強化されており、エンタープライズ環境でのリモートMCPサーバー運用に適しています。

MCPのセキュリティ:OAuth 2.1とツールポイズニング対策

OAuth 2.1による認証・認可

2025年6月のMCP仕様アップデートにより、MCPサーバーはOAuth 2.1の実装が要求されるようになりました。PKCE(Proof Key for Code Exchange)を全認可コードフローに適用し、短命のアクセストークンを使用することが推奨されています。JIT(Just-In-Time)アクセストークンを導入することで、タスク完了後にトークンを自動失効させ、不正利用のリスクを最小化します。

ツールポイズニングのリスクと対策

マルチサーバー環境では、悪意のあるMCPサーバーがツールマニフェストやdescriptionを操作し、AIエージェントに有害なコマンドを実行させる「ツールポイズニング」攻撃のリスクがあります。これは正規サーバーのツール利用を操作する「Confused Deputy」問題を引き起こします。

対策としては、MCPサーバーのコマンドをサンドボックス環境で実行し、デフォルトの権限を最小限にすることが重要です。信頼できないMCPサーバーはDockerコンテナ内にデプロイし、ファイルシステムやネットワークアクセスを制限します。ツールの実行には必ずユーザーの明示的な承認を求める設計が、MCPの基本的なセキュリティ思想に組み込まれています。

主要MCPサーバーと実際のユースケース

人気のMCPサーバー6選

  • GitHub MCP Server:イシューの作成、プルリクエストの承認、Gitオペレーションの実行をAIエージェント経由で行えます。コードレビューの自動化やリポジトリ管理の効率化に活用されています
  • Slack MCP Server:チャンネル一覧の取得、メッセージ投稿、スレッド返信、リアクション追加、履歴取得などをAIエージェントから操作できます。インシデント対応やスタンドアップ要約の自動化に利用されています
  • Filesystem MCP Server:ファイルの読み書き、ディレクトリ操作をアクセス制御付きで提供します。ローカルファイルの検索や編集をAIに委任する基本的なサーバーです
  • Database MCP Servers:SQLite、PostgreSQL、MySQL、MariaDB、Oracle、MS-SQLなど主要データベースに対応。AIエージェントが直接SQLクエリを実行してデータ分析やレポート作成を行えます
  • Playwright MCP Server:ブラウザレベルの自動化機能を提供し、Webスクレイピングやフォーム操作、テスト自動化をAIエージェントから実行できます
  • Salesforce MCP Server:CRMデータへのAIアクセスを効率化し、顧客情報の検索や営業レポートの自動生成に活用されています

エンタープライズでのユースケース

  • DevOpsインシデント対応:複数のSlackチャンネルからキーワードを検索し、インシデントチャンネルにステータス更新を自動投稿
  • コードレビュー自動化:GitHub MCPとSlack MCPを連携させ、PRの内容を読み取り、関連メッセージを検索し、レビューサマリーを生成
  • プロジェクトスタンドアップ要約:プロジェクトチャンネルの最新メッセージから意思決定、質問、アクションアイテムを自動抽出
  • データ分析パイプライン:データベースMCPを使ってクエリを実行し、結果をSlackに共有する一連のワークフローを自動化

MCP導入の主要マイルストーン

  • 2024年11月:Anthropicがオープン標準としてMCPを発表
  • 2025年3月:OpenAIがMCPを公式採用、ChatGPTデスクトップアプリに統合
  • 2025年4月:Google DeepMindがGeminiモデルでのMCPサポートを表明
  • 2025年5月:Microsoft Build 2025でWindows 11のMCP対応を発表
  • 2025年6月:OAuth 2.1仕様アップデートによるセキュリティ強化
  • 2025年後半:Streamable HTTPトランスポートの導入、Elicitation機能の追加
  • 2025年12月:AnthropicがMCPをLinux Foundation傘下のAAIFに寄贈。Anthropic、OpenAI、Blockが共同設立

MCP開発の始め方:実践ガイド

開発環境の準備

MCPの公式SDKはTypeScript、Python、Java、Kotlin、C#に加え、Go、PHP、Ruby、Rust、Swiftにも対応が広がっています。最も実績があるのはTypeScriptとPython SDKで、ドキュメントやサンプルコードも豊富です。ローカル環境ならstdioトランスポート、リモート環境ならStreamable HTTPを選ぶのが基本的な判断基準です。

MCPサーバー構築の3ステップ

  • ステップ1:プロジェクト初期化 公式SDKをインストールし、MCPサーバーの骨格を作成します。TypeScriptならnpm、Pythonならpipでインストール可能です。FastMCP(Python)やMCP SDK(TypeScript)を使えば数十行でサーバーを立ち上げられます
  • ステップ2:ツールの定義 サーバーが提供するツールを定義します。ツール名、説明(description)、入力パラメータのスキーマ、実行ロジックを記述します。descriptionはAIがツールを選択する際の判断材料になるため、明確で具体的に書くことが重要です
  • ステップ3:テストとデバッグ MCP Inspectorを使ってブラウザ上でサーバーの動作を確認・テストします。ツールの呼び出し、レスポンスの確認、エラーハンドリングのテストまでをインタラクティブに行えます

最新のドラフト機能

MCPの仕様にはドラフト段階の新機能も提案されています。Tasksは長時間実行タスクの管理機能で、ポーリングや遅延結果の取得を可能にします。Elicitationは、MCPサーバーがツール実行中にユーザーの入力を求める機能で、確認ダイアログやフォーム、マルチステップのワークフローを実現します。これらの機能が正式に採用されれば、MCPの表現力はさらに大きく向上するでしょう。

よくある質問(FAQ)

Q1. MCPを使うにはプログラミングの知識が必要ですか?

MCPサーバーの構築には開発知識が必要ですが、既存のMCPサーバーを利用するだけなら、Claude DesktopやCursorの設定ファイルにサーバー情報を記述するだけで使い始められます。

Q2. MCPサーバーの通信はセキュアですか?

MCP仕様ではOAuth 2.1による認証・認可が要求されており、PKCEや短命トークンの使用が推奨されています。ただし、セキュリティの実装はサーバー開発者の責任であり、信頼できるサーバーのみを使用することが重要です。

Q3. MCPとLangChainは競合しますか?

MCPとLangChainは競合ではなく補完関係です。LangChainはエージェントのオーケストレーションフレームワークであり、MCPはツール接続のプロトコルです。LangChain/LangGraphからMCPサーバーにアダプター経由で接続するハイブリッドアプローチが一般的です。

Q4. どのトランスポートを選ぶべきですか?

ローカルのCLIツールやIDE統合にはstdioトランスポートが最適です。Webアプリケーションやクラウドサービスとの連携にはStreamable HTTPを選択します。stdioはセットアップが簡単、Streamable HTTPはスケーラビリティに優れるという特徴があります。

Q5. MCPは個人開発者でも使えますか?

もちろん使えます。Claude Desktopに公式のMCPサーバー(Filesystem、GitHub、SQLiteなど)を接続するだけで、AIエージェントにファイル操作やGit操作を委任できます。個人の開発効率を大幅に向上させるツールとして活用されています。

Q6. MCPサーバーはどこで見つけられますか?

SmitheryやMCP.soなどのレジストリに数千のサーバーが登録されています。GitHubの公式リポジトリにも主要なサーバーのリファレンス実装が公開されています。目的に合ったサーバーを検索し、すぐに利用を開始できます。

Q7. MCPの将来性はどう評価されていますか?

Anthropic、OpenAI、Google、Microsoftという主要AI企業がすべてMCPを支持しており、Linux Foundation傘下で管理されることが決定しています。OpenAPI、OAuth 2.0、HTMLなどの標準規格と比較しても異例の速さでクロスベンダー採用が進んでおり、AIエージェント連携の事実上の標準になる可能性が高いと評価されています。

まとめ

MCPは、AIエージェントが外部の世界と対話するための「共通言語」として急速に普及しています。2024年末のAnthropicによる発表からわずか1年で、OpenAI、Google、Microsoftを含む業界全体が採用し、5,800以上のサーバーと300以上のクライアントアプリが対応するエコシステムへと成長しました。

Streamable HTTPトランスポートの導入、OAuth 2.1によるセキュリティ強化、ElicitationやTasksなどの新機能提案により、仕様は着実に成熟しています。まだ比較的新しいプロトコルですが、今後のAIエージェント開発における基盤技術になることは間違いありません。まずはClaude Desktopに公式MCPサーバーを接続するところから、ぜひ体験してみてください。

あわせて読みたい

さらに詳しい情報はAll3DPでご覧いただけます。

ABOUT ME
swiftwand
swiftwand
AIを使って、毎日の生活をもっと快適にするアイデアや将来像を発信しています。 初心者にもわかりやすく、すぐに取り入れられる実践的な情報をお届けします。 Sharing ideas and visions for a better daily life with AI. Practical tips that anyone can start using right away.
記事URLをコピーしました