Swagger MCP-сервер
Сервер, который принимает и обслуживает спецификации Swagger/OpenAPI через протокол контекста модели (MCP).
Функции
Загружает спецификации Swagger/OpenAPI
Поддерживает несколько методов аутентификации:
Базовая аутентификация
Токен на предъявителя
Ключ API (заголовок или запрос)
OAuth2
Автоматически генерирует инструменты MCP из конечных точек API
Поддержка событий, отправленных сервером (SSE), для связи в реальном времени
Поддержка TypeScript
Related MCP server: Swagger MCP Server
Безопасность
Это персональный сервер!! Не выставляйте его в публичный интернет. Если базовый API требует аутентификации, вы не должны выставлять сервер MCP в публичный интернет.
ДЕЛО
секреты — сервер MCP должен иметь возможность использовать секреты пользователя для аутентификации запросов к API.
Комплексный набор тестов
Предпосылки
Node.js (v18 или выше)
Менеджер по упаковке пряжи
Машинопись
Установка
Клонируйте репозиторий:
Установить зависимости:
Создайте файл
.envна основе примера:
Настройте спецификацию Swagger/OpenAPI:
Поместите ваш файл Swagger в проект (например,
swagger.json)Или укажите URL-адрес вашей спецификации Swagger
Обновите конфигурацию в
config.json, указав настройки вашего сервера:
Примечание: сервер отдает приоритет настройкам из спецификации Swagger, а не настройкам файла конфигурации:
Если файл Swagger содержит массив
servers, в качестве базового URL будет использоваться первый URL-адрес сервера.Если файл Swagger определяет схемы безопасности, они будут использоваться для аутентификации.
Настройки файла конфигурации служат резервными, если они не указаны в файле Swagger.
Использование
Запустите сервер разработки:
Сборка для производства:
Запустите производственный сервер:
Конечные точки API
GET /health- Проверить состояние работоспособности сервераGET /sse— Установить соединение «События, отправленные сервером»POST /messages— отправка сообщений на сервер MCP
Тестирование
Запустите тестовый набор:
Аутентификация
Сервер поддерживает различные методы аутентификации. Настройте их в файле config.json как запасные, если они не указаны в файле Swagger:
Базовая аутентификация
Токен на предъявителя
API-ключ
OAuth2
Разработка
Запустите сервер разработки:
Лицензия
Данный проект лицензирован по лицензии Apache 2.0.
Переменные среды
PORT: Порт сервера (по умолчанию: 3000)API_USERNAME: Имя пользователя для аутентификации API (резервный вариант)API_PASSWORD: Пароль для аутентификации API (запасной вариант)API_TOKEN: API-токен для аутентификации (запасной вариант)DEFAULT_API_BASE_URL: Базовый URL-адрес по умолчанию для конечных точек API (резервный вариант)DEFAULT_SWAGGER_URL: URL спецификации Swagger по умолчанию