Skip to content

Інструменти з чужої машини (MCP)

MCP-сервер — це машина, якою володіє хтось інший, і її інструменти ваш агент викликає як власні. Команда реєструє такий сервер один раз — ім'я, адреса й назви облікових даних, які він просить, — і підключає його скільком завгодно агентам.

Реєстрація відбувається трьома способами: формою, фразою в чаті та просто доменом. Ця сторінка — усі три, і що ви побачите після кожного.

Це клієнтська половина

Усе інше в цих доках, де написано «MCP», — це Agentfy у ролі MCP-сервера: канал інструментів, яким говорить воркер, і наша власна виставка назовні. Тут — протилежний напрямок: клієнт — ми, і телефонуємо ми на чужий сервер.

Що таке реєстрація

Один запис, що належить команді, а не агентові:

ім'яяк людина його називає — «DeepWiki». Ніколи не ім'я інструмента: інструменти — це те, чим відповів сервер, без жодних префіксів
адресайого Streamable HTTP-адреса, https://mcp.example.com/mcp
назви облікових данихвигляду service:Headerdeepwiki:Authorization. Назви, але не значення
куди можна телефонуватистеля оператора, перетнута з тим, що попросила команда
його інструментиостання відповідь сервера, збережена в записі

Підключення до агента — друга, окрема дія. Два агенти на одному сервері — це одна реєстрація й два підключення, і відключення одного не чіпає другого.

Де екрани

список командиробоча панель ліворуч — іконка вилки, підпису вона не має; слово «MCPs» з'являється заголовком уже на самому екрані (/teams/<команда>/mcps)
в одного агентавідкрийте агента → вкладка MCPs

У типів агентів, яким сервери не належать, вкладки немає: api відмовляє їм у підключенні, і вкладка зникає через цю відмову, а не замість неї.

Три інструменти — якщо зустрінете їх у трейсі

Агент робить це іменованими інструментами, і імена видно у трейсі розмови:

connect_mcp_serverзареєструвати сервер і підключити його цьому агентові
discover_mcp_serverза голим доменом прочитати, що цей домен оголошує
check_mcp_serverзателефонувати на підключений сервер і розказати, що насправді сталося

Жоден з них не приймає ні ідентифікатор агента, ні ідентифікатор команди. «Підключи сервер чужому агентові» — це не те, що модель може висловити, не кажучи вже про те, щоб дістати відмову.

У базі реєстрація — це один рядок AgentMcpServer, а кожне підключення до агента — один рядок AgentMcpServerUse; саме тому відключення одного агента — це видалення єдиного рядка й другого торкнутися не може.

1. Зареєструвати руками

На командному екрані MCPs:

  1. Як назвати — «DeepWiki».
  2. Адресаhttps://mcp.deepwiki.com/mcp.
  3. Назви облікових даних через кому — залиште порожнім, якщо серверу нічого не потрібно.
  4. Завести сервер.

Що видно, коли вийшло: з'явився рядок, під ним перелічені Інструменти, а Питали несе час. Цей список — власна відповідь сервера, а не здогад; якщо він порожній, рядок так і каже: сервер ще не сказав, що вміє.

Що видно, коли не вийшло: рядок усе одно з'являється, з поміткою «не вдалося достукатися» і причиною. Запитати ще раз передзвонює; вдалий дзвінок стирає повідомлення, тож це ніколи не застарілий докір.

Далі відкрийте агента → MCPsПідключити вже заведений → оберіть його. На наступному ході в агента ці інструменти вже будуть.

2. Попросити агента

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

Підключи MCP-сервер за адресою https://mcp.deepwiki.com/mcp, назви його DeepWiki.

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

Ніколи не набирайте API-ключ у чаті. Якщо серверу потрібен ключ, агент попросить його так само, як просить будь-який інший: назва приїде незаповненою на екран Секрети агента, і значення ви впишете там. Інструмент підключення приймає назву ключа й відмовляється приймати значення.

Коли підключений сервер перестав працювати, спитайте агента, що з ним не так. Він зателефонує на сервер і розкаже, що насправді сталося, замість того щоб гадати про себе.

3. Дати лише домен

Найчастіше точної адреси немає ні в кого — знають компанію. Цього досить:

Підключи MCP від dreamvention.com.

Агент читає один файл за однією адресою: https://<домен>/.well-known/mcp.json — те оголошення, яке домен публікує про власний сервер. Якщо воно є, повернуться адреса, транспорт і те, що сервер про себе каже, і агент піде його підключати. Якщо оголошення немає, агент скаже про це й попросить адресу — саме в такому порядку, щоб нікого не відсилали до адміністратора «відкривати доступ».

Вузькість тут — це і є сенс, і вона навмисна:

один шлях/.well-known/mcp.json — попросити інший шлях неможливо
один хосттой, який назвала людина
один метод, одна схемаGET, https
жодних облікових данихні командних, ні чиїхось — ще ніхто не сказав, хто там відповідає
зі стелеюп'ять секунд і 64 КіБ, бо чужа адреса не має вміти підвісити хід

Файл на a.com, який оголошує сервер на b.com, — це редирект, написаний словами. Мовчки за ним не йдуть: агент приносить це людині й питає.

Облікові дані, одним правилом

Назва має вигляд service:Header, і частина після останньої двокрапки — це HTTP-заголовок, яким поїде значення. deepwiki:Authorization означає: візьми значення, збережене командою під цією назвою, і надішли його заголовком Authorization. Це весь механізм; другого місця, де налаштовуються заголовки, немає.

Назви живуть на реєстрації, значення — у спільних секретах команди й через ручку реєстрації не проходять ніколи. Видалення сервера не видаляє облікові дані: ними може користуватися інший сервер.

Куди серверу можна телефонувати

Адреса, яку ви вписали, — це адреса, на яку телефонує api, а api — це процес, у якого в руках база й ключ шифрування. Тому реєстрація не вільна вказувати куди завгодно:

  • оператор задає стелю на всю інсталяцію;
  • команда може попросити менше, але не більше — перемагає вужче;
  • loopback, приватні діапазони, link-local і адреса метаданих хмари заборонені, а перевірка розв'язує ім'я й дивиться на кожну адресу, якою воно обернулося;
  • за редиректами не ходять.

За що насправді платить хід

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

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

Відвідувачеві з вашого сайту ці інструменти не дістаються, що б власник не відкрив на тому каналі.

Чого тут навмисно ще немає

  • stdio-серверів. Це означає запуск процесу поруч із вебсервером. Їм місце у власному каналі воркера, пізніше.
  • Набору. Картка в один дотик, що несе сервер, його облікові дані та його навички разом, — ось те, що заслужить слово «застосунок». Одне підключення — це ще не воно.

Міркування за кожною формою на цій сторінці й заміри, які її обрали, лежать у specs/AGNT2-327-agent-app/research.md, specs/AGNT2-329-mcp-step-1/ і specs/AGNT2-330-agent-connects-mcp/. Там оригінал; тут — переказ.

Перевірити повністю

  1. Робоча панель, іконка вилки — або одразу /teams/<команда>/mcps.
  2. Зареєструйте https://mcp.deepwiki.com/mcp під іменем «DeepWiki», без назв облікових даних.
  3. У рядку має з'явитися непорожній список Інструментів і час у Питали.
  4. Відкрийте будь-якого агента, у якого є вкладка MCPsПідключити вже заведений → DeepWiki.
  5. У чаті з цим агентом попросіть скористатися одним з інструментів із пункту 3.

Виклик інструмента з'явиться в ході, і відповідь прийде зі справжнім результатом сервера. Якщо в пункті 3 написано «Не вдалося достукатися», причина — адреса, стеля оператора або сам сервер, саме в такому порядку ймовірності.