Swagger MCP Server
MCP-сервер загружает спецификацию Swagger или OpenAPI и делает из каждой конечной точки API инструмент для агента.
- 115 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Агент вызывает любые методы API, в том числе изменяющие и удаляющие данные, с вашими учетными данными.
- Секреты лежат в `config.json` и `.env` открытым текстом, а сервер нельзя открывать наружу.
Установка
- Работает в
Ручная установка
git clone https://github.com/dcolley/swagger-mcp.gitДальше `yarn install`, `cp .env.example .env`, правка `config.json` и `yarn dev`.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Агент вызывает любые методы API, в том числе изменяющие и удаляющие данные, с вашими учетными данными.
- Секреты лежат в `config.json` и `.env` открытым текстом, а сервер нельзя открывать наружу.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Swagger MCP Server читает спецификацию Swagger или OpenAPI из файла либо по URL и автоматически создает MCP-инструменты по ее конечным точкам. Агент вызывает API сервиса, не зная его URL и параметров заранее. Сервер умеет Basic Auth, Bearer-токены, ключ API в заголовке или параметре запроса и OAuth2. Базовый адрес и схемы безопасности берутся из самой спецификации, а `config.json` служит запасным вариантом. Клиент подключается по SSE, а состояние сервера отдает `GET /health`. Спецификацию кладут рядом с проектом или указывают по URL.
Для кого. Разработчики, которым нужно быстро дать агенту доступ к собственному или стороннему REST API с готовой спецификацией.
Подходит, если
- У сервиса есть `swagger.json`, и его API нужно вызывать из диалога с агентом.
- Эндпоинты внутреннего сервиса опробуют без написания клиента.
- Один набор инструментов хочется получить прямо из OpenAPI-файла.
- Для API нужна авторизация по ключу или токену.
Не подходит, если
- Сервер хотят открыть в интернет: автор называет его личным и просит этого не делать.
- Спецификации нет или она неполная: инструменты строятся только по ней.
- API меняет данные, а за агентом нет контроля.
Пример запроса к агенту
Загрузи спецификацию из `swagger.json` и покажи, какие методы есть у API, затем получи список питомцев.MCP
- Транспорт
- sse
- Авторизация
- ключ необязателен
Переменные окружения
DEFAULT_SWAGGER_URL- Адрес спецификации Swagger по умолчанию
DEFAULT_API_BASE_URL- Базовый адрес API, если его нет в спецификации
API_TOKENсекрет- Токен для авторизации запросов к API
API_USERNAMEсекрет- Имя пользователя для Basic Auth
API_PASSWORDсекрет- Пароль для Basic Auth
PORT- Порт сервера, по умолчанию 3000
Ограничения
Автор называет сервер личным: его нельзя открывать в публичный интернет, особенно если API требует авторизации. Секреты в `config.json` и переменных окружения хранятся открытым текстом, а поддержка секретов пользователя в списке TODO. Набор тестов автор тоже называет незавершенным. Нужны Node.js 18 или новее, Yarn и TypeScript, пакета в npm нет, ставят из клонированного репозитория. Последний коммит сделан в июле 2026 года.
Как отключить. Остановите сервер и уберите его адрес из настроек MCP-клиента. Ключи и токены из `config.json` и `.env` удалите.
Частые вопросы
Откуда берется адрес API и авторизация?
Из спецификации: первый адрес из `servers` и схемы безопасности имеют приоритет. `config.json` подставляется, только если в файле их нет.
Какие способы авторизации есть?
Basic Auth, Bearer-токен, ключ API в заголовке или запросе и OAuth2 с готовым токеном.
Как проверить, что сервер работает?
Запросом `GET /health`. Клиент подключается к `GET /sse`, а сообщения идут на `POST /messages`.
Какие переменные окружения читает сервер?
`PORT`, `API_USERNAME`, `API_PASSWORD`, `API_TOKEN`, `DEFAULT_API_BASE_URL` и `DEFAULT_SWAGGER_URL`. Все они запасные значения.
Можно ли выставить сервер в интернет?
Нет. Автор называет его личным и просит не открывать наружу, особенно если API требует авторизации.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыШлюз на Pingora превращает существующие HTTP-сервисы по описанию OpenAPI в MCP-серверы без правки их кода
MCP-сервер Apollo: превращает заданные операции GraphQL в инструменты, через которые агент работает с вашим API
MCP-сервер и плагин для агентов генерируют веб-API из спецификаций OpenAPI, AsyncAPI, GraphQL, gRPC и SQL на ядре Rust.
mcp-graphql — MCP-сервер для GraphQL API
mcp-graphql
Два инструмента для GraphQL: агент получает схему вашего API и выполняет запросы к нему через один эндпоинт
Пакет для Laravel и Lumen, который добавляет MCP-эндпоинт в маршруты приложения и подключает к нему ваши инструменты
Один бинарник Go подключается к SQL-базе и отдает ее как REST API с ролями и как MCP-сервер для Claude Code, Cursor и VS Code
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Swagger MCP Server (эта карточка) | нет | ключ необязателен | 115 | |
| openapi-mcp-generator | нет | 644 | генерирует отдельный MCP-сервер из OpenAPI; Swagger MCP Server читает спецификацию на лету | |
| OpenAPI MCP Server | да | не нужна | 301 | дает агенту обзор спецификации; Swagger MCP Server создает вызываемые инструменты по каждой конечной точке |
Коротко о README
Сервер на TypeScript запускают через `yarn dev` или `yarn start` после сборки. Настройки задают в `config.json` и `.env`.