MCP
Две ревизии, один эндпоинт и то, как ждущий вызов выглядит на проводе.
Один эндпоинт: https://mcp.sallyport.cloud/mcp. Две ревизии протокола, каждая на своём хендлере.
Какая ревизия вам достанется
| Ревизия | Форма | Как приходит одобрение |
|---|---|---|
| 2026-07-28 | Stateless. Discover вместо initialize, без сессионного заголовка и серверного стрима | Tasks, если клиент объявил расширение, иначе ссылка |
| 2025-11-25 | С сессией | Удержание с прогрессом и потолком, затем ссылка и call_id |
Список инструментов
По инструменту на binding, с описанием, которое читает человек: сервис, кред по имени, что проходит сразу и что ждёт. Список помечен приватным для вызывающего, потому что он разный у разных агентов, и общий кеш показал бы одному арендатору инструменты другого.
Вызов, которому нужен человек
{
"resultType": "input_required",
"call_id": "call_01J…",
"approve_url": "https://my.sallyport.cloud/approve/call_01J…",
"expires_at": "…",
"poll_after_ms": 3000,
"expected_wait_ms": 60000,
"instruction": "Человека спрашивают об этом вызове. Откройте ссылку или повторите вызов с тем же call_id."
}Инструкция лежит в текстовом контенте, который модель читает, а не только в структурном поле, которое она может пропустить. Повтор с тем же идентификатором продолжает ту же операцию, а не заводит вторую.
Любой останавливающий ответ в этом продукте несёт ссылку, по которой человек снимает препятствие одним нажатием. Это правило с тестом, а не договорённость.