Перейти к содержимому

Из этой страницы вы узнаете, как агент вызывает инструменты интеграций, подключённых к проекту в MMW, и почему секреты интеграции при этом не попадают к модели.

Сквозной пример: агент читает файл docs/deploy.md из репозитория команды через интеграцию github_readonly, чтобы сверить его с фактом о деплое staging.

gateway_call вызывает один инструмент внешней MCP-интеграции, которую пользователь включил для проекта в кабинете. Токены и ключи интеграции хранятся на сервере MMW и модели не передаются. Доступны только интеграции, явно включённые для проекта ключа.

Те же инструменты интеграций видны в списке инструментов и под собственными именами — например, github_readonly.get_file_contents. Их можно вызывать напрямую, это равнозначно gateway_call.

ПараметрТипПо умолчаниюОписание
serverstring— (обязательный)Имя интеграции, например github_readonly. Без точек.
toolstring— (обязательный)Имя действия интеграции, например get_file_contents. Без точек.
argumentsobject— (обязательный)Параметры действия — по схеме инструмента интеграции.
project_idstring или nullnullПроект для вызова. По умолчанию — проект ключа.

Ответ — результат инструмента интеграции в том виде, в каком его вернула интеграция. Для MCP-интеграций это обычно объект с полем content (список блоков текста). MMW ничего не добавляет к результату.

arguments
{
"server": "github_readonly",
"tool": "get_file_contents",
"arguments": {
"owner": "acme",
"repo": "platform",
"path": "docs/deploy.md",
"ref": "main"
}
}
{
"content": [
{
"type": "text",
"text": "# Деплой\n\nstaging: systemd-юнит app-staging ..."
}
]
}

Набор инструментов и их параметры определяет сама интеграция. Для GitHub (только чтение) это, например, get_file_contents (owner, repo, path, ref), pull_request_read (owner, repo, pull_number, method, page, per_page) и get_me без параметров.

ТекстПричина
invalid gateway server or tool nameПустое имя или точка в server или tool. Передавайте github_readonly и get_file_contents отдельно.
gateway project not foundУказанный project_id не существует или неактивен.
gateway tool not foundТакого инструмента нет среди включённых интеграций проекта, или интеграция сейчас отключена либо не прошла проверку работоспособности.
required downstream secret is missingДля интеграции не настроен секрет (токен) в кабинете.
downstream tool is not allowlistedИнструмент не входит в разрешённый список интеграции.
project call limit exceededИсчерпан лимит вызовов проекта в минуту.
project gateway concurrency limit exceededСлишком много одновременных вызовов интеграций в проекте.
downstream timeoutИнтеграция не ответила вовремя.
downstream response size limit exceededОтвет интеграции превысил допустимый размер.
downstream transport failure, downstream JSON-RPC errorСбой на стороне интеграции.
[MMW Notice]: …Нет подписки или аккаунт приостановлен.
  • Интеграции подключаются в кабинете, в разделе «Шлюз MCP». Без подключённой интеграции gateway_call вызывать бессмысленно — список инструментов интеграций будет пуст.
  • В подключениях ChatGPT (бета) gateway_call и инструменты интеграций недоступны: там только инструменты памяти.
  • Вызовы интеграций записываются в журнал проекта (без секретов).
  • Аннотация openWorldHint: true: клиент знает, что инструмент обращается к внешней системе, и может запросить подтверждение.