Изменения

2429 байт добавлено ,  1 месяц назад
Строка 156: Строка 156:  
==== HTTP + SSE (Server-Sent Events) / Streamable HTTP ====
 
==== HTTP + SSE (Server-Sent Events) / Streamable HTTP ====
 
Транспорт HTTP+[[Server-sent events|SSE]] используется для удалённого взаимодействия, когда клиент и сервер могут находиться на разных машинах: Обмен данными осуществляется по протоколу [[HTTP]], при этом сервер использует события, отправляемые сервером (SSE), для передачи обновлений клиенту по постоянному соединению. Этот транспорт используется для подключения к удалённым API, облачным сервисам или общим ресурсам. Основные преимущества этого транспорта заключаются в его сетевой работе, интеграции с веб-сервисами и совместимости с бессерверными средами. В последних обновлениях стандарта MCP был представлен  транспорт [[Streamable HTTP]]. Он обеспечивает большую гибкость, позволяя серверам динамически обновляться до SSE для потоковой передачи при необходимости, сохраняя при этом совместимость с [[Бессерверная среда|бессерверными средами]].
 
Транспорт HTTP+[[Server-sent events|SSE]] используется для удалённого взаимодействия, когда клиент и сервер могут находиться на разных машинах: Обмен данными осуществляется по протоколу [[HTTP]], при этом сервер использует события, отправляемые сервером (SSE), для передачи обновлений клиенту по постоянному соединению. Этот транспорт используется для подключения к удалённым API, облачным сервисам или общим ресурсам. Основные преимущества этого транспорта заключаются в его сетевой работе, интеграции с веб-сервисами и совместимости с бессерверными средами. В последних обновлениях стандарта MCP был представлен  транспорт [[Streamable HTTP]]. Он обеспечивает большую гибкость, позволяя серверам динамически обновляться до SSE для потоковой передачи при необходимости, сохраняя при этом совместимость с [[Бессерверная среда|бессерверными средами]].
 +
 +
=== Пример полного цикла обмена информацией в MCP ===
 +
Ниже представлен пример полного цикл взаимодействия Клиента (💻)  и Сервера (🌐) в контексте протокола MCP.
 +
 +
==== Инициализация работы ====
 +
Клиент подключается к серверу, и они обмениваются доступными им версиями протокола и его опциями/возможностями.
 +
{| class="wikitable"
 +
|💻
 +
|→ инициализация соединения
 +
|🌐
 +
|-
 +
|💻
 +
|←
 +
ответ
 +
|🌐
 +
|-
 +
|💻
 +
|→
 +
подтверждение инициализации
 +
|🌐
 +
|}
 +
Клиент подтверждает завершение инициализации с помощью уведомления (notification).
 +
 +
==== Обнаружение возможностей ====
 +
Клиент запрашивает информацию о доступных возможностях сервера, а cервер отвечает списком доступных инструментов.
 +
{| class="wikitable"
 +
|💻
 +
|→
 +
список доступных инструментов
 +
|🌐
 +
|-
 +
|💻
 +
|←
 +
ответ
 +
|🌐
 +
|}
 +
Этот процесс можно повторить для каждого инструмента, ресурса или типа подсказки.
 +
 +
==== Выполнение конкретной задачи ====
 +
Клиент использует возможности Сервера, основываясь на потребностях Хоста.
 +
{| class="wikitable"
 +
|💻
 +
|→
 +
запрос инструмента
 +
|🌐
 +
|-
 +
|💻
 +
|←
 +
опциональная нотификация (или несколько)
 +
|🌐
 +
|-
 +
|💻
 +
|←
 +
ответ
 +
|🌐
 +
|}
 +
 +
==== Завершение работы ====
 +
Соединение корректно закрывается, когда оно больше не нужно, и сервер подтверждает запрос на завершение работы
 +
{| class="wikitable"
 +
|💻
 +
|→
 +
завершение сессии
 +
|🌐
 +
|-
 +
|💻
 +
|←
 +
подтверждение завершения сессии
 +
|🌐
 +
|-
 +
|💻
 +
|→
 +
выход
 +
|🌐
 +
|}
 +
Клиент отправляет финальное сообщение о выходе для завершения завершения операции.
    
== Внедрение ==
 
== Внедрение ==