OpenAPI MCP 서버 번들 해제
이 프로젝트는 OpenAPI 사양 파일을 여러 파일로 분할하거나 특정 엔드포인트를 새 파일로 추출하는 도구를 갖춘 모델 컨텍스트 프로토콜(MCP) 서버를 제공합니다. 이를 통해 MCP 클라이언트(예: AI 비서)가 OpenAPI 사양을 프로그래밍 방식으로 조작할 수 있습니다.
필수 조건
Node.js(LTS 버전 권장, 예: v18 또는 v20)
npm(Node.js와 함께 제공)
Related MCP server: MCP-openproject
용법
Smithery를 통해 설치
Smithery를 통해 Claude Desktop용 Unbundle OpenAPI MCP Server를 자동으로 설치하려면:
지엑스피1
이 서버를 사용하는 가장 쉬운 방법은 npx 이용하는 것입니다. 이를 통해 글로벌 설치가 필요 없이 항상 최신 버전을 사용할 수 있습니다.
또는 전역적으로 설치할 수 있습니다(일반적으로 권장하지는 않음):
서버가 시작되어 표준 입력/출력(stdio)에서 MCP 요청을 수신합니다.
클라이언트 구성
VS Code, Cline, Cursor 또는 Claude Desktop과 같은 MCP 클라이언트에서 이 서버를 사용하려면 해당 설정 파일에 구성을 추가하세요. 권장되는 방법은 npx 입니다.
VS 코드 / 클라인 / 커서
Ctrl+Shift+P > Preferences: Open User Settings (JSON) 를 통해 접근 가능한 사용자 settings.json 이나 작업 공간 루트의 .vscode/mcp.json 파일에 다음을 추가합니다.
클로드 데스크탑
claude_desktop_config.json 파일에 다음을 추가하세요.
구성을 추가한 후 변경 사항을 적용하려면 클라이언트 애플리케이션을 다시 시작하세요.
MCP 도구 제공
split_openapi
설명: redocly split 명령을 실행하여 OpenAPI 정의 파일을 구조에 따라 여러 개의 작은 파일로 분리합니다.
인수:
apiPath(문자열, 필수): 입력 OpenAPI 정의 파일(예:openapi.yaml)의 절대 경로입니다.outputDir(문자열, 필수): 분할된 출력 파일을 저장할 디렉터리의 절대 경로입니다. 이 디렉터리가 없으면 자동으로 생성됩니다.
보고:
성공 시:
redocly split명령의 표준 출력을 포함한 텍스트 메시지(일반적으로 확인 메시지).실패 시: 명령 실행 시 표준 오류 또는 예외 세부 정보가 포함된 오류 메시지로,
isError: true로 표시됩니다.
예시 사용(개념적 MCP 요청):
extract_openapi_endpoints
설명: 대용량 OpenAPI 정의 파일에서 특정 엔드포인트를 추출하여 해당 엔드포인트와 참조되는 구성 요소만 포함하는 더 작은 새 OpenAPI 파일을 생성합니다. 원본 파일을 분할하고, 지정된 경로만 유지하도록 구조를 수정한 후, 결과를 번들링하여 이를 구현합니다.
인수:
inputApiPath(문자열, 필수): 대용량 입력 OpenAPI 정의 파일의 절대 경로입니다.endpointsToKeep(문자열 배열, 필수): 최종 출력에 포함할 정확한 엔드포인트 경로(문자열) 목록입니다(예:["/api", "/api/projects/{id}{.format}"]). 원본 사양에서 찾을 수 없는 경로는 무시됩니다.outputApiPath(문자열, 필수): 최종적으로 더 작은 크기의 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/에 있는 컴파일된 코드를 사용하여 서버를 시작합니다)