Skip to main content
Glama

Swagger MCP Server

by dcolley

Swagger MCP-сервер

Сервер, который принимает и обслуживает спецификации Swagger/OpenAPI через протокол контекста модели (MCP).

Функции

  • Загружает спецификации Swagger/OpenAPI
  • Поддерживает несколько методов аутентификации:
    • Базовая аутентификация
    • Токен на предъявителя
    • Ключ API (заголовок или запрос)
    • OAuth2
  • Автоматически генерирует инструменты MCP из конечных точек API
  • Поддержка событий, отправленных сервером (SSE), для связи в реальном времени
  • Поддержка TypeScript

Безопасность

Это персональный сервер!! Не выставляйте его в публичный интернет. Если базовый 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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Сервер, который обеспечивает взаимодействие с любым API, имеющим спецификацию Swagger/OpenAPI, через протокол контекста модели (MCP), автоматически генерируя инструменты из конечных точек API и поддерживая несколько методов аутентификации.

  1. Функции
    1. Безопасность
      1. ДЕЛО
        1. Предпосылки
          1. Установка
            1. Использование
              1. Конечные точки API
                1. Тестирование
                  1. Аутентификация
                    1. Базовая аутентификация
                    2. Токен на предъявителя
                    3. API-ключ
                    4. OAuth2
                  2. Разработка
                    1. Лицензия
                      1. Переменные среды

                        Related MCP Servers

                        • -
                          security
                          A
                          license
                          -
                          quality
                          An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
                          Last updated -
                          2
                          Python
                          MIT License
                        • -
                          security
                          A
                          license
                          -
                          quality
                          An MCP server that connects to a Swagger specification and helps an AI to build all the required models to generate a MCP server for that service.
                          Last updated -
                          19
                          TypeScript
                          MIT License
                          • Linux
                          • Apple
                        • -
                          security
                          F
                          license
                          -
                          quality
                          A server based on Model Context Protocol that parses Swagger/OpenAPI documents and generates TypeScript types and API client code for different frameworks (Axios, Fetch, React Query).
                          Last updated -
                          143
                          1
                          TypeScript
                        • -
                          security
                          A
                          license
                          -
                          quality
                          A server that translates Model Context Protocol (MCP) tool callings to traditional HTTP API requests, allowing existing HTTP APIs to be integrated into MCP territory through configurable mappings.
                          Last updated -
                          Python
                          Apache 2.0

                        View all related MCP servers

                        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