Skip to main content
Glama
by auto-browse

Разделение OpenAPI MCP Server

значок кузнеца

Этот проект предоставляет сервер Model Context Protocol (MCP) с инструментами для разделения файлов спецификаций OpenAPI на несколько файлов или извлечения определенных конечных точек в новый файл. Он позволяет клиенту MCP (например, помощнику AI) программно манипулировать спецификациями OpenAPI.

Предпосылки

  • Node.js (рекомендуется версия LTS, например v18 или v20)

  • npm (входит в состав Node.js)

Related MCP server: MCP-openproject

Использование

Установка через Smithery

Чтобы автоматически установить Unbundle OpenAPI MCP Server для Claude Desktop через Smithery :

npx -y @smithery/cli install @auto-browse/unbundle_openapi_mcp --client claude

Самый простой способ использовать этот сервер — через npx , что гарантирует вам постоянное использование последней версии без необходимости глобальной установки.

npx @auto-browse/unbundle-openapi-mcp@latest

Кроме того, вы можете установить его глобально (что обычно не рекомендуется):

npm install -g @auto-browse/unbundle-openapi-mcp # Then run using: unbundle-openapi-mcp

Сервер запустится и будет прослушивать запросы 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 в корневом каталоге рабочей области.

// In settings.json: "mcp.servers": { "unbundle_openapi": { // You can choose any key name "command": "npx", "args": [ "@auto-browse/unbundle-openapi-mcp@latest" ] } // ... other servers can be added here }, // Or in .vscode/mcp.json (omit the top-level "mcp.servers"): { "unbundle_openapi": { // You can choose any key name "command": "npx", "args": [ "@auto-browse/unbundle-openapi-mcp@latest" ] } // ... other servers can be added here }

Клод Десктоп

Добавьте следующее в файл claude_desktop_config.json .

{ "mcpServers": { "unbundle_openapi": { // You can choose any key name "command": "npx", "args": ["@auto-browse/unbundle-openapi-mcp@latest"] } // ... other servers can be added here } }

После добавления конфигурации перезапустите клиентское приложение, чтобы изменения вступили в силу.

Предоставляемые инструменты MCP

split_openapi

Описание: Выполняет команду redocly split для разделения файла определения OpenAPI на несколько меньших файлов на основе его структуры.

Аргументы:

  • apiPath (строка, обязательно): абсолютный путь к входному файлу определения OpenAPI (например, openapi.yaml ).

  • outputDir (string, required): Абсолютный путь к каталогу, в котором должны быть сохранены разделенные выходные файлы. Этот каталог будет создан, если он не существует.

Возврат:

  • При успешном выполнении: текстовое сообщение, содержащее стандартный вывод команды redocly split (обычно подтверждающее сообщение).

  • При сбое: сообщение об ошибке, содержащее стандартные сведения об ошибке или исключении при выполнении команды, отмеченное как isError: true .

Пример использования (концептуальный запрос MCP):

{ "tool_name": "split_openapi", "arguments": { "apiPath": "/path/to/your/openapi.yaml", "outputDir": "/path/to/output/directory" } }

extract_openapi_endpoints

Описание: Извлекает определенные конечные точки из большого файла определения OpenAPI и создает новый, меньший файл OpenAPI, содержащий только эти конечные точки и их ссылочные компоненты. Это достигается путем разделения исходного файла, изменения структуры для сохранения только указанных путей, а затем объединения результата.

Аргументы:

  • inputApiPath (строка, обязательно): абсолютный путь к большому входному файлу определения OpenAPI.

  • endpointsToKeep (массив строк, обязательно): список точных путей конечных точек (строк), которые следует включить в конечный вывод (например, ["/api", "/api/projects/{id}{.format}"] ). Пути, не найденные в исходной спецификации, будут игнорироваться.

  • outputApiPath (string, required): Абсолютный путь, по которому должен быть сохранен окончательный, меньший упакованный файл OpenAPI. Каталог будет создан, если он не существует.

Возврат:

  • В случае успеха: текстовое сообщение с указанием пути к созданному файлу и стандартный вывод команды redocly bundle .

  • При ошибке: сообщение об ошибке, содержащее сведения о шаге, который не был выполнен (разделение, изменение, объединение), отмеченное как isError: true .

Пример использования (концептуальный запрос MCP):

{ "tool_name": "extract_openapi_endpoints", "arguments": { "inputApiPath": "/path/to/large-openapi.yaml", "endpointsToKeep": ["/users", "/users/{userId}/profile"], "outputApiPath": "/path/to/extracted-openapi.yaml" } }

Примечание: Этот сервер использует npx @redocly/cli@latest внутренне для выполнения базовых команд split и bundle . Для npx может потребоваться подключение к Интернету для извлечения @redocly/cli если он не кэширован. Временные файлы создаются во время процесса extract_openapi_endpoints и автоматически очищаются.

Разработка

Если вы хотите внести свой вклад или запустить сервер из исходного кода:

  1. Клонировать: Клонировать этот репозиторий.

  2. Перейдите: cd unbundle_openapi_mcp

  3. Установка зависимостей: npm install

  4. Сборка: npm run build (компилирует TypeScript в dist/ )

  5. Запустить: npm start (запускает сервер, используя скомпилированный код в dist/ )

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/auto-browse/unbundle_openapi_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server