Разделение OpenAPI MCP Server
Этот проект предоставляет сервер Model Context Protocol (MCP) с инструментами для разделения файлов спецификаций OpenAPI на несколько файлов или извлечения определенных конечных точек в новый файл. Он позволяет клиенту MCP (например, помощнику AI) программно манипулировать спецификациями OpenAPI.
Предпосылки
Node.js (рекомендуется версия LTS, например v18 или v20)
npm (входит в состав Node.js)
Использование
Установка через Smithery
Чтобы автоматически установить Unbundle OpenAPI MCP Server для Claude Desktop через Smithery :
Самый простой способ использовать этот сервер — через npx , что гарантирует вам постоянное использование последней версии без необходимости глобальной установки.
Кроме того, вы можете установить его глобально (что обычно не рекомендуется):
Сервер запустится и будет прослушивать запросы MCP на стандартном вводе/выводе (stdio).
Конфигурация клиента
Чтобы использовать этот сервер с клиентами MCP, такими как VS Code, Cline, Cursor или Claude Desktop, добавьте его конфигурацию в соответствующий файл настроек. Рекомендуемый подход использует npx .
VS Code / Клайн / Курсор
Добавьте следующее в файл User settings.json (доступный через Ctrl+Shift+P > Preferences: Open User Settings (JSON) ) или в файл .vscode/mcp.json в корневом каталоге рабочей области.
Клод Десктоп
Добавьте следующее в файл claude_desktop_config.json .
После добавления конфигурации перезапустите клиентское приложение, чтобы изменения вступили в силу.
Предоставляемые инструменты MCP
split_openapi
Описание: Выполняет команду redocly split для разделения файла определения OpenAPI на несколько меньших файлов на основе его структуры.
Аргументы:
apiPath(строка, обязательно): абсолютный путь к входному файлу определения OpenAPI (например,openapi.yaml).outputDir(string, required): Абсолютный путь к каталогу, в котором должны быть сохранены разделенные выходные файлы. Этот каталог будет создан, если он не существует.
Возврат:
При успешном выполнении: текстовое сообщение, содержащее стандартный вывод команды
redocly split(обычно подтверждающее сообщение).При сбое: сообщение об ошибке, содержащее стандартные сведения об ошибке или исключении при выполнении команды, отмеченное как
isError: true.
Пример использования (концептуальный запрос MCP):
extract_openapi_endpoints
Описание: Извлекает определенные конечные точки из большого файла определения OpenAPI и создает новый, меньший файл OpenAPI, содержащий только эти конечные точки и их ссылочные компоненты. Это достигается путем разделения исходного файла, изменения структуры для сохранения только указанных путей, а затем объединения результата.
Аргументы:
inputApiPath(строка, обязательно): абсолютный путь к большому входному файлу определения OpenAPI.endpointsToKeep(массив строк, обязательно): список точных путей конечных точек (строк), которые следует включить в конечный вывод (например,["/api", "/api/projects/{id}{.format}"]). Пути, не найденные в исходной спецификации, будут игнорироваться.outputApiPath(string, required): Абсолютный путь, по которому должен быть сохранен окончательный, меньший упакованный файл OpenAPI. Каталог будет создан, если он не существует.
Возврат:
В случае успеха: текстовое сообщение с указанием пути к созданному файлу и стандартный вывод команды
redocly bundle.При ошибке: сообщение об ошибке, содержащее сведения о шаге, который не был выполнен (разделение, изменение, объединение), отмеченное как
isError: true.
Пример использования (концептуальный запрос MCP):
Примечание: Этот сервер использует npx @redocly/cli@latest внутренне для выполнения базовых команд split и bundle . Для npx может потребоваться подключение к Интернету для извлечения @redocly/cli если он не кэширован. Временные файлы создаются во время процесса extract_openapi_endpoints и автоматически очищаются.
Разработка
Если вы хотите внести свой вклад или запустить сервер из исходного кода:
Клонировать: Клонировать этот репозиторий.
Перейдите:
cd unbundle_openapi_mcpУстановка зависимостей:
npm installСборка:
npm run build(компилирует TypeScript вdist/)Запустить:
npm start(запускает сервер, используя скомпилированный код вdist/)
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Разделение спецификаций OpenAPI MCP
Related MCP Servers
- MIT License
- MIT License
- MIT License