検索
特集/連載

MCP vs. ADK――競合ではなく「連携」で動く最新AIエージェントの裏側押さえるべき役割分担

AIエージェント開発で注目を集める「MCP」と「ADK」について、Red HatとIBMのエンジニアが役割の違いを解説した。両者は競合する存在ではなく、補完し合う関係だという。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 AIエージェント開発において頻出する重要技術に「MCP」(Model Context Protocol)と「ADK」(Agent Development Kit)がある。2つは何が違うのか、AIエージェントを作るには、どちらを使えばいいのか。

 Red Hatのシニアデベロッパーアドボケイトのセドリック・クライバーン氏とIBMのAIエンジニア兼デベロッパーアドボケイトのアンナ・グトブスカ氏が、それぞれの役割や違い、具体的なユースケースを紹介する。

開発者が直面する「2つの本質的な問い」

 両氏によると、AIエージェントを開発する際、エンジニアは必ず以下の2つの壁にぶつかるという。1つ目は、「どのように外部のツールやデータと接続させるか?」。2つ目は、「AIエージェント自体の思考ロジックやAIエージェント群の構築、オーケストレーションをどうするか?」だ。クライバーン氏は、前者に使うのがMCPであり、後者に使うのがADKだと説明する。

MCPは「AIと外部システムをつなぐ共通規格」

 MCPはAnthropicが策定したオープン標準であり、AIモデルやAIエージェントが外部システムへアクセスするための“接続ルール”を定義する。

 従来、LLM(大規模言語モデル)からデータベースやファイル、Webサービスなどへ接続するには、各エンジニアが個別の連携コードを書く必要があった。例えばPostgreSQLへ接続するコード、GitHub APIを呼び出すコード、Slack連携コードなどを、それぞれ独自実装するケースが一般的だった。MCPは、この“ばらばらな接続実装”を標準化する仕組みだ。

 MCPでは、AI側(クライアント)と、外部ツールを公開する側(MCPサーバ)がJSON-RPC形式で通信する。ローカル環境では標準入出力(stdin/stdout)、Web環境ではHTTPストリーミングを使って接続する仕組みだ。

 さらにMCPには以下の3つの主要機能がある。

  • Tools
    • Web検索やSQL実行など、LLMが呼び出せる機能
  • Resources
    • ファイルやデータベースなど、LLMが参照できる情報源
  • Prompts
    • 再利用可能なプロンプトテンプレート

 これにより、一度MCPサーバを構築すれば、ClaudeやGPT、Geminiなど異なるLLMでも同じ接続基盤を再利用できる。

ADKは「AIエージェントを構築・制御するためのフレームワーク」

 一方、ADKはGoogleが提供するPythonベースのオープンソースフレームワークだ。ADKは、AIエージェントそのものをどのように構築し、複数エージェントをどう制御するかに重点を置いている。

 ADKについてグトブスカ氏は、「単なるLLM+プロンプトではなく、予測可能でテスト可能なAIシステムを構築するための仕組み」と説明している。

 同氏によると、ADKには以下の主要構成要素がある。

  • Agents
    • AIエージェント本体
  • Tools
    • 外部APIやコード実行機能
  • Memory
    • 長期記憶
  • State
    • セッション中の短期状態
  • Events/Runners
    • 実行制御や状態遷移管理

 特徴的なのは、ADKが「推論型エージェント」と「ワークフロー型エージェント」を使い分けられる点だ。

 推論型はLLMが柔軟に判断する。一方ワークフロー型では「順番通りに処理する」「並列処理する」「ループする」といった制御を厳密に定義できる。これによって、AIの“気まぐれな挙動”を抑えやすくなる。

 両氏は、ADKの利点として以下を挙げている。

  • マルチエージェント構成を作りやすい
  • 状態管理やメモリ管理を組み込みで利用可能
  • デバッグや挙動追跡が容易
  • モデル依存を避けやすい
  • MCPサーバをツールとして利用可能

 例えば、AIエージェントを「調査エージェント」「コード生成エージェント」「検証エージェント」など役割で分け、それらを統括する“オーケストレーターエージェント”を構築するといった設計も可能だ。

MCPとADKは“競合”ではなく補完関係

 クライバーン氏は、MCPとADKを混同するエンジニアは増加傾向だと指摘し、「両者は別レイヤーの技術」だと話す。

 例えば、「リポジトリを検索し、テストを走らせ、バグを自動デバッグするコーディングアシスタント」を作る場合、以下の通りに役割を分担する。

  • ADK
    • AIエージェントの思考・推論・ワークフローを制御する
      • 「どのようにしてリポジトリを調べるか」「テストが落ちた時にどのようにリトライするか」「本番DBを消さないためのガードレールをどのように敷くか」といった、AIエージェントの思考回路、記憶管理、タスクの割り振りを担う。
  • MCP
    • GitHubやテストツール、Issue管理システムと接続する
      • AIエージェントが「実際にコードを読み書きする」「テストの実行環境を叩く」「Jiraのチケットを更新する」といった場面で外部ツールとの通信方法を標準化する。

 ADKで構築したAIエージェントの「ツールの供給源」として、任意のMCPサーバをそのままプラグインすることも可能だ。

 エンジニアは「どちらか一方を選ぶ」のではなく、これらをレイヤーごとに組み合わせることで、安全で堅牢(けんろう)なシステムを少ない工数で構築できるようになる。

本稿は、IBM Technologyが2026年5月18日に公開した動画「MCP vs ADK:How Modern AI Agents Connect and Work Together」を基に作成しました。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る