В 2026 у команды два новых вопроса: как агент вызывает инструменты и как агенты говорят между собой. Anthropic дал первый ответ — MCP, Google — второй — A2A. Путаница начинается когда один протокол пытаются натянуть на задачу другого. Они не конкуренты, а два слоя одного стека.
Зачем два протокола
Агенту нужны два типа связей. Вертикальная — к данным и действиям: прочитать задачу в Jira, записать в БД, вызвать API. Горизонтальная — к другим агентам: делегировать подзадачу, согласовать план, собрать результаты. MCP закрывает вертикаль, A2A — горизонталь. Без первого агент слеп, без второго — одинок.
Что такое MCP
Model Context Protocol (Anthropic, 2024) — открытый стандарт для подключения агента к инструментам и контексту. Агент (MCP client) подключается к MCP-серверам, каждый из которых экспонирует:
tools/list/tools/call— инструменты;resources— данные (файлы, записи);prompts— шаблоны.
Транспорты: stdio, HTTP, SSE, Streamable HTTP. MCP решает проблему N×M интеграций: вместо кастомного коннектора на каждую пару «агент—система» — один протокол с единым аудитом. Именно здесь живет управление доступом: какие инструменты видит агент, с каким scope и чьи секреты подставляются.
Что такое A2A
Agent-to-Agent Protocol (Google, 2025, открыт в 2026) — стандарт для общения агента с агентом. Каждый агент публикует Agent Card (JSON с возможностями, endpoint, аутентификацией), задачи проходят жизненный цикл submitted → working → completed/failed, поддерживаются стриминг, артефакты и человеческий эскалационный хук.
A2A не знает что такое инструмент. Он знает что такое задача для другого агента: «спланируй маршрут», «проверь договор», «собери отчет из трех источников». Транспорт — HTTP + JSON-RPC + SSE, аутентификация — OAuth 2.1 / mTLS, discovery — по каталогу Agent Cards.
Таблица: 6 отличий
| Критерий | MCP | A2A |
|---|---|---|
| Назначение | Агент → инструмент/данные | Агент → агент |
| Примитив | tools/call, ресурсы | tasks с жизненным циклом |
| Discovery | tools/list через gateway | Agent Card каталог |
| Состояние | Сессия + streaming | Задача + артефакты |
| Безопасность | Tool allowlist, scope, брокер секретов | Агент-идентичность, delegation chain |
| Типичный кейс | «прочитай запись в БД» | «делегируй проверку коллеге-агенту» |
Запомнить просто: MCP отвечает на «чем агент делает», A2A — на «кому агент поручает».
Архитектура вместе
В проде они стоят рядом за одним шлюзом:
пользователь → агент-оркестратор
├─A2A→ агент-исследователь → MCP→ поиск / БД
├─A2A→ агент-исполнитель → MCP→ Jira / GitLab
└─MCP→ внутренние инструменты
Паттерн 2026: оркестратор получает задачу, разбивает ее на подзадачи по A2A, каждый специализированный агент вызывает свои инструменты по MCP через единый MCP gateway. Политики, аудит и секреты — в gateway, трассировка — сквозная через trace_id от A2A-задачи до MCP-вызова. Без шлюза получают два sprawl вместо одного.
Когда что выбирать
- Нужен доступ к данным/действиям — берите MCP. Один gateway, один allowlist.
- Нужна делегация между командами/вендорами — добавляйте A2A. Каталог Agent Cards, задачи, эскалация к человеку.
- Оба — когда флот разнородный: оркестратор на одной платформе, исполнители — на других. Тогда MCP внутри домена, A2A — между доменами.
- Не заменяйте MCP на A2A для инструментов: оборачивать каждый
tools/callв A2A-задачу — оверхед без аудита на уровне инструмента.
Где Codenik
Codenik сегодня — MCP gateway: filtered discovery, OAuth 2.1, Cedar-политики, брокер секретов и полный аудит каждого tools/call. Для A2A-сценариев тот же gateway дает единую точку трассировки: A2A-делегация логируется как родительская задача, а каждый MCP-вызов внутри — как дочернее событие с тем же workflow_id. Политики применяются один раз на границе инструментов, независимо от того пришел вызов от человека или от другого агента. Так два протокола получают один контроль.
Короткий вывод
MCP и A2A — не «или», а «и»: один стандартизирует как агент трогает мир, второй — как агенты договариваются между собой. Проектируйте слоями, а управляйте в одной точке — шлюзе. Тогда масштаб агентов не превращается в масштаб интеграций.