validate
Назначение
Проверить файл конфигурации и все указанные в нём файлы спецификаций на наличие ошибок. Это диагностическая команда только для чтения — она никогда ничего не изменяет.
Когда использовать
- После ручного редактирования
swag2mcp.yaml - Перед запуском
mcpилиupdateдля раннего выявления проблем - При диагностике, почему спецификация не загружается
- В CI/CD пайплайнах для проверки изменений конфигурации
Синтаксис
bash
swag2mcp validate [path] [flags]Аргументы
| Аргумент | Позиция | Обязательно | Описание |
|---|---|---|---|
path | 1 | Нет | Директория рабочей области. Если не указан, разрешается по правилам разрешения пути. |
Флаги
| Флаг | Сокращение | Тип | По умолчанию | Описание |
|---|---|---|---|---|
--tags | -t | string | "" | Проверять только спецификации с указанными тегами (через запятую) |
Как это работает
bash
swag2mcp validate
swag2mcp validate ./my-workspace
swag2mcp validate --tags=publicЧто проверяется
| Проверка | Описание |
|---|---|
| Синтаксис YAML | Файл конфигурации должен быть валидным YAML |
| Структура конфига | Все обязательные поля присутствуют, типы корректны |
| Уникальность доменов | Нет дублирующихся доменов |
| Формат домена | Только строчные буквы, цифры, дефисы |
| Существование файла спецификации | Файл или URL location должен быть доступен |
| Формат спецификации | Файл должен быть валидным OpenAPI 3.x, Swagger 2.0 или Postman |
| Настройки аутентификации | Тип и конфиг auth корректны для выбранного метода |
| HTTP-клиент | Настройки HTTP-клиента валидны |
Что НЕ проверяется
| Не проверяется | Причина |
|---|---|
| Эндпоинты аутентификации | validate проверяет синтаксис конфига auth, но не тестирует вход/обмен токенов |
| Доступность API-эндпоинтов | Проверяется только URL файла спецификации, а не base_url |
Корректность base_url | Формат проверяется, но тестовый запрос не выполняется |
| Конфигурация mock-сервера | base_mock_url не проверяется на доступность |
Пример вывода
✅ Configuration is valid.
✓ Spec petstore: OK
✓ Spec meteo: OK
✗ Spec old-api: file not foundПроверка после команды
Если проверка пройдена, конфигурация готова для mcp, update или run.
Нюансы
- Нет автоинициализации: В отличие от
add,lsилиrun,validateне выполняет автоинициализацию, если конфиг отсутствует. Он возвращает ошибку:"configuration not found at <path>". - Сетевой доступ: Удалённые URL спецификаций загружаются во время проверки. Команда может выполняться дольше, если спецификации размещены на медленных серверах.
- Фильтрация по тегам: Когда указан
--tags, проверяются только спецификации, соответствующие указанным тегам. Остальные пропускаются.