Skip to content

Агент як інструмент: MCP і A2A ​

Ваш помічник може відповідати не лише людям у вікні чату чи месенджері, а й іншим програмам: Claude, Cursor, чужому боту. Для них він — інструмент: «спитай мого помічника з підтримки», «постав завдання моєму досліднику».

Для цього в кожного агента є своя адреса:

https://api.youselfbot.com/v1/agents/ІДЕНТИФІКАТОР_АГЕНТА/mcp

Набирати її руками не треба: конструктор і панель дають адресу вже з ідентифікатором вашого агента.

Не плутайте з MCP конструктора

На платформі два входи MCP, і вони про різне.

Що робить чужа програмаКлюч
Ця сторінка — агент як інструментговорить з одним вашим агентом, як відвідувачключ доступу ak_…
Конструктор для агентівбудує й міняє агентів кабінетуключ конструктора ck_…

Хочете, щоб ваш Claude питав помічника про замовлення, — вам сюди. Хочете, щоб він налаштовував самих помічників, — на сторінку конструктора.

Як дати доступ ​

Скажіть конструкторові:

дай моєму Claude доступ до цього агента

або «зроби ключ для Cursor». Він спитає, для кого ключ, якщо ви не сказали, видасть його й одразу дасть готове налаштування для вашої програми. Те саме кнопкою: панель праворуч → рядок «Доступ інших агентів» → назва → «Видати ключ».

Ключ показується один раз

Значення ключа платформа не зберігає — лише його відбиток. Збережіть ключ одразу; загубили — відкличте його й видайте новий. У розмові з конструктором ключ теж видно лише в тій відповіді, яка його видала: з історії розмови він зникає.

Ключів може бути до двадцяти, кожен зі своєю назвою — «Claude на ноутбуці», «Cursor», «бот партнера». Так видно, хто саме звертається, і відкликати можна один, не зачіпаючи решту.

Налаштування програми ​

У прикладах АДРЕСА — адреса вашого агента, ak_ВАШ_КЛЮЧ — виданий ключ. Конструктор і панель дають ці шматки вже заповненими.

Claude Code — одна команда в терміналі:

bash
claude mcp add --transport http youselfbot-agent АДРЕСА \
  --header "Authorization: Bearer ak_ВАШ_КЛЮЧ"

Cursor — файл ~/.cursor/mcp.json (для всіх проєктів) або .cursor/mcp.json у теці проєкту:

json
{
  "mcpServers": {
    "youselfbot-agent": {
      "url": "АДРЕСА",
      "headers": { "Authorization": "Bearer ak_ВАШ_КЛЮЧ" }
    }
  }
}

Claude (сайт чи застосунок) — Customize → Connectors → «+ Add» → «Add custom connector»: назва будь-яка, адреса — АДРЕСА. На кроці автентифікації виберіть «No sign in», а під Request headers додайте заголовок Authorization зі значенням Bearer ak_ВАШ_КЛЮЧ.

Інший агент на цій платформі — скажіть конструкторові того агента: «підключи MCP-сервер за адресою АДРЕСА з токеном ak_ВАШ_КЛЮЧ». Так один ваш помічник питає іншого — зокрема помічника з чужого кабінету, якщо його власник дав вам ключ.

Будь-яка інша програма з підтримкою MCP — транспорт Streamable HTTP, адреса й заголовок Authorization: Bearer ak_ВАШ_КЛЮЧ.

Що бачить чужа програма ​

ІнструментЩо робитьАргументи
askРепліка → відповідь помічника.message; conversation_id — щоб продовжити розмову
task_startДоручає довге завдання: робота йде у фоні проходами. Повертає task_id.title, brief
task_statusСтан завдання, поступ і — коли завершено — підсумок та відповідь помічника.task_id

task_start і task_status є лише в агента, який уміє довгі завдання (у його ході названа здатність long_task). В інших їх немає в переліку зовсім — краще так, ніж інструмент, який відмовить на першому ж виклику.

Відповідь ask несе conversation_id. Передайте його в наступному ask — і помічник памʼятатиме, про що говорили. Без нього кожен виклик — нова розмова. Розмови різних ключів не перетинаються, навіть якщо ідентифікатори збіглися.

Ще є ресурс agent://ІДЕНТИФІКАТОР/about — опис помічника: хто він і про що його питати. Опис ви даєте самі: «опиши агента для інших: він знає все про доставку й повернення». Цей текст бачить чужа модель, тож нічого внутрішнього в нього не пишіть.

Чужа програма — відвідувач ​

Хоч би що програма про себе сказала, для помічника вона відвідувач — як людина у вікні чату на сайті:

  • дій, позначених «лише для адміністратора», вона не дістане;
  • вашої пошти, календаря й нотаток помічника про вас — теж;
  • довге завдання, яке вона поставила, виконується з тими самими правами.

Режиму «від імені власника» немає, і це свідомо: ключ лежить у файлі налаштувань чужої програми, і все, що він відчиняє, отримує кожен, хто той файл прочитав.

Кожну таку розмову видно в розділі Розмови (фільтр «Вів помічник»), а кожен хід — у журналі ходів, як і розмови з вікна.

Відповісти в таку розмову самі ви не можете: по той бік програма, яка чекає відповіді лише на власний виклик, і повідомлення людини вона не прочитає. Кабінет так і скаже — «відповідь не надіслано», — а не покаже репліку як надіслану.

Хто платить і які межі ​

Кожен ask і кожен прохід завдання — звичайний хід помічника: він витрачає кредити вашого кабінету. Діють ті самі межі, що й скрізь:

  • стеля витрат агента і запас кредитів кабінету;
  • межа частоти — на ключ, а не на адресу: шістдесят викликів, що витрачають кредити (ask, task_start), за хвилину;
  • довгих завдань в агента одночасно три, і місця спільні з вами. Один ключ веде одне завдання — наступне він заводить, коли попереднє закінчилось; усі, хто не ви (чужі програми й відвідувачі в розмовах), разом тримають не більше двох, третє місце завжди лишається вам. Спинити чи скасувати завдання чужої програми можете лише ви — у переліку завдань.

Коли кредити скінчились, межу частоти перевищено чи хід не вдався, виклик повертає помилку інструмента (isError: true) з текстом, який каже, чи є сенс повторювати. Модель по той бік прочитає його й перекаже людині, а не повторюватиме виклик наосліп. Про вичерпані кредити ви, як завжди, отримаєте сповіщення.

Забрати доступ ​

забери доступ у Cursor

або кнопка «Відкликати» біля ключа в панелі. Програма з цим ключем втрачає доступ одразу; інші ключі працюють далі. Якщо ключ утік і ви маєте лише його значення — вставте його конструкторові: «відклич ключ ak_…» — він знайде й відкличе саме його.

Видалили агента — всі його ключі перестають діяти разом із ним.

Щоб агента знаходили інші агенти: картка A2A ​

A2A (Agent2Agent) — другий стандарт, яким агенти знаходять один одного. Його основа — картка агента: публічна адреса з імʼям, описом і способом звернутись.

https://api.youselfbot.com/v1/agents/ІДЕНТИФІКАТОР_АГЕНТА/.well-known/agent-card.json

Типово картки немає. Це публікація, тож вмикаєте її ви: «зроби агента видимим для інших агентів». Сховати — «сховай агента від інших». У картці лише імʼя, ваш опис і адреса входу; говорити з помічником вона не дає — ключ потрібен усе одно. Чужий агент, який уже прочитав картку, може бачити її ще до пʼяти хвилин після того, як ви її сховали.

Вхід A2A — …/v1/agents/ІДЕНТИФІКАТОР_АГЕНТА/a2a, протокол JSON-RPC, версія 1.0 (заголовок A2A-Version: 1.0), той самий ключ у Authorization: Bearer. Підтримується один метод:

bash
curl -sS АДРЕСА_A2A \
  -H "Authorization: Bearer ak_ВАШ_КЛЮЧ" -H "A2A-Version: 1.0" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{
        "messageId":"m1","role":"ROLE_USER","parts":[{"text":"Які у вас години роботи?"}]}}}'
# {"jsonrpc":"2.0","id":1,"result":{"message":{"role":"ROLE_AGENT","contextId":"…",
#   "parts":[{"text":"Ми працюємо з 9:00 до 18:00."}],"messageId":"…"}}}

contextId з відповіді продовжує розмову — так само, як conversation_id у MCP.

Чого у вході A2A немає

Це мінімальний вхід, і картка чесно це каже:

  • відповідь приходить одразу повідомленням — завдань A2A, потоку й push-сповіщень немає (GetTask відповідає «завдання не знайдено», решта методів — «операція не підтримується»);
  • приймається лише текст — файл чи структуровані дані дають помилку, а не мовчки відкидаються;
  • версія 0.3 не підтримується: запит без заголовка A2A-Version за стандартом вважається версією 0.3 і дістане відмову з назвою потрібної версії;
  • довгі завдання — лише через MCP (task_start).

Протокол MCP: що саме підтримано ​

Транспорт — Streamable HTTP: один POST — одне повідомлення JSON-RPC, відповідь — application/json. Потоку сервер не відкриває; GET і DELETE відповідають 405.

Сервер розуміє дві епохи специфікації:

  • чинну, 2026-07-28 — рукостискання немає: кожен запит несе версію й здатності клієнта в params._meta і дублює їх у заголовках MCP-Protocol-Version, Mcp-Method, Mcp-Name. Заголовки звіряються з тілом; є server/discover;
  • попередні, 2025-03-26 – 2025-11-25 — з initialize. Ними говорить більшість програм, які вже стоять у людей.

Епоху визначає сам запит, перемикати нічого не треба. Запити зі сторінки в браузері (із заголовком Origin чужого сайту) відхиляються з 403 — і на адресі MCP, і на вході A2A: ключеві в сторінці не місце. Одне повідомлення на POST: пакет (масив) дістане 400, тіло понад 1 МБ — 413.

Усі ручки й схеми — у довіднику API, розділи «Агент для інших агентів» і «Кабінет · Доступ інших агентів».

Далі ​

Документація платформи YouSelfBot