한국 공공데이터포털(OpenAPI)을 더 쉽게 탐색·호출할 수 있도록 돕는 Model Context Protocol(MCP) 서버입니다. 다음과 같은 MCP 도구를 제공합니다:
- search_api: 키워드로 공공데이터 API를 검색
- get_std_docs: 검색 결과에서 선택한
listId목록으로 표준 문서(markdown) 병합 - fetch_data: 표준 문서/메타데이터를 바탕으로 실제 OpenAPI 엔드포인트 호출
내부적으로 검색/문서 도구는 mcp.ezrnd.co.kr(HTTPS) 백엔드를 사용합니다.
- Node.js ≥ 18.17 (권장: 최신 LTS)
- npm (패키지 매니저)
npm installSmithery CLI를 사용해 MCP 개발 서버를 구동할 수 있습니다.
npm run dev참고:
@smithery/cli가 MCP 호스트 역할을 하며, 테스트 환경에서는 기능 미지원으로 인해ODP_SERVICE_KEY주입이 불가능합니다 추후 환경변수 등으로 사전 주입하여 서버를 실행할 수 있게 수정 예정
- ODP_SERVICE_KEY: 공공데이터포털 서비스 키. 일부 API는 쿼리 파라미터 또는 Authorization 헤더로 키 주입이 필요합니다.
- 파라미터 이름에
serviceKey가 포함되어 있으면 자동 주입됩니다. - 헤더 이름에
Authorization이 포함되어 있으면{Prefix} {키}형식으로 자동 주입됩니다.
- 파라미터 이름에
- 설명: 공공데이터포털에서 키워드로 API 목록을 검색합니다.
- 입력:
query: 문자열 배열(공백 없는 키워드, 최대 5개 권장)page: 페이지 번호(1부터)pageSize: 페이지 크기
- 출력: 검색 결과(JSON 문자열)
- 설명:
search_api결과에서 선택한 항목들의listId배열을 받아 표준 문서(markdown)를 합쳐 반환합니다. - 입력:
listId: number[]
- 출력: 통합된 markdown 문자열
- 설명: OpenAPI 메타데이터를 기반으로 특정 엔드포인트를 호출합니다. 기본 프로토콜은 HTTPS입니다.
- 입력:
requestDatabaseInfo.host: 예)apis.data.go.kr(프로토콜/슬래시 금지)baseInfo.base_path: 예)/B552015/NpsBplcInfoInqireServiceV2endpointInfo.path: 예)/getBassInfoSearchV2endpointInfo.method:GET또는POSTendpointInfo.params:[{ name, value }]배열. 값이 없으면 제외됩니다.endpointInfo.headers:[{ name, prefix, value }]배열.Authorization에 서비스키 자동 주입 지원.endpointInfo.body: POST 본문(JSON)
- 출력: 응답 본문(JSON 문자열 또는 텍스트)
이 저장소의 라이선스는 루트의 LICENSE 파일을 참고하세요.