gateway_call
Из этой страницы вы узнаете, как агент вызывает инструменты интеграций, подключённых к проекту в MMW, и почему секреты интеграции при этом не попадают к модели.
Сквозной пример: агент читает файл docs/deploy.md из репозитория команды через интеграцию github_readonly, чтобы сверить его с фактом о деплое staging.
Назначение
Заголовок раздела «Назначение»gateway_call вызывает один инструмент внешней MCP-интеграции, которую пользователь включил для проекта в кабинете. Токены и ключи интеграции хранятся на сервере MMW и модели не передаются. Доступны только интеграции, явно включённые для проекта ключа.
Те же инструменты интеграций видны в списке инструментов и под собственными именами — например, github_readonly.get_file_contents. Их можно вызывать напрямую, это равнозначно gateway_call.
Параметры
Заголовок раздела «Параметры»| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
server | string | — (обязательный) | Имя интеграции, например github_readonly. Без точек. |
tool | string | — (обязательный) | Имя действия интеграции, например get_file_contents. Без точек. |
arguments | object | — (обязательный) | Параметры действия — по схеме инструмента интеграции. |
project_id | string или null | null | Проект для вызова. По умолчанию — проект ключа. |
Ответ — результат инструмента интеграции в том виде, в каком его вернула интеграция. Для MCP-интеграций это обычно объект с полем content (список блоков текста). MMW ничего не добавляет к результату.
{ "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: клиент знает, что инструмент обращается к внешней системе, и может запросить подтверждение.