harsha-iiiv/openapi-mcp-generator

A tool that converts OpenAPI specifications to MCP server

OpenAPI → MCP Generator

개요 – OpenAPI 3.x 사양을 읽어 Model Context Protocol (MCP)을 사용하는 실행 가능한 Node.js 서버를 스캐폴딩하는 명령줄 도구(및 라이브러리)입니다. 생성된 서버는 원래 REST API에 대한 호출을 프록시하고 엔드포인트를 MCP “tools”로 노출하므로, AI 에이전트나 다른 MCP 클라이언트는 OpenAPI를 이해할 필요 없이 API를 호출할 수 있습니다.

주요 기능

  • OpenAPI 3+ 지원 – 유효한 사양(JSON 또는 YAML)은 무엇이든 MCP 서버로 변환할 수 있습니다.
  • 프록시 동작 – 서버는 요청을 실제 API로 전달하며, 인증 및 요청 검증을 처리합니다.
  • 인증 – API-key, Bearer, Basic, OAuth2를 환경 변수를 통해 설정할 수 있습니다.
  • 런타임 검증 – OpenAPI 정의로부터 Zod schemas가 자동으로 생성됩니다.
  • 타입 출력 – 스캐폴딩된 프로젝트는 완전히 TypeScript 타입으로 구성됩니다.
  • 다중 전송 방식 –
    • stdio (기본값) – 표준 입출력을 통한 JSON-RPC, 로컬 LLM 도구 통합에 이상적입니다.
    • web – Server-Sent Events와 내장 HTML 테스트 클라이언트를 갖춘 HTTP 서버입니다.
    • streamable-http – 완전한 HTTP 상태 처리를 지원하는 HTTP POST 기반의 상태 유지 JSON-RPC입니다.
    • cloudflare-worker – MCP Streamable-HTTP 전송을 사용하는 배포 가능한 Cloudflare Workers 프로젝트입니다.
  • 프로젝트 스캐폴드 – package.json, tsconfig.json, 소스 파일 및 샘플 테스트 클라이언트를 생성합니다.
  • 필터링 – x-mcp OpenAPI 확장(또는 --default-include 플래그)을 사용하여 어떤 작업을 MCP 도구로 만들지 결정할 수 있습니다.

설치 방법

npm install -g openapi-mcp-generator   # 또는 yarn/pnpm으로 전역 설치

일반적인 CLI 워크플로우

# 기본 stdio 서버
openapi-mcp-generator -i ./petstore.json -o ./my-mcp-server

# 포트 3000에서 SSE를 사용하는 Web 서버
openapi-mcp-generator -i ./petstore.json -o ./my-mcp-web -t web -p 3000

# Cloudflare Worker 배포
openapi-mcp-generator -i ./petstore.json -o ./my-worker -t cloudflare-worker

생성 후 출력 폴더로 cd하여 npm install을 실행한 다음, npm start(또는 전송 방식별 npm 스크립트)를 실행하여 서버를 시작합니다.

프로그래밍 방식 API – 이 패키지는 getToolsFromOpenApi와 같은 도우미 함수도 내보내므로, 파일을 작성하지 않고도 MCP 도구 정의를 반환받을 수 있어 사용자 지정 도구 개발에 유용합니다.

중요성 – MCP는 AI 에이전트가 외부 서비스를 안전하게 호출하기 위해 설계된 경량 프로토콜입니다. 기존 OpenAPI 사양을 MCP 호환 프록시로 변환함으로써, 이 생성기는 어댑터를 수동으로 작성하는 번거로움을 없애고 개발자가 기존 REST API를 재사용할 수 있게 하며, 해당 API를 LLM 기반 에이전트, Claude Desktop 또는 모든 MCP 클라이언트에서 즉시 호출할 수 있도록 합니다.

라이선스 – MIT.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트