Вызов коннектора
Любой коннектор — REST или RPC — вызывается через одни и те же три инструмента. Они доступны как нативные инструменты агента и через MCP-сервер. Флоу всегда один: получить каталог, прочитать паспорт сервиса, выполнить вызов.
list_services — каталог
Возвращает каталог коннекторов: канонический key и однострочное summary на каждый сервис. Размером с рукопожатие (~2–5 КБ), поэтому любая сессия может начинаться отсюда. При подключённых аккаунтах каждая позиция помечается connected: true/false.
describe_service — паспорт
Возвращает структурированный паспорт одного сервиса: его модули, типовые рецепты (конкретные примеры VERB /path с шаблонами тела), лимиты, подсказки по полям и пагинации, enum'ы, примеры ответов и version/ttl для клиентского кэширования. Вызовите без module для индекса, затем с module — для полной спецификации модуля.
connector_execute — вызов
Единый исполнитель для любого коннектора. Аргументы валидируются по схеме сервиса до любого исходящего HTTP-запроса.
Параметры connector_execute
| Field | Type | Description |
|---|---|---|
| servicerequired | string | Ключ коннектора из list_services (например wildberries). Может нести суффикс аккаунта — см. адресацию нескольких аккаунтов ниже. |
| module | string | Подобласть коннектора (statistics, content, …), как указано в паспорте. |
| methodrequired | string | REST: HTTP-глагол (GET/POST/…). RPC: имя RPC-метода. |
| path | string | REST: путь запроса. RPC: оставьте пустым, имя метода передайте в method. |
| body | object | Тело запроса для записывающих вызовов. |
| query | object | Параметры строки запроса. |
| instance_id | string | Нацелиться на конкретный подключённый аккаунт, когда их несколько. |
REST vs RPC
Коннекторы бывают двух форм, и connector_execute обрабатывает обе:
- REST (большинство коннекторов) — передайте
module, HTTP-method,pathиbody/query. - RPC (например
bitrix24, семействоonec) — оставьтеpathпустым, а имя RPC-метода передайте вmethod.
Рецепты в паспорте показывают точную форму для каждого коннектора, так что угадывать почти не приходится.
Адресация нескольких аккаунтов
Когда у организации подключено больше одного аккаунта для сервиса (несколько кабинетов Ozon, например), адресуйте конкретный. Голое имя сервиса распределяет чтения по всем подключённым аккаунтам; записи должны указывать один — через instance_id или суффикс к сервису:
Подсказки did-you-mean
Вызовы не падают молча при почти-попадании. Рецепты — это примеры, а не белый список, поэтому:
- Неизвестный module возвращает жёсткую ошибку с подсказками
did_you_meanи спискомknown_modules. - Неизвестный или несовпавший path всё равно выполняется, но добавляет мягкую подсказку
path_did_you_meanи менюavailable_pathsв метаданных ответа. - Неизвестный аккаунт возвращает
UNKNOWN_INSTANCEсо спискомcandidates.
Ошибки
Вызовы коннекторов возвращают стандартный контракт ошибки инструмента — code, message, retryable и опциональный hint. Вызовы через MCP не несут HTTP-статуса. См. таблицу ошибок MCP и Ошибки и лимиты.