Skip to main content
Glama

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 или выше)

  • Менеджер по упаковке пряжи

  • Машинопись

Установка

  1. Клонируйте репозиторий:

git clone https://github.com/dcolley/swagger-mcp.git cd swagger-mcp
  1. Установить зависимости:

yarn install
  1. Создайте файл .env на основе примера:

cp .env.example .env
  1. Настройте спецификацию Swagger/OpenAPI:

    • Поместите ваш файл Swagger в проект (например, swagger.json )

    • Или укажите URL-адрес вашей спецификации Swagger

  2. Обновите конфигурацию в config.json , указав настройки вашего сервера:

{ "server": { "host": "localhost", "port": 3000 }, "swagger": { "url": "url-or-path/to/your/swagger.json", "apiBaseUrl": "https://api.example.com", // Fallback if not specified in Swagger "defaultAuth": { // Fallback if not specified in Swagger "type": "apiKey", "apiKey": "your-api-key", "apiKeyName": "api_key", "apiKeyIn": "header" } } }

Примечание: сервер отдает приоритет настройкам из спецификации Swagger, а не настройкам файла конфигурации:

  • Если файл Swagger содержит массив servers , в качестве базового URL будет использоваться первый URL-адрес сервера.

  • Если файл Swagger определяет схемы безопасности, они будут использоваться для аутентификации.

  • Настройки файла конфигурации служат резервными, если они не указаны в файле Swagger.

Использование

  1. Запустите сервер разработки:

yarn dev
  1. Сборка для производства:

yarn build
  1. Запустите производственный сервер:

yarn start

Конечные точки API

  • GET /health - Проверить состояние работоспособности сервера

  • GET /sse — Установить соединение «События, отправленные сервером»

  • POST /messages — отправка сообщений на сервер MCP

Тестирование

Запустите тестовый набор:

# Run tests once yarn test # Run tests in watch mode yarn test:watch # Run tests with coverage report yarn test:coverage

Аутентификация

Сервер поддерживает различные методы аутентификации. Настройте их в файле config.json как запасные, если они не указаны в файле Swagger:

Базовая аутентификация

{ "defaultAuth": { "type": "basic", "username": "your-username", "password": "your-password" } }

Токен на предъявителя

{ "defaultAuth": { "type": "bearer", "token": "your-bearer-token" } }

API-ключ

{ "defaultAuth": { "type": "apiKey", "apiKey": "your-api-key", "apiKeyName": "X-API-Key", "apiKeyIn": "header" } }

OAuth2

{ "defaultAuth": { "type": "oauth2", "token": "your-oauth-token" } }

Разработка

  1. Запустите сервер разработки:

yarn dev

Лицензия

Данный проект лицензирован по лицензии 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 по умолчанию

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dcolley/swagger-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server