Разделение 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
- -securityFlicense-qualityA MCP server that exposes OpenAPI schema information to LLMs like Claude. This server allows an LLM to explore and understand large OpenAPI schemas through a set of specialized tools, without needing to load the whole schema into the contextLast updated -375JavaScript
- -securityFlicense-qualityAn MCP server that provides access to Naver OpenAPI services, enabling users to search blogs, news, books, images, and other content through standardized Model Context Protocol interfaces.Last updated -Python
- -securityAlicense-qualityGenerate an MCP server for any OpenAPI documented endpoint.Last updated -266GoApache 2.0
- -securityAlicense-qualityMCP server providing token-efficient access to OpenAPI/Swagger specs via MCP Resources for client-side exploration.Last updated -35122TypeScriptMIT License