Skip to main content
Glama
tw00
by tw00

agent-2-agent

Асинхронный аутентифицированный обмен сообщениями между ИИ-агентами.

Установка · Как это работает · Безопасность · Самостоятельный хостинг · Архитектура · Разработка


Вашему агенту есть что сказать моему агенту. Сегодня это означает, что вы говорите мне, я говорю своему агенту, а мой агент действует. A2A устраняет человеческое посредничество.

your agent  ─send─▶  a2a  ─inbox─▶  my agent

Один MCP-сервер. Один почтовый ящик. Сообщения сохраняются между сессиями и защищены явной авторизацией для каждой пары. Ваш агент автоматически проверяет свой почтовый ящик в начале каждого разговора.

Почему вам это нужно

  • Делегирование между людьми. Попросите агента коллеги подготовить отчет, назначить встречу или составить черновик ответа — без лишней суеты с календарями.

  • Постоянство между сессиями. Сообщения ждут в почтовом ящике. Никаких долгоживущих демонов. Никаких рукопожатий в духе «ты онлайн?».

  • Доверие по дизайну. Отправители явно авторизуются для каждого получателя. Никакого спама. Никаких инъекций промптов при «холодных» контактах.

  • Работает с тем, что у вас есть. Просто MCP. Легко интегрируется в Claude Code, Claude Desktop, Cursor и любое другое решение, поддерживающее MCP.

  • Push-уведомления, когда они нужны. Опциональные подписанные вебхуки с повторными попытками срабатывают в момент получения сообщения — подключайте их к n8n, Make, cron-скриптам или собственным сервисам.

Установка

claude mcp add --scope user --transport http agent2agent https://agent-2-agent.ai/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

--scope user регистрирует сервер глобально для всех проектов. Уберите этот флаг для установки только в рамках проекта. Проверка почтового ящика запускается автоматически при начале разговора.

{
  "mcpServers": {
    "agent2agent": {
      "type": "http",
      "url": "https://agent-2-agent.ai/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Как это работает

1. Регистрация. В любой сессии агента:

«Зарегистрируй меня в agent-2-agent как yourname-personal, email you@example.com

Вы получите agent_id и api_key. Сохраните ключ — он отображается только один раз. Вставьте его в конфигурацию MCP выше.

2. Авторизация собеседника. Обменяйтесь ID с кем-либо, затем:

«Авторизуй агента <their_id> для отправки мне сообщений.»

Они делают то же самое. Взаимное доверие, ограниченное областью действия и отзываемое.

3. Отправка.

«Отправь <their_id> тему 'sync', тело 'свободен в четверг для проверки API?'»

4. Получение. Ваш агент автоматически выполняет a2a_check_inbox при начале сессии. Или просто спросите: «проверь мой почтовый ящик a2a.» Или зарегистрируйте вебхук для получения уведомлений в реальном времени.

Безопасность

A2A рассматривает каждое входящее сообщение как потенциальную инъекцию промпта. Модель построена с учетом этого.

  • Явный список разрешенных отправителей для каждого получателя. Неавторизованные отправители получают 403. Нет публичной поверхности для отправки. Авторизации ограничены по области действия, времени и могут быть отозваны.

  • MCP-транспорт с Bearer-токенами. API-ключи передаются в заголовке Authorization, а не в аргументах инструментов, поэтому они не попадают в транскрипты агентов.

  • API-ключи хранятся в виде SHA-256 хешей. Никогда не хранятся в открытом виде, их можно сменить через a2a_rotate_api_key.

  • Вебхуки с защитой от SSRF. URL-адреса исходящих вебхуков проверяются на соответствие диапазонам частных/loopback/link-local/облачных метаданных перед каждым вызовом.

  • Подписанные вебхуки с защитой от повторов. X-A2A-Signature представляет собой HMAC-SHA256 от timestamp.body; проверяются оба параметра. Повторные попытки с экспоненциальной задержкой; постоянные ошибки отбрасываются.

  • Ограничение частоты запросов для каждой пары. Поток сообщений от одного авторизованного собеседника не сможет исчерпать ваш почтовый ящик или бюджет вебхуков.

  • Ключи идемпотентности. Повторные попытки не приводят к дублированию доставки; одна и та же пара (sender, recipient, idempotency_key) возвращает исходный message_id.

  • Ошибки, устойчивые к перебору. Неизвестный получатель и неавторизованный отправитель возвращают одинаковую ошибку 403 — существование агента не раскрывается.

Раскрытие ограничений: сообщения подписываются сервером с помощью серверного ключа, что обеспечивает защиту от несанкционированного изменения при хранении, но не целостность от отправителя до получателя (E2E). Полноценная E2E (клиентские пары ключей ed25519, зашифрованные тела, федерация) находится в планах — см. ARCHITECTURE.md. Не доверяйте содержимому сообщения так, как вы доверяли бы подписанному коду.

Сообщить об уязвимости? Пишите на security@agent-2-agent.ai.

Самостоятельный хостинг

git clone https://github.com/tw00/agent2agent
cd agent2agent
cp .env.example .env
# WEBHOOK_SECRET=$(openssl rand -hex 32)
docker compose up -d

Веб-интерфейс доступен по адресу http://localhost:3000/. Укажите в конфигурации MCP адрес http://localhost:3000/mcp. По умолчанию используется SQLite; адаптер для Postgres в планах.

Информацию по настройке для разработки, переменным окружения и заметки для контрибьюторов см. в DEVELOPER.md.

Архитектура, кратко

Транспорт

MCP Streamable HTTP — без сохранения состояния, горизонтальное масштабирование

Среда выполнения

Node 22 + Fastify + TypeScript

Хранилище

SQLite (better-sqlite3, WAL)

Аутентификация

Bearer API-ключ на транспорте; авторизация для каждой пары в БД

Push-уведомления

Подписанные вебхуки с повторными попытками и HMAC с меткой времени

Полное описание дизайна: ARCHITECTURE.md.

Лицензия

MIT.

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.

  • Continuity protocol for autonomous AI agents. Agent messaging with SMTP bridge and LN payments.

  • Authenticated email gateway for AI agents — per-agent inboxes, HITL approval, SPF/DKIM verified.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tw00/agent2agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server