5.6 KiB
Импорт OpenAPI
Crank умеет импортировать REST API из OpenAPI 3.x и Swagger 2.0 документов. Импорт создает черновики MCP-инструментов, которые можно проверить и доработать в мастере операции перед публикацией.
Как импортировать
- Откройте раздел Операции.
- Нажмите Импорт OpenAPI рядом с кнопкой Новая операция.
- Загрузите ровно один UTF-8
.yaml,.ymlили.jsonфайл размером от 1 B до 256 KiB. Вставка текста не поддерживается. - Нажмите Разобрать документ.
- Проверьте preview: для каждого метода показываются поля
Path,Query,Header,Bodyи поля ответа. - Выберите нужные группы и методы.
- Проверьте
Base URL. Если в документе нетservers, укажите URL вручную. - Выберите поведение при конфликте имени:
- Создать копию с новым именем — Crank добавит суффикс
_2,_3и так далее. - Пропустить — существующие операции не будут изменены.
- Создать копию с новым именем — Crank добавит суффикс
- Нажмите Создать черновики.
Загрузка и восстановление
Браузер отправляет выбранный файл как multipart/form-data; границу multipart формирует сам браузер. Файл остаётся только в памяти текущего окна импорта. При замене файла, сбросе, закрытии окна, смене workspace/языка или уходе со страницы текущий запрос отменяется, а поздний ответ игнорируется. При pagehide (включая BFCache) выбранный файл и Base URL очищаются: после возврата нужно выбрать файл заново, повтор старой загрузки не предлагается.
Для ошибки можно выбрать файл заново или нажать Повторить. Диагностика показывает только ограниченные имя/размер файла и, если backend их вернул, Request ID/Trace ID; содержимое спецификации, digest, source ID и внутренние пути не выводятся. Повторное нажатие Создать черновики во время выполнения не создаёт вторую мутацию.
Что создается
Для каждого выбранного метода Crank создает отдельную операцию в статусе черновика:
- имя инструмента берется из
operationId, а если его нет — строится из HTTP-метода и пути; - отображаемое имя берется из
summary; - описание инструмента берется из
description; - группа берется из первого
tag; - query/path/header параметры становятся входными параметрами MCP-инструмента;
- JSON
requestBodyс объектной схемой раскладывается в отдельные входные поля; - схема успешного ответа берется из
200,201,202илиdefault.
После импорта откройте созданный черновик в мастере операции. На шаге Связи полей Crank покажет уже созданный маппинг в визуальном виде:
Path— параметры из пути, например/users/{id};Query— query-параметры URL;Header— заголовки запроса;Body— поля JSON-тела.
YAML-маппинг остается доступен в блоке Дополнительно, но для обычной настройки его редактировать не нужно.
Рекомендации
После разбора Crank показывает предупреждения, если в спецификации не хватает данных для качественного MCP-инструмента:
- нет
operationId; - нет
summaryилиdescription; - нет схемы успешного ответа;
- нет
servers; - слишком много входных параметров;
- используется тело запроса без JSON-схемы.
Эти предупреждения не блокируют импорт, но перед публикацией лучше открыть созданную операцию и проверить:
- описание инструмента;
- входные поля и их обязательность;
- связи
Path / Query / Header / Body; - пример входных данных для теста;
- поля ответа, которые увидит MCP клиент.
Ограничения Community
В Community импортируются только REST/HTTP методы: GET, POST, PUT, PATCH, DELETE.
Другие форматы спецификаций и протоколов в Community-импорт не входят.