Skip to content

validate

Назначение

Проверить файл конфигурации и все указанные в нём файлы спецификаций на наличие ошибок. Это диагностическая команда только для чтения — она никогда ничего не изменяет.

Когда использовать

  • После ручного редактирования swag2mcp.yaml
  • Перед запуском mcp или update для раннего выявления проблем
  • При диагностике, почему спецификация не загружается
  • В CI/CD пайплайнах для проверки изменений конфигурации

Синтаксис

bash
swag2mcp validate [path] [flags]

Аргументы

АргументПозицияОбязательноОписание
path1НетДиректория рабочей области. Если не указан, разрешается по правилам разрешения пути.

Флаги

ФлагСокращениеТипПо умолчаниюОписание
--tags-tstring""Проверять только спецификации с указанными тегами (через запятую)

Как это работает

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, проверяются только спецификации, соответствующие указанным тегам. Остальные пропускаются.