Document OpenAPI import workflow
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# Импорт 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`.
|
||||
|
||||
GraphQL, gRPC, WSDL, SOAP, WebSocket и streaming-протоколы не импортируются в Community.
|
||||
Reference in New Issue
Block a user