Глобальные настройки
Глобальные настройки — это блоки конфигурации верхнего уровня в swag2mcp.yaml. Они применяются ко всем спецификациям, если не переопределены на уровне спецификации или коллекции.
Структура
http_client:
# Настройки HTTP-клиента для всех вызовов API
mcp:
# Настройки MCP-сервера
mock_enabled: false
mock_auth:
oauth2_port: 9090
digest_port: 9091
hmac_port: 9092
disable_ratelimiter: false
rate_limit_interval: 10sHTTP-клиент
Управляет тем, как swag2mcp выполняет HTTP-запросы к API: таймаут, лимит размера ответа, прокси, заголовки, куки, перенаправления и user-agent. Эти настройки каскадируются на спецификации и коллекции.
Подробнее: HTTP-клиент — все параметры и примеры.
MCP-сервер
Управляет тем, как MCP-сервер взаимодействует с LLM-агентами: тип транспорта (stdio, SSE, Streamable HTTP), адрес, путь и опциональный bearer-токен аутентификации.
Подробнее: MCP-сервер — все параметры, транспорты и флаги запуска.
Mock-сервер
Mock-сервер генерирует фиктивные ответы API на основе OpenAPI-схем. Полезен для тестирования без обращения к реальным API.
mock_enabled: true
mock_auth:
oauth2_port: 9090
digest_port: 9091
hmac_port: 9092mock_enabled
- Тип:
bool - По умолчанию:
false - Эффект: Если
true, swag2mcp запускает mock-серверы для всех спецификаций, у которых настроенbase_mock_url. Коллекции безbase_mock_urlпропускаются. - Когда включать: Вы хотите протестировать интеграцию API без выполнения реальных HTTP-вызовов. Mock-серверы возвращают фиктивные данные на основе OpenAPI-схемы.
mock_auth
Конфигурация портов для mock-серверов аутентификации. Используются при тестировании методов auth (OAuth2, Digest, HMAC) с mock-сервером.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
oauth2_port | int | 9090 | Порт для mock-сервера OAuth2-токенов (1024-65535) |
digest_port | int | 9091 | Порт для mock-сервера Digest-аутентификации (1024-65535) |
hmac_port | int | 9092 | Порт для mock-сервера HMAC-аутентификации (1024-65535) |
Ограничитель запросов
Ограничитель запросов предотвращает слишком частые вызовы одного и того же эндпоинта API со стороны LLM. По умолчанию каждый эндпоинт можно вызывать не чаще одного раза в 10 секунд.
disable_ratelimiter: false
rate_limit_interval: 10sdisable_ratelimiter
- Тип:
bool - По умолчанию:
false - Эффект: Если
true, ограничитель запросов для каждого эндпоинта полностью отключается. LLM может вызывать один и тот же эндпоинт повторно без ожидания. - Когда включать: Тестирование, отладка или когда нужно вызывать один и тот же эндпоинт несколько раз подряд.
- Когда оставлять выключенным (рекомендуется): Продакшен. Ограничитель предотвращает случайное злоупотребление и соблюдает лимиты API.
rate_limit_interval
- Тип: duration (Go-формат:
10s,30s,1m) - По умолчанию:
10s - Эффект: Устанавливает, как долго LLM должен ждать между вызовами одного и того же эндпоинта.
- Когда изменять: Увеличьте для API со строгими лимитами. Уменьшите для внутренних API, где вы контролируете нагрузку.
- Диапазон: Любая валидная длительность (например,
5s,30s,1m,2m).
Каскад
Глобальные настройки могут быть переопределены на уровне спецификации и коллекции. Все настройки http_client (таймаут, прокси, user-agent, перенаправления, размер ответа, рандомизатор, заголовки, куки) могут быть переопределены на обоих уровнях.
Global (http_client, mock_enabled, disable_ratelimiter, rate_limit_interval)
↓ переопределяет (только http_client)
Spec (specs[].http_client)
↓ переопределяет (только http_client)
Collection (specs[].collections[].http_client)Подробнее: Каскад конфигурации.