openapi-mcp-generator CLI
CLI собирает готовый MCP-сервер на TypeScript из спецификации OpenAPI 3: инструменты, валидация и авторизация генерируются сами
- 643 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Генератор читает спецификацию по пути или адресу и записывает проект в указанную папку
- Созданный сервер ходит в ваш REST API с ключами и токенами из переменных окружения и открывает агенту все операции спецификации, включая изменяющие данные, пока вы не исключите их через `x-mcp: false`
- Флаг `--insecure` отключает проверку TLS-сертификата в созданном сервере
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/openapi-mcp-generatorОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Генератор читает спецификацию по пути или адресу и записывает проект в указанную папку
- Созданный сервер ходит в ваш REST API с ключами и токенами из переменных окружения и открывает агенту все операции спецификации, включая изменяющие данные, пока вы не исключите их через `x-mcp: false`
- Флаг `--insecure` отключает проверку TLS-сертификата в созданном сервере
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
У вас есть REST API с описанием OpenAPI, и агенту нужен к нему доступ через MCP. Команда `openapi-mcp-generator --input openapi.json --output ./server` читает спецификацию (файл или адрес, YAML или JSON) и создает проект на Node.js: `package.json`, `tsconfig.json`, точку входа, пример `.env.example` и код сервера. Каждая операция API становится инструментом MCP, а сервер пересылает вызовы в исходный REST API и проверяет структуру запроса. Схемы Zod генерируются из определений OpenAPI, поэтому входные данные проверяются на лету. Авторизация настраивается переменными окружения: ключ API, Bearer-токен, Basic и OAuth2. Транспорт выбирают флагом `--transport`: stdio для локальной работы, веб-сервер с SSE, StreamableHTTP или готовый проект для Cloudflare Workers, который выкладывается командой `npx wrangler deploy`. У веб-режимов есть встроенный тестовый клиент в браузере. Какие операции станут инструментами, решает расширение `x-mcp: true | false`. Его ставят на корень, путь или операцию, а приоритет у самого узкого уровня. Для интеграции в код пакет предлагает программный интерфейс, например функцию `getToolsFromOpenApi`.
Для кого. Разработчикам и командам, у которых уже есть REST API со спецификацией OpenAPI и которые хотят дать к нему доступ агентам через MCP без ручного написания сервера.
Подходит, если
- Внутренний сервис описан в openapi.yaml, и нужен MCP-сервер для Claude Desktop или другого клиента MCP без ручного написания сервера
- MCP-сервер должен работать по сети: флаги `--transport=web` и `--transport=streamable-http` создают HTTP-сервер с тестовой страницей
- Нужен MCP-сервер без своего хостинга: режим `cloudflare-worker` создает проект для бесплатного тарифа Cloudflare Workers
- Не все операции API стоит открывать агенту: расширение `x-mcp: false` исключает опасные методы, а `--default-include false` исключает все операции по умолчанию
- Каждому пользователю нужен свой ключ: флаг `--header-passthrough` передает выбранные заголовки клиента в исходный API
Не подходит, если
- У API нет спецификации OpenAPI 3: генератор строит сервер только из нее
- Нужен MCP-сервер для готового сервиса вроде GitHub или Postgres: проще взять существующий сервер из каталога
- Нужны команды для терминала: для этого подойдет openapi-to-cli
- Среда не поддерживает Node.js 20 или новее: и генератор, и созданный проект требуют его
Пример запроса к агенту
Сгенерируй MCP-сервер из файла openapi.yaml через openapi-mcp-generator с транспортом stdio, открой агенту только операции чтения и покажи, как подключить его к Claude DesktopОграничения
Нужен Node.js 20 или новее. Генератор принимает спецификации OpenAPI 3.0 и новее. Если в `servers` спецификации адрес не указан или двусмыслен, укажите его флагом `--base-url`. Внешние ссылки `$ref` по http и https по умолчанию отключены ради защиты от SSRF при разборе, включает их `--allow-external-refs`.
Для режима `cloudflare-worker` часть флагов (`--header-passthrough`, `--custom-auth`, `--port`, `--insecure`, `--generate-lib`, `--oauth-creds-in-body`) не действует, и генератор выводит предупреждение. Имена инструментов обрезаются до 64 знаков, потому что Claude Desktop дальше их не принимает. Созданный проект придется запустить и сопровождать самостоятельно.
Как отключить. Снимите генератор командой `npm uninstall -g openapi-mcp-generator`. Созданные им серверы живут в отдельных папках: удалите папку проекта и уберите запись о сервере из настроек клиента MCP.
Частые вопросы
Как сделать MCP-сервер из спецификации OpenAPI?
Поставьте пакет командой `npm install -g openapi-mcp-generator` и выполните `openapi-mcp-generator --input path/to/openapi.json --output path/to/output/dir`. Затем в созданной папке запустите `npm install` и `npm start`. По умолчанию получится сервер со стандартным вводом и выводом.
Какие виды авторизации поддерживает openapi-mcp-generator?
Ключ API, Bearer-токен, Basic и OAuth2. Данные берутся из переменных окружения вроде API_KEY_, BEARER_TOKEN_, BASIC_USERNAME_ и OAUTH_CLIENT_ID_ с суффиксом схемы из спецификации. Для нестандартной логики флаг `--custom-auth` создает редактируемый файл `src/auth.ts` с функцией applyCustomAuth.
Как запретить агенту часть методов API?
Поставьте в спецификацию расширение `x-mcp: false` на корень, путь или операцию. Приоритет у самого узкого уровня: операция выигрывает у пути, путь у корня. Чтобы исключить все операции и включать по списку, запустите генератор с `--default-include false`.
Как выложить созданный MCP-сервер на Cloudflare Workers?
Запустите генератор с `--transport cloudflare-worker`, затем `npm install` в созданной папке, секреты задайте через `npx wrangler secret put API_KEY` и разверните командой `npx wrangler deploy`. Сервер отвечает по Streamable HTTP на пути /mcp и работает на бесплатном тарифе Workers.
Как проверить созданный сервер без клиента MCP?
Для транспортов web и streamable-http генератор кладет в проект тестовый клиент. Запустите сервер командой `npm run start:web` или `npm run start:http` и откройте `http://localhost:3000` (порт задает флаг `--port`). Для режима Cloudflare Workers тестового клиента нет, там подойдет MCP Inspector.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыOpenMCP превращает любую OpenAPI-спецификацию в MCP-сервер и дает выбрать, какие инструменты показывать агенту
Плагин со скиллами для сборки MCP-серверов и MCP-приложений на TypeScript: агент создает, дорабатывает, отлаживает и проверяет их
Шлюз, который превращает любой API с описанием OpenAPI V3 в MCP-сервер, без правки исходного API
CLI и TypeScript-рантайм для вызова MCP-серверов из терминала, скриптов и сгенерированных типизированных клиентов
MCP-сервер, который дает агенту читать файлы, искать по коду и запускать команды в рабочей папке
Легкий CLI, чтобы находить, смотреть и вызывать инструменты MCP-серверов прямо из командной строки
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| openapi-mcp-generator (эта запись) | нет | 643 | ||
| MCP Link | нет | не нужна | 625 | шлюз, который на лету превращает API с описанием OpenAPI V3 в MCP-сервер без генерации проекта |
| OpenAPI to CLI (ocli) | нет | 267 | превращает API по спецификации в команды терминала |
Коротко о README
README сначала перечисляет возможности: поддержка OpenAPI 3.0, проксирование вызовов, авторизация, схемы Zod, типизированный код, несколько транспортов, каркас проекта и тестовые клиенты. Дальше идут установка, примеры вызова для четырех транспортов, таблица всех флагов, пример программного использования и состав созданного проекта. Отдельные разделы описывают режимы транспорта с таблицей сравнения, переменные окружения для авторизации, фильтрацию операций через `x-mcp` и запуск готового сервера.