64 lines
4.2 KiB
Markdown
64 lines
4.2 KiB
Markdown
# Импорт OpenAPI
|
||
|
||
Crank умеет импортировать REST API из OpenAPI 3.x и Swagger 2.0 документов. Импорт создает черновики MCP-инструментов, которые можно проверить и доработать в мастере операции перед публикацией.
|
||
|
||
## Как импортировать
|
||
|
||
1. Откройте раздел **Операции**.
|
||
2. Нажмите **Импорт OpenAPI** рядом с кнопкой **Новая операция**.
|
||
3. Загрузите `.yaml`, `.yml`, `.json` файл или вставьте текст спецификации.
|
||
4. Нажмите **Разобрать документ**.
|
||
5. Проверьте preview: для каждого метода показываются поля `Path`, `Query`, `Header`, `Body` и поля ответа.
|
||
6. Выберите нужные группы и методы.
|
||
7. Проверьте `Base URL`. Если в документе нет `servers`, укажите URL вручную.
|
||
8. Выберите поведение при конфликте имени:
|
||
- **Создать копию с новым именем** — Crank добавит суффикс `_2`, `_3` и так далее.
|
||
- **Пропустить** — существующие операции не будут изменены.
|
||
9. Нажмите **Создать черновики**.
|
||
|
||
## Что создается
|
||
|
||
Для каждого выбранного метода 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-импорт не входят.
|