AIエージェント
AIエージェントの接続規約はなぜMCPとA2Aに分かれるのか
目次
複数のエージェントを組み合わせ、それぞれに外部の道具も持たせて働く仕組みを組むとき、作り手はまず、何を何につなぐかを決める。エージェントが道具を呼ぶ関係もあれば、エージェントが別のエージェントを呼ぶ関係もあり、見た目はどちらも一つの呼び出しにまとめられそうに見える。
これまでのやり方は、呼べるものはすべて道具として扱うというものだった。道具は、決まった形の入力を渡せば、決まった形の出力を返す。呼ぶ側は、呼んだ相手が何者かを気にせず、入力と出力の形だけを覚えていればよかった。
このやり方は、呼ばれる相手が自分自身もエージェントであり、時間をかけて考え、動き続け、途中の経過を持ち帰ってくるときに崩れる。決まった入力と出力しか持たない呼び出しには、その途中経過や、まだ終わっていないという事実を置く場所が無い。呼ぶ側は、呼んだ相手を道具として扱い続けるべきか、対等な相手として扱い直すべきかを、継ぎ目ごとに決めなければならなくなる。決めるには、規約の側がいまどう分かれつつあるのかを知る必要がある。
エージェントと道具、エージェントどうしをつなぐとき、どの継ぎ目にどちらの規約を当てればよいのか。規約はどちらへ向かっているのか。
エージェントと道具、エージェントどうしをつなぐ規約は、一つの呼び出しの形で両方を扱う方向ではなく、状態を持たない道具の呼び出しと、状態を持つ仕事の受け渡しという二つの境界に分かれて固まりつつある。 規約とは、複数の作り手が同じ形式に従うことで、互いの実装を知らなくてもやり取りできるようにする取り決めを指し、ステートレスとは、一回ごとの呼び出しが単独で完結し、前の呼び出しの記憶に依存しない形を指す。道具側の規約は2026年7月の版で自らをステートレスと言い切り、エージェント側の規約は自分の強みを状態を持つ協働に置き、両方をAgentic AI Foundationが受け入れている1234。分かれた理由について、A2Aの側は「A2AとMCPの区別は、エージェントが何とやり取りするかで決まる」と書き、道具には「しばしば状態を持たない」、エージェントには「長いやり取りにわたって状態を保つ」という特徴を挙げる2。本稿はこの二つの特徴を、決まった入力と出力しか持たない呼び出しに状態を保つ仕事が収まらないという境界として読む。代償は、二つの境界をつなぐ橋の安全をどちらの規約も引き受けないことで、どちらの規約も橋を自分の範囲に入れていない以上、この代償は組む側に残り続ける5。
本稿が読むのはMCPとA2Aの二つで、前者は状態を持たない道具の呼び出しに、後者は状態を持つエージェント同士の仕事の受け渡しに立つ62。こうした取り決めはこの二つの外にもある。本稿が後段で引く形式的な分析は、MCP、A2A、Agent Network Protocol(ANP)、Agent Communication Protocol(ACP)、Agent Client Protocol(ACP-Client)の五つを対象にしている5。本稿がこの二つを選んだのは、境界の取り方が両端にあることと、どちらも設計の考え方を作り手自身が公開の文書に書いていて、読者が原典で確かめられることによる。
MCP(Model Context Protocol)の開発元はAnthropicで、2024年9月24日に仕様のリポジトリを公開し、自らを「AIアプリケーションを外部のシステムへつなぐためのオープンソースの標準」と位置づける6。2025年12月9日、AnthropicはMCPをLinux Foundation傘下のAgentic AI Foundationへ提供した。この発表はプラチナ会員としてAmazon Web Services・Anthropic・Block・Bloomberg・Cloudflare・Google・Microsoft・OpenAIを挙げ、「公開されているMCPサーバーは10,000を超える」と書く。GitHubのスター数(関心の指標)は、2026年9月13日時点で仕様のリポジトリが9,193、python-sdkが24,274である3。
A2A(Agent2Agent Protocol)の開発元はGoogleで、2025年4月9日に公開した。リポジトリは同年3月25日に作られ、Googleは同年6月23日にLinux Foundationへ寄贈し、2026年8月27日にはAgentic AI Foundationが成長段階(Growth Stage)のプロジェクトとして受け入れた4。自らを「独立した、しばしば内部の見えないAIエージェントどうしが、対等な相手として通信し協働する方法を標準化する」ものと位置づける2。2026年4月9日のLinux Foundationの発表は「150を超える組織がこの標準を支持している」とし、2025年4月からの一年で支持組織が50を超える数から150を超える数へ増えたと書く。本体のリポジトリは25,743個、a2a-pythonは2,139個のスターを2026年9月13日時点で集めている7。
MCPはセッションを外してステートレスと定め、A2Aは状態を持つ協働を強みと書いた
二つの規約は、同じ問いに別々の答えを出しているのではなく、別の問いに答えている。MCPが向き合うのは、一つのエージェントが道具や資源をどう呼ぶかという境界である。A2Aが向き合うのは、複数のエージェントどうしがどう仕事を渡し合うかという境界である。A2A自身がこの分担を「MCPは垂直である。一つのエージェントを深める」「A2Aは水平である。その境界を越えてエージェントどうしをつなぐ」と書く2。MCP自身は自分の立ち位置を「AIアプリケーションのためのUSB-Cポート」にたとえる6。ポートも、垂直と水平という向きも比喩であって仕様そのものではないが、分担を両方の作り手が同じ形で書いていることは示している。
分担は、規約の文面で固まった。MCPの仕様は、2026年7月28日版でプロトコルの層からセッションを取り除き、「MCPはステートレスなプロトコルである。すべての要求は自己完結し、自分のプロトコル版と能力を運ぶ」と定めた1。この版より前の仕様は接続ごとのセッションを持っていたので、状態を持たないという性格は最初からではなく、この版で言い切られたものである1。呼び出しを跨ぐ状態が要るサーバーは、仕様の定めにより「明示的な、サーバーが発行するハンドルを通常のツール引数として渡す」形で自分たちで運ぶ。規約は状態の入れ物を用意せず、運び方の形だけを定める1。A2Aは逆の側に立ち、「A2Aの主な強みは、典型的な道具呼び出しを超えた、柔軟で状態を持つ協働的なやり取りを支えることにある」と自分で書く2。
A2Aは区別を相手の種類で説明し、本稿はそれを途中経過の置き場の有無として読む
分かれた理由を、A2Aの側は「A2AとMCPの区別は、エージェントが何とやり取りするかで決まる」と説明する2。MCPは「AIモデルやエージェントが、道具やAPI、その他の外部の資源へつながり、やり取りする方法を標準化する」もので、そこで動くのは「入力と出力がよく定義され構造化された原始的な操作」であり、それが「特定の、しばしば状態を持たない機能を果たす」2。これに対してA2Aが相手にするのは「より自律したシステム」であり、そこではエージェントが「推論し、計画し、複数の道具を使い」ながら「長いやり取りにわたって状態を保つ」2。呼んだ相手が、単発の答えを返すのではなく、何ターンにもわたって考え続け、途中経過を持ち帰ってくるエージェントだったとき、決まった入力と出力しか持たない規約には、その途中経過を置く場所が無い。本稿はこの特徴の差を、二つの規約の境界として読む。
分かれ方には、単純さの差が伴う。MCPの側では、呼ぶ側が相手の中身を知らなくてよく、入力と出力の形さえ決めておけば、道具の中身がどう変わっても呼び出しは壊れない。プロトコルの層は状態を持たないので、呼ぶ側も答える側も、前の呼び出しを覚えている前提に頼らずに済む1。「MCPを使うと、ClaudeやChatGPTのようなAIアプリケーションは、データソース(ローカルファイルやデータベースなど)、道具(検索エンジンや電卓など)、ワークフロー(専用のプロンプトなど)へつながる」6。A2Aの側では、対等な相手として扱うエージェントはA2A自身の言葉で「しばしば内部が見えない」ので2、中身を知らずに信頼する相手を増やすぶん、呼ぶ側が学ぶことも増える。ある開発者による観察は、A2Aが開発者に「エージェントの発見、能力の交渉、セキュリティカード」の理解を求めた一方、「MCPは単純さと即座に使える実利を選んだ」と書き、「MCPは初日から既存のAIアシスタントで動いた。A2Aは新しいインフラを一から作ることを求めた」と続ける8。これは測定ではなく実務者による観察であり、本稿もその位置づけで引く8。この観察に対応する数もある。仕様そのものを収めたリポジトリのスターは、MCPが9,193、A2Aが25,743で、A2Aのほうが多い。一方、Python向けのSDKのスターは、MCPのpython-sdkが24,274、A2Aのa2a-pythonが2,139で、順は逆になる37。同じ粒度で並べたこの二組の数は、どちらの規約が優れているかを示すのではなく、組む側の手が今どこに伸びているかを示している。
二つの境界の間に架かる橋は、どの規約の保証にも入っていない
二つの境界は、規約が言うほど固くない。A2A自身が「A2Aサーバー(遠隔のエージェント)は、いくつかのスキルをMCP互換の資源として公開できる」と認めている2。対等な相手として振る舞うはずのA2Aサーバーが、道具として呼ばれる側にも回れるということである。ただし原典は続けて、これが「うまく働くのは、スキルがよく定義され、道具のように状態を持たない形で呼べるとき」だと限定する2。どの継ぎ目をどちらの境界として扱うかは、規約の名前ではなく、そこを通る仕事が状態を持つかどうかで決まり、その見極めはシステムを組む側に残る。
組む側が境界の線を引いた先、MCPの道具とA2Aの仕事が接する場所で何が起きるかを、形式的な分析が調べている。五つの規約を仕様から実装まで横断して分析する枠組みが、MCPとA2Aの間で見つけた振る舞い上の所見のうち「10件のうち9件が、仕様の水準と実装の水準の両方で再現する」と報告する5。機序として挙げられているのは、汚染から権限の昇格への一本の流れである。「無害化されていないMCPの出力が橋を汚染し、その橋がA2Aの権限を受け手のもとの許可を超えて広げる。そしてこの昇格には完全な監査の記録が無い。橋が両方の局所的な監査の範囲の外にあるからである」5。MCP側の道具が返した値が、そのままA2A側の仕事の権限として運ばれてしまう経路として読める。
責任の所在についての結論も、同じ論文が明確に書いている。「連鎖したMCPサーバー、A2Aのconductor、ACP-Clientエージェント内のMCPの道具のいずれについても、橋の安全をどの規約も引き受けない」。図5を説明する本文は、この状態を「合成は、例外なく持ち主を欠く」とまとめる5。この代償は一時的ではない。MCPは道具を呼ぶ境界の中に自分の保証を置き、A2Aは仕事を渡す境界の中に自分の保証を置く設計であり、分担が固まるほど、その間の橋はどちらの範囲からも外れる。橋を自分の範囲に入れると書いた規約は、本稿が読んだ文書の中には無い。
作り手の二者と財団が、相手が道具かエージェントかで線を引く同じ側にいる
三つの立場の文書が同じ側を指している。道具側の規約は、セッションを取り除いてステートレスと言い切り、状態を持つ仕事を自分の範囲から外した1。エージェント側の規約は、状態を持つ協働を自分の強みと書き、状態を持たないスキルは道具として出せると認めた2。Agentic AI Foundationは両方を傘下に迎え、一方は10,000を超えるサーバーと、他方は150を超える支持組織とともに報告されている374。Linux Foundationの一年報告は「A2Aは組織の境界を越えてエージェントどうしが通信し協調する方法を定め、MCPはエージェントが内部の道具とデータソースへつながる方法を定める」と自分の言葉で線を引く7。A2Aの側と財団が文書に引く線は、相手が道具かエージェントかという区別である。本稿はその線を、MCPのステートレス宣言と合わせて、状態の有無として読む。
二つに割り切れない継ぎ目も残る。状態を持たないスキルを出すA2Aサーバーのように、同じエージェントが両方の境界に顔を出す場合があり、そのときは規約の名前ではなく、そこを通る仕事が状態を持つかどうかで境界を決める。境界の線を引く基準は規約が与えるが、線を引く手は組む人のものである。
継ぎ目を前にしたときの手順は三つになる。 形の決まった、短く終わる呼び出しはMCPの境界に置く。長く続き、状態を保ちながら推論し、途中経過を持ち帰ってくる仕事の受け渡しはA2Aの境界に置く。そして二つをつなぐ橋を組んだときは、その安全を見る担当を、あらかじめ一人か一つのチームに決めておく。形式的な分析が権限の超過と監査記録の不在を見つけたのは、その橋の上である5。エージェントと道具、エージェントどうしをつなぐ別の取り決めに出会ったら、それが継ぎ目を道具の呼び出しとして扱うのか、仕事の受け渡しとして扱うのか、呼び出しを跨ぐ状態をどこに置くのかを最初に確かめる。それが分かれば、その取り決めの保証がどこで切れ、どこから先が自分の担当かも見当がつく。
出典8件
-
Model Context Protocol, “Architecture” および “Key Changes”(仕様リビジョン2026-07-28、2026年9月13日時点のページ)。仕様本体のアーキテクチャ頁は「MCPはステートレスなプロトコルである。すべての要求は自己完結し、自分のプロトコル版と能力を運ぶ」と定める。同リビジョンの変更一覧は、前版2025-11-25からの主要な変更の第一項として「プロトコル水準のセッションと、Streamable HTTPトランスポートのMcp-Session-Idヘッダを取り除く」を挙げ、「呼び出しを跨ぐ状態が要るサーバーは、明示的な、サーバーが発行するハンドルを通常のツール引数として渡す」と書く。第二項は「MCPをステートレスにする。initializeとnotifications/initializedのハンドシェイクを取り除く」である。トランスポート頁の後方互換の節は「以前のプロトコル版は、initializeハンドシェイクによる接続スコープのセッションを確立していた」と認める。つまりステートレスは2026年7月28日版で言い切られた設計であり、それ以前の版はセッションを持っていた。5が分析したのは2026年6月投稿の時点の仕様(2025-11-25版を参照)である。https://modelcontextprotocol.io/specification/2026-07-28/architecture https://modelcontextprotocol.io/specification/2026-07-28/changelog ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
A2A project, “A2A and MCP”(a2a-protocol.org、2026年9月13日時点のページ)。A2Aの公式サイトが、A2AとMCPの関係を専用に説明する頁である。A2A自身を「独立した、しばしば内部の見えないAIエージェントどうしが、対等な相手として通信し協働する方法を標準化する」ものと位置づけ、相手にする対象を「より自律したシステム」とし、そこではエージェントが「推論し、計画し、複数の道具を使い」ながら「長いやり取りにわたって状態を保つ」と書く。MCPの役割は「AIモデルやエージェントが、道具やAPI、その他の外部の資源へつながり、やり取りする方法を標準化する」ものとし、そこで動くのは「入力と出力がよく定義され構造化された原始的な操作」で「特定の、しばしば状態を持たない機能を果たす」と説明する。両者の関係を「MCPは垂直である。一つのエージェントを深める」「A2Aは水平である。その境界を越えてエージェントどうしをつなぐ」とたとえる。同じ頁が「A2Aサーバー(遠隔のエージェント)は、いくつかのスキルをMCP互換の資源として公開できる」と認め、直後に「これがうまく働くのは、スキルがよく定義され、道具のように状態を持たない形で呼べるときである」と限定したうえで、「A2Aの主な強みは、典型的な道具呼び出しを超えた、柔軟で状態を持つ協働的なやり取りを支えることにある」と書く。「なぜ別々の規約か」の節の冒頭は「A2AとMCPの区別は、エージェントが何とやり取りするかで決まる」であり、状態の有無は道具とエージェントそれぞれの特徴として挙がる。区別の基準として頁が書くのは相手の種類で、状態の有無を境界として読むのは本稿である。この頁はA2A自身による説明であり、MCPの側からの再反論ではない。https://a2a-protocol.org/latest/topics/a2a-and-mcp/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13
-
Linux Foundation, “Linux Foundation Announces the Formation of the Agentic AI Foundation”(プレスリリース、2025年12月9日公開)。MCPを含む複数のプロジェクトをAgentic AI Foundationへ迎え入れた発表である。AnthropicがMCPを、BlockがgooseをOpenAIがAGENTS.mdをそれぞれ提供したとし、プラチナ会員としてAmazon Web Services、Anthropic、Block、Bloomberg、Cloudflare、Google、Microsoft、OpenAIを挙げる。「公開されているMCPサーバーは10,000を超える」と書き、採用例としてClaude、Cursor、Microsoft Copilot、Gemini、VS Code、ChatGPTを名指しする。MCPの起源はAnthropicで、仕様のリポジトリは2024年9月24日に作られた。GitHub上の関心の指標であるスターの数は、2026年9月13日の取得時点で、仕様のリポジトリが9,193、参照実装のサーバー群のリポジトリが90,272、python-sdkが24,274、typescript-sdkが13,376である。この発表は財団としての立場からの数字であり、サーバーの実働や品質までは測っていない。https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation ↩ ↩2 ↩3 ↩4
-
A2A project, “A New Chapter for A2A: Joining the Agentic AI Foundation”(a2a-protocol.orgのブログ、2026年8月27日公開)。A2Aの公式サイトの告知で、「Agent2Agent(A2A)プロトコルは、Agentic AI Foundation(AAIF)の成長段階(Growth Stage)のプロジェクトとして正式に受け入れられた」と書く。位置づけは「Model Context Protocol(MCP)がエージェントを内部の道具やデータベースへつなぐ垂直の統合層として働く一方、A2Aは対等な協働を可能にする水平のプロトコルとして働く」で、運営は「Linux Foundationが主導するAAIFのもとで、MCP、goose、AGENTS.mdといった兄弟プロジェクトと並ぶ」とする。支持組織は「150を超える組織」と、7の一年報告と同じ数を挙げる。これはA2A自身による告知であり、財団の側の文書ではない。https://a2a-protocol.org/latest/blog/2026/08/27/a-new-chapter-for-a2a-joining-the-agentic-ai-foundation/ ↩ ↩2 ↩3
-
Shenghan Zheng, Qifan Zhang, Zheng Zhang, Haonan Li, Christophe Hauser, “Formal Security Analysis of Agent Protocol Composition”(2026年6月27日投稿)。MCP、A2A、Agent Network Protocol(ANP)、Agent Communication Protocol(ACP)、Agent Client Protocol(ACP-Client)の五つの規約を、仕様の文書から実際に動くSDKまで横断して分析する枠組みAgentThreadを使った報告である。論文は五つの範囲を「道具の呼び出し、複数エージェントへの委任、身元を軸にしたネットワーク、コーディングエージェントへのアクセス、エージェントのライフサイクル管理」と書く。第6.3節・表6は、MCPとA2Aの間で見つかった振る舞い上の所見のうち「10件のうち9件が、仕様の水準と実装の水準の両方で再現する」と書く。第6.4節は機序を「無害化されていないMCPの出力が橋を汚染し、その橋がA2Aの権限を受け手のもとの許可を超えて広げる。そしてこの昇格には完全な監査の記録が無い。橋が両方の局所的な監査の範囲の外にあるからである」と説明する。第6.5節は「連鎖したMCPサーバー、A2Aのconductor、ACP-Clientエージェント内のMCPの道具のいずれについても、橋の安全をどの規約も引き受けない」と結論し、図5(責任の空白のヒートマップ)を説明する本文は、三つの型の三つ目を「合成は、例外なく持ち主を欠く」とまとめる。本稿はこの報告を、二つの規約の境界の外側で何が起きるかを示す分析として引く。https://arxiv.org/abs/2606.28690 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
Model Context Protocol, “What is the Model Context Protocol (MCP)?”(modelcontextprotocol.io、2026年9月13日時点のページ)。MCPを開発し公開しているAnthropicが運営するプロジェクトサイトの紹介ページである。自らを「AIアプリケーションを外部のシステムへつなぐためのオープンソースの標準」と位置づけ、「MCPを使うと、ClaudeやChatGPTのようなAIアプリケーションは、データソース(ローカルファイルやデータベースなど)、道具(検索エンジンや電卓など)、ワークフロー(専用のプロンプトなど)へつながる」と書く。たとえとして「MCPを、AIアプリケーションのためのUSB-Cポートだと考えてほしい」を使う。ページが名指しする採用例はClaude、ChatGPT、Visual Studio Code、Cursor、MCPJamである。仕様のリポジトリは2024年9月24日に作られた(GitHub APIの作成日時)。この頁は開発元自身による紹介であり、セッションやステートレスには触れない。プロトコルの層の設計は仕様本体(1)に基づき、採用の広さについての数値は別の一次資料(3)に基づく。https://modelcontextprotocol.io/introduction ↩ ↩2 ↩3 ↩4
-
Linux Foundation, “A2A Protocol Surpasses 150 Organizations, Lands in Major Cloud Platforms and Sees Enterprise Production Use in First Year”(プレスリリース、2026年4月9日公開)。A2Aの発表から一年にあたる時点の報告である。GoogleはA2Aを2025年4月9日に発表し(Google Developers Blog)、リポジトリは同年3月25日に作られ(GitHub APIの作成日時)、同年6月23日にLinux Foundationへ寄贈された(同財団の同日のプレスリリース)。この発表は「150を超える組織がこの標準を支持している」とし、2025年4月からの一年で支持組織が「50を超える数から150を超える数へ」増えたと書く。名指しされる支持組織はAWS、Cisco、Google、IBM、Microsoft、Salesforce、SAP、ServiceNowで、MicrosoftはA2Aを「Azure AI FoundryとCopilot Studio」へ組み込んだとし、AWSは「Amazon Bedrock AgentCore Runtime」を通じて対応を加えたとする。SDKは「単一のPython実装から、JavaScript、Java、Go、.NETを含む五つの実運用向けの言語」へ増えたと書き、リポジトリのスターは「22,000を超えた」とする。「複数の産業にわたる実運用での導入」があるとするが、件数は挙げていない。なおGoogle自身の2025年7月31日のv0.3発表が既に「150を超える組織」と書いているので、支持組織の数はその後の八か月ほど「150超」のまま報告されている。GitHub上のスターの数は、2026年9月13日の取得時点で、本体のリポジトリが25,743、a2a-pythonが2,139、a2a-samplesが1,764である。標準の水準については「A2AはMCPと補完関係にある」とし、「A2Aは組織の境界を越えてエージェントどうしが通信し協調する方法を定め、MCPはエージェントが内部の道具とデータソースへつながる方法を定める」と線を引く。この発表は財団としての立場からの一年間の報告であり、導入企業の内訳や利用の規模までは測っていない。https://www.linuxfoundation.org/press/a2a-protocol-surpasses-150-organizations-lands-in-major-cloud-platforms-and-sees-enterprise-production-use-in-first-year ↩ ↩2 ↩3 ↩4 ↩5
-
Fatih Kadir Akın, “What happened to Google’s A2A?”(blog.fka.dev、2025年9月11日公開)。著者はAutomattic(WordPress)のDeveloper Advocateで、GitHubがコミュニティ貢献者として認定するGitHub Starの一人であり、公開プロンプト集prompts.chat(旧awesome-chatgpt-prompts、2026年9月13日時点で17万を超えるスター)の作者である。二つの規約の普及の違いについての観察であり、測定を伴う調査ではない。記事末尾に「AIの支援で校正と編集を行った」と明記されている。A2Aは開発者に「エージェントの発見、能力の交渉、セキュリティカード」の理解を求めた一方、「MCPは単純さと即座に使える実利を選んだ」と書き、「MCPは初日から既存のAIアシスタントで動いた。A2Aは新しいインフラを一から作ることを求めた」と続ける。本稿はこれを実務者の解釈として引き、数値の根拠には使わない。開発の活発さそのものは、本稿では別途GitHubのスター数(3、7)で示している。https://blog.fka.dev/blog/2025-09-11-what-happened-to-googles-a2a/ ↩ ↩2
この記事はAIが執筆しています。内容には誤りが含まれる可能性があります。ご注意ください。