OpenMCP
OpenMCP превращает любую OpenAPI-спецификацию в MCP-сервер и дает выбрать, какие инструменты показывать агенту
- 303 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент получает доступ к методам стороннего API, включая записывающие, если они есть в спецификации
- Ключи API попадают в openmcp.json или в переменные окружения
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/openmcpОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент получает доступ к методам стороннего API, включая записывающие, если они есть в спецификации
- Ключи API попадают в openmcp.json или в переменные окружения
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
OpenMCP берет OpenAPI-спецификацию по ссылке или из локального файла и поднимает по ней MCP-сервер. Каждая операция из спецификации становится инструментом агента, а имя инструмента берется из operationId. Команда `npx -y openmcp install <адрес или путь> --client <клиент>` создает файл openmcp.json и сразу прописывает сервер в MCP-конфигурацию выбранного клиента, например Cursor. Повторный запуск обновляет существующий файл. В openmcp.json для каждого сервера задают заголовки, параметры запроса и список разрешенных инструментов. В одном файле можно собрать несколько источников: серверы на основе OpenAPI и обычные stdio-серверы вроде сервера для PostgreSQL. Из них получается один MCP-сервер только с нужным набором инструментов.
Для кого. Для разработчиков, которые хотят дать агенту доступ к REST API с OpenAPI-описанием и не писать для него MCP-сервер вручную.
Подходит, если
- У сервиса есть openapi.json, а готового MCP-сервера нет, и агенту нужен доступ к нескольким его методам
- Большая спецификация даст сотни инструментов, и вы хотите оставить два-три нужных по operationId
- Надо собрать в одном сервере REST API и stdio-сервер базы данных, причем у базы оставить только безопасный инструмент `query`
- Ключ API должен жить в переменной окружения и подставляться в заголовок через шаблон
Не подходит, если
- Нужен MCP-сервер с продуманными описаниями и составными сценариями: OpenMCP отдает операции спецификации как есть
- У API нет OpenAPI-описания: без спецификации поднять сервер нечем
- Вам нужна постоянная поддержка проекта: репозиторий последний раз обновлялся в августе 2025 года
Пример запроса к агенту
Подключи API погоды по адресу https://api.weather.gov/openapi.json как MCP-сервер в Cursor и оставь только инструмент прогноза по зонеMCP
- Транспорт
- stdio, sse
- Авторизация
- не нужна
Ограничения
- Требует Node.js: все команды запускаются через npx.
- Агент получит только то, что есть в спецификации, а качество описаний инструментов зависит от ее автора.
- Транспорты только stdio и sse.
- Для API с авторизацией ключ или заголовок в openmcp.json нужно прописать самому.
- OpenMCP не оценивает опасность методов: операции удаления или оплаты из спецификации попадут к агенту, пока вы не уберете их из списка разрешенных инструментов.
- OpenMCP не следит за изменениями спецификации, поэтому после обновления API проверьте файл заново.
Как отключить. Удалите запись openmcp из MCP-конфигурации клиента и файл openmcp.json из проекта. Новых процессов после этого не запускается.
Частые вопросы
Как превратить OpenAPI-файл в MCP-сервер?
Выполните `npx -y openmcp install <адрес или путь> --client cursor`. Команда создаст openmcp.json и добавит сервер в конфигурацию клиента. Вручную сервер запускает `npx -y openmcp run --config <путь к openmcp.json>`.
Как оставить агенту только часть методов API?
В openmcp.json у сервера есть массив `tools` со списком operationId. Если оставить его пустым, откроются все операции. Тот же список работает и для stdio-серверов: у сервера PostgreSQL можно разрешить только инструмент `query`.
Как передать ключ API без записи в конфиг?
Задайте переменные в разделе configs и сошлитесь на них в заголовках шаблоном {{ИМЯ}}. Если значение не указано, OpenMCP попробует прочитать переменную окружения с тем же именем.
Подхватывает ли OpenMCP изменения в спецификации?
Сам нет. После обновления API запустите команду установки еще раз: она обновит существующий openmcp.json. Затем проверьте, не появились ли в списке новые опасные методы.
С какими клиентами работает OpenMCP?
Клиента выбирают флагом `--client`, примеры есть для Cursor и Claude. Сервер работает по stdio и sse.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыCLI собирает готовый MCP-сервер на TypeScript из спецификации OpenAPI 3: инструменты, валидация и авторизация генерируются сами
Шлюз, который превращает любой API с описанием OpenAPI V3 в MCP-сервер, без правки исходного API
Плагин со скиллами для сборки MCP-серверов и MCP-приложений на TypeScript: агент создает, дорабатывает, отлаживает и проверяет их
MCP-сервер, который дает агенту читать файлы, искать по коду и запускать команды в рабочей папке
MCP-сервер Ref: поиск по документации API и библиотек, который отдает агенту только нужные куски страниц
1MCP Agent
1mcp-agent
Один сервер MCP вместо многих: агент объединяет подключенные серверы и отдает их клиенту через единый адрес. Версия бета
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| OpenMCP (эта запись) | нет | не нужна | 303 | |
| X API MCP (xmcp) | да | OAuth | 865 | готовый сервер под один API, X, OpenMCP строится по любой спецификации |
| MCP-сервер Weeek | нет | API-ключ | 0 | готовый MCP-сервер одного сервиса, собранный по его OpenAPI; универсального генератора в нем нет |
Коротко о README
Пример с API погоды проводит от команды установки до готового сервера в Cursor. Большой пример openmcp.json разбирает авторизацию, заголовки и списки инструментов.