Skip to main content
Glama

Open Data MCP

smithery badge

한국 공공데이터포털(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 install

실행(개발)

Smithery CLI를 사용해 MCP 개발 서버를 구동할 수 있습니다.

npm run dev

참고: @smithery/cli가 MCP 호스트 역할을 하며, 테스트 환경에서는 기능 미지원으로 인해 ODP_SERVICE_KEY주입이 불가능합니다 추후 환경변수 등으로 사전 주입하여 서버를 실행할 수 있게 수정 예정

환경변수

  • ODP_SERVICE_KEY: 공공데이터포털 서비스 키. 일부 API는 쿼리 파라미터 또는 Authorization 헤더로 키 주입이 필요합니다.

    • 파라미터 이름에 serviceKey가 포함되어 있으면 자동 주입됩니다.

    • 헤더 이름에 Authorization이 포함되어 있으면 {Prefix} {키} 형식으로 자동 주입됩니다.

제공 도구 상세

search_api

  • 설명: 공공데이터포털에서 키워드로 API 목록을 검색합니다.

  • 입력:

    • query: 문자열 배열(공백 없는 키워드, 최대 5개 권장)

    • page: 페이지 번호(1부터)

    • pageSize: 페이지 크기

  • 출력: 검색 결과(JSON 문자열)

get_std_docs

  • 설명: search_api 결과에서 선택한 항목들의 listId 배열을 받아 표준 문서(markdown)를 합쳐 반환합니다.

  • 입력:

    • listId: number[]

  • 출력: 통합된 markdown 문자열

fetch_data

  • 설명: OpenAPI 메타데이터를 기반으로 특정 엔드포인트를 호출합니다. 기본 프로토콜은 HTTPS입니다.

  • 입력: requestData

    • baseInfo.host: 예) apis.data.go.kr (프로토콜/슬래시 금지)

    • baseInfo.base_path: 예) /B552015/NpsBplcInfoInqireServiceV2

    • endpointInfo.path: 예) /getBassInfoSearchV2

    • endpointInfo.method: GET 또는 POST

    • endpointInfo.params: [{ name, value }] 배열. 값이 없으면 제외됩니다.

    • endpointInfo.headers: [{ name, prefix, value }] 배열. Authorization에 서비스키 자동 주입 지원.

    • endpointInfo.body: POST 본문(JSON)

  • 출력: 응답 본문(JSON 문자열 또는 텍스트)

라이선스

이 저장소의 라이선스는 루트의 LICENSE 파일을 참고하세요.

-
security - not tested
A
license - permissive license
-
quality - not tested

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/ceami/opendata-mcp'

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