2026-08-01T11:10:43.071Z

Наблюдаемость MCP: заключение пятислойного договора о здравоохранении

Соотносите разрешение на MCP, состояние переговоров, обнаружение инструментов, запросы, внешние эффекты и проверенные результаты, не делая отсутствующих доказательств зелеными.

Наблюдаемость MCP должна ответить на более сложный вопрос, чем совершенствовалась запрос? Для каждой сессии Model Context Protocol, сохранить одну коррелированную цепочку доказательств от авторизации и инициализации через обнаружение инструмента, призыв, внешний эффект и ожидаемый результат пользователя. Зеленый ответ tools/call это только одно звено в этой цепочке. Разумным дефолтом является пятислойный договор о медицинском обслуживании: 1. Session: Вы договорились с клиентом и сервером о поддерживаемой версии протокола и возможностях, которые будет использоваться этим запуском? 2. Catalog: читал ли клиент полный список текущих инструментов и реагировал на более поздний сигнал изменения списка? 3. Запрос: Можете ли вы присоединиться к запросу JSON RPC, уведомлениям о прогрессе, отмене, ответе и сроку? 4. EEffect: Если инструмент изменит внешнюю систему, есть ли доказательства того, что произошло на самом деле? 5. OOutcome: был ли артефакт, изменение состояния или решение агент должен был производить прошли его проверку? Этот контракт намеренно отделяет протокольную деятельность от полезного прогресса. Он также дает оператору конкретное состояние маршрута: needs auth , incompatible session , stale catalog , working , protocol error , tool failed , effect unknown , false success или healthy . Начните с одной цепи доказательств, а не с одного номера панели. Свежие результаты в США по mcp наблюдаемости подчеркивают сессии, подключения, аналитику инструментов, задержку транспорта, пропускную способность и ошибки. Они полезны. Современный Документация о Наблюдаемости МПК Grafana перечисляет установку сеанса, стабильность подключения, соответствие протоколам, производительность инструмента и надежность транспорта. Разница не в том, что эти сигналы неправильны. Отсутствие заключается в том, что ни один из них, в одиночку, не доказывает, что намеченная агентом работа достигла своего назначения. Досье здоровья может оставаться компактным: Хешы это идентификаторы, а не разрешение на загрузку инструментальных схем, аргументов, запросов, токенов или возвращенного контента. Сохраняйте чувствительные ценности у хозяина. Запишите самые маленькие поля, необходимые для соотношения состояния и доказательства решения. В договоре также должно быть правило преимущества. Неудача авторизации происходит до состояния сеанса; несовместимая сессия происходит до свежести каталога; неразрешенный каталог происходит до интерпретации запроса; переходное время транспортировки на границе побочного эффекта становится effect unknown , а не автоматическая повторная попытка; и успешный звонок с отсутствующим доставкой становится false success , не здоровым. Сделайте протокольное состояние наблюдаемым перед измерением латентности инструмента MCP спецификация жизненного цикла делает инициализацию первым взаимодействием клиент сервер. Обе стороны договорились о версии протокола, обмене возможностями, а затем начали нормальную работу. В том же документе говорится, что последующее сообщение должно уважать переговорную версию и возможности. Это дает наблюдаемости чистый первый контрольный пункт: хранить запрошенную версию, принятую версию, набор возможностей и момент, когда клиент отправил notifications/initialized . Не разрушайте каждый провал до этого момента в сервер вниз. Для HTTP транспорт, авторизация является отдельным воротами. Нынешний Спецификация разрешения на MCP определяет открытие защищенных ресурсов и требует от клиентов решения проблемы 401 Unauthorized . Сервер может быть доступен и исправлен, пока клиенту не хватает токена, у него не соответствует охват или он не может обнаружить сервер авторизации. Напишите это как needs auth ; не указывайте его как перерыв в транспорте. Открытие инструментов нуждается в собственном доказательстве полноты. спецификация инструментов говорит, что tools/list настраивается на страницы и что серверы, декларирующие listChanged , могут выпускать notifications/tools/list changed . Поэтому мы получили одну страницу не является свежим каталогом. Запись: возможности инициализации, которые рекламируют инструменты; каждый курсор pagination до тех пор, пока не останется nextCursor ; канонический хэш названий и схемы ввода/вывода; последнее успешное время освежения; любое уведомление о tools/list changed и последующее обновление. Это более узкое, чем запись каждой схемы. Клиент может вычислить хэш локально и сохранить только хэш, количество инструментов, количество страниц и обновление доказательств. Если приходит уведомление о изменении и обновление не удается, классифицируйте сессию stale catalog . Сервер все еще может отвечать на пинг, но модель может выбирать из устаревшего инструментального контракта. Длинные звонки вводят еще одну ловушку. MCP уведомления о прогрессе использует токен, предоставляемый по запросу, который должен быть уникальным среди активных запросов; значения прогресса должны увеличиваться, а уведомления прекращаются после завершения. Эти доказательства могут обосновать working , пока вызов находится в пределах его максимального срока. Это не доказывает, что работа полезна, и она никогда не должна продлевать срок навсегда. Повторяемое сообщение без увеличения значения, токен, прикрепленный к неправильному запросу, или прогресс после терминального ответа являются несоответствующими доказательствами. Используйте два часа: окно бездействия, которое может быть перезагружено на действительный монотонный прогресс; абсолютный максимальный срок, который не может быть пересмотрен. Это различие предотвращает две противоположные ошибки: уничтожение законной длительной работы, потому что она еще не вернулась, и принятие бесконечного потока уведомлений о прогрессе как здоровье. Успешный инструментальный звонок не является результатом MCP отличает ошибки протокола от ошибок выполнения инструмента. Согласно спецификации инструментов, неправильно сформированные запросы и неизвестные инструменты используют ошибки JSON RPC, в то время как бизнес или входные ошибки могут возвращать результат инструмента с isError: true . Держите эти состояния отдельно, потому что следующее действие отличается: зафиксируйте клиентский контракт для protocol error ; корректируйте входы, разрешения или зависимость вдоль потока для tool failed . Более опасный случай отсутствие реакции после возникновения побочного эффекта. Предположим, что publish report раз выходит. Немедленная повторная попытка может создать дублированный отчет, потому что транспортная неопределенность ничего не говорит о месте назначения. Отметьте вызов effect unknown , согласовывайте с использованием стабильного ключа операции или запроса назначения и попытайтесь повторно только после того, как доказательства докажут, что первая попытка не была совершена. Даже нормального результата недостаточно. Сервер может вернуть isError: false , пока обещанный файл отсутствует, удаленная запись по прежнему является чертежом или URL является частным. Добавьте проверку результатов, выбранную до вызова: хэш файла, строка базы данных плюс версия, публичный статус HTTP, результат теста или другой детерминистический квитанция. Используйте судью LLM только тогда, когда результат не может быть проверен напрямую, и помещайте на более слабые доказательства. Это создает три отдельных терминальных состояния: Результат протокола Эффект назначения Ожидаемый результат Состояние здоровья Время отключения неизвестный неизвестный effect unknown Успех проверенные неисправность или отсутствие false success Успех проверенные проверенные healthy Средний ряд важнее всего. Это предотвращает успешный обмен протокола, превращаясь в ложное утверждение о том, что агент завершил задачу пользователя. Повторять контракт против неудобных случаев Сопровождающийся артефакт представляет собой иллюстративный девятиклассный фиксир и детерминистический классификатор. Он не содержит телеметрию производства. Попробуйте: Эта фиксация охватывает один здоровый экспорт и восемь неудобных границ: вызов авторизации, не поддерживаемая версия протокола, не согласованное изменение списка инструментов, длительный звонок с действительным прогрессом, неправильный звонок, ошибка исполнения инструмента, отсрочка после возможного побочного эффекта и успех с отсутствующим результатом доставки. Классификатор вернул один случай в каждом ожидаемом состоянии: Это фальсифицируемая часть метода: изменить доказательства и состояние должно измениться предсказуемо. Если после tools/list changed происходит полное обновление, следует продвинуться вперед в случае устаревшего каталога. В случае, если задержанный звонок получает квитанцию на место назначения, но его проверяющий орган не успеет, он должен перейти от effect unknown к false success . Он достигает healthy только тогда, когда доказательства сессии, каталога, запроса, эффекта и результата согласны. Артефакт не подтверждает правильность бизнес семантики инструмента. Он не обнаруживает недокументированного побочного эффекта, не доказывает, что эмитент OAuth является надежным, и не решает, сколько должен быть срок. Это специальные обзоры. Его задача меньше: не допустить, чтобы отсутствующие доказательства молча делались зелеными. Предупреждение о состоянии, требующем действий Не отправляйте всех нездоровых состояний в один канал. needs auth передается владельцу аккредитации или разрешения с обжалованным ресурсом и требуемым объемом, никогда не знаковое значение. incompatible session переходит к владельцу интеграции с клиентской версией, серверной версией и возможностями переговоров. stale catalog запускает одну попытку ограниченного повторного открытия; повторная неудача становится инцидентом интеграции. working остается тихим, пока прогресс действителен и абсолютный срок остается. protocol error отправляется к клиенту исполнителю с методом, идентификатором запроса и классом дезинфицированной ошибки. tool failed следует политике повторной попытки инструмента только тогда, когда неизвестно, что отказ является обратимым. effect unknown блокирует автоматическую повторную попытку на границе побочного эффекта и запускает примирение. false success открывает исходный инцидент, несмотря на то, что сам MCP завершен. Этот маршрутизатор поддерживает ожидание отличается от stuck. Призыв к авторизации, присвоенный человеку, может быть законным ожиданием; токен прогресса, продвигающийся в пределах ограниченного запроса, может быть рабочим; неизменный каталог после сигнала перечня измены не является ни одним. Начните с одного высокоценного инструмента и одного реального проверщика результатов. Захватить цепочку на неделю, проверить все неизвестные состояния, а затем добавить охват. Совершенная панель управления по всему флоту, построенная на несовместимых событиях, менее полезна, чем один инструмент, чья сессия, эффект и результат могут быть объяснены от конца к концу. Где этот договор прекращается Наблюдаемость MCP может установить протокол и эксплуатационные доказательства, но она не может вывести все намерения пользователя из провода. Действующая схема выпуска доказывает форму, а не правду. Допуск по месту назначения доказывает эффект, а не то, что эффект был мудрым. Монотонный сигнал прогресса доказывает движение, сообщенное сервером, а не полезный прогресс к цели пользователя. Эти границы требуют проверки приложения и иногда человеческого суждения. Sidewisp сейчас находится на этапе закрытого предварительного доступа. Его адаптеры мониторинга производства и системы восстановления обычно не отправляются. Договор в настоящей статье является методом работы и местным артефактом, который может быть проверен, а не утверждением о том, что Sidewisp уже собирает сеансы MCP или ремонтирует их. Целью продукта является облегчение наблюдения за доказательствами здоровья, неопределенностью и границами одобрения в сочетании с существующими сроками эксплуатации. Если вы разрабатываете интеграцию MCP сейчас, держите пятислойный запись локально, редактируйте контент и отказывайтесь называть бег здоровым, пока ожидаемый результат не получит свой собственный результат. Это одно правило превращает протокольную телеметрию в оперативное решение вместо другой зеленой диаграммы.