Skip to main content
Glama
chweyun

Nonpayment Health MCP Server

by chweyun

비급여 진료비 정보 MCP 서버 🏥

비급여 진료비 정보를 조회하고 분석하는 Model Context Protocol (MCP) 서버입니다. 건강보험심사평가원의 비급여진료비정보서비스 API를 활용하여 비급여 항목 코드 조회, 병원별 가격 정보, 통계 분석, 의사결정 지원 기능을 제공합니다.

Python 3.11+ | MCP 호환 | 라이선스: MIT

✨ 주요 기능

📋 코드 관리 도구

  • 코드 검색: 키워드로 비급여 항목 코드 검색

  • 코드 분류 체계: 코드의 분류 체계 조회

  • 코드 설명: 일반인이 이해하기 쉬운 코드 설명 제공

  • 코드 유효성 검증: 코드 유효성 및 만료일 확인

🏥 병원 정보 도구

  • 병원 검색: 특정 비급여 항목을 제공하는 병원 찾기

  • 가격 범위: 병원별 특정 항목의 가격 범위 조회

  • 가격 비교: 같은 지역 내 병원 간 가격 비교

📊 통계 분석 도구

  • 지역별 통계: 지역별 가격 통계 조회

  • 병원 종별 통계: 병원 종별 가격 비교

  • 이상 가격 탐지: 비정상적으로 높거나 낮은 가격 탐지

💡 의사결정 지원 도구

  • 최저가 옵션: 위치 기반 최저가 옵션 찾기

  • 합리적 가격 판단: 가격이 합리적인지 판단

  • 설명 리포트: 환자 친화적인 설명 리포트 생성

🚀 빠른 시작

설치

# 저장소 클론 git clone https://github.com/your-username/mcp-nonpayment-health.git cd mcp-nonpayment-health # 의존성 설치 pip install -r requirements.txt

설정

.env 파일을 생성하세요:

# 공공데이터포털 API 키 (필수) # https://www.data.go.kr 에서 발급받으세요 DATA_GO_KR_API_KEY=your_api_key_here # 서버 설정 PORT=8000 # 서버 포트 (기본값: 8000) HOST=0.0.0.0 # 서버 호스트 (기본값: 0.0.0.0) DEBUG=False # 디버그 모드 (기본값: False)

환경 변수 설명

변수명

필수

기본값

설명

DATA_GO_KR_API_KEY

-

공공데이터포털에서 발급받은 API 키

PORT

8000

서버가 사용할 포트 번호

HOST

0.0.0.0

서버가 바인딩할 호스트 주소

DEBUG

False

디버그 모드 활성화 (True/False)

MCP 서버 실행

로컬 모드 (stdio):

python -m src.server

원격 모드 (HTTP):

python run_server.py

또는 uvicorn을 직접 사용:

uvicorn src.server_http:app --host 0.0.0.0 --port 8000

Docker를 사용한 실행

Docker Compose 사용 (권장):

# .env 파일 생성 (API 키 설정) echo "DATA_GO_KR_API_KEY=your_api_key_here" > .env # 서비스 시작 docker-compose up -d # 로그 확인 docker-compose logs -f # 서비스 중지 docker-compose down

Docker 직접 사용:

# 이미지 빌드 docker build -t nonpayment-health-mcp . # 컨테이너 실행 docker run -d \ -p 8001:8000 \ -e DATA_GO_KR_API_KEY=your_api_key_here \ --name nonpayment-health-mcp \ nonpayment-health-mcp

개발 모드: docker-compose.yml은 개발 모드를 위해 소스 코드를 볼륨으로 마운트하여 코드 변경 시 자동으로 반영됩니다.

🛠️ 사용 가능한 도구

코드 관리 도구

1. nonpayment.code.search

키워드로 비급여 항목 코드를 검색합니다.

매개변수:

  • keyword (string, 필수): 검색 키워드 (예: "1인실", "MRI")

  • date (string, 선택): 유효성 검증 날짜 (YYYY-MM-DD 형식)

예제:

{ "name": "nonpayment.code.search", "arguments": { "keyword": "1인실", "date": "2025-01-01" } }

2. nonpayment.code.hierarchy

비급여 코드의 분류 체계를 조회합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

예제:

{ "name": "nonpayment.code.hierarchy", "arguments": { "npayCd": "RZ6410000" } }

3. nonpayment.code.explain

비급여 코드에 대한 일반인이 이해하기 쉬운 설명을 제공합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

4. nonpayment.code.validate

코드 유효성 및 만료일을 확인합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

  • date (string, 필수): 확인할 날짜 (YYYY-MM-DD 형식)

병원 정보 도구

5. nonpayment.hospital.search

특정 비급여 항목을 제공하는 병원을 검색합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

  • sido (string, 선택): 시/도 이름 (예: "서울", "부산")

  • sggu (string, 선택): 시/군/구 이름

  • clCd (string, 선택): 병원 종별 코드 또는 이름 (예: "상급종합", "종합병원")

6. nonpayment.hospital.price-range

특정 병원의 특정 항목에 대한 가격 범위를 조회합니다.

매개변수:

  • hospital (string, 필수): 병원 이름

  • npayCd (string, 필수): 비급여 코드

7. nonpayment.hospital.compare

같은 지역 내 병원 간 가격을 비교합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

  • sido (string, 필수): 시/도 이름

  • sggu (string, 선택): 시/군/구 이름

통계 분석 도구

8. nonpayment.stats.by-region

비급여 항목의 지역별 가격 통계를 조회합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

9. nonpayment.stats.by-hospital-type

병원 종별 가격 통계를 조회합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

10. nonpayment.stats.outlier-detect

병원의 가격이 비정상적으로 높거나 낮은지 탐지합니다.

매개변수:

  • hospital (string, 필수): 병원 이름

  • npayCd (string, 필수): 비급여 코드

  • price (number, 필수): 확인할 가격

의사결정 지원 도구

11. nonpayment.decision.cheapest-option

위치를 기반으로 최저가 옵션을 찾습니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

  • sido (string, 필수): 시/도 이름

  • sggu (string, 선택): 시/군/구 이름

12. nonpayment.decision.reasonable-price

가격이 합리적인지 판단합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

  • price (number, 필수): 확인할 가격

  • sido (string, 선택): 시/도 이름 (지역별 비교 시 사용)

13. nonpayment.decision.explanation-report

환자 친화적인 설명 리포트를 생성합니다.

매개변수:

  • npayCd (string, 필수): 비급여 코드

  • sido (string, 선택): 시/도 이름

📋 요구사항

  • Python 3.11+

  • aiohttp - 비동기 HTTP 클라이언트

  • fastapi - HTTP 서버 프레임워크

  • uvicorn - ASGI 서버

  • mcp - Model Context Protocol SDK

  • pydantic - 데이터 검증

  • xmltodict - XML 파싱

📢 공공저작물 출처표시 (공공누리 제1유형)

본 프로젝트는 공공누리 제1유형(출처표시)으로 개방된 공공저작물을 활용하여 제작되었습니다.

본 저작물은 건강보험심사평가원에서 작성·개방한 「비급여진료비정보서비스」 공공데이터를 공공누리 제1유형(출처표시) 조건에 따라 이용하였습니다.

해당 공공데이터는 공공데이터포털(data.go.kr) https://www.data.go.kr

에서 무료로 제공됩니다.

본 프로젝트는 위 공공데이터를 기반으로 비급여 진료비 정보를 조회·분석하기 위한 MCP 서버로, 데이터의 가공·분석 결과 및 이에 대한 해석의 책임은 본 프로젝트에 있으며, 건강보험심사평가원 또는 기타 공공기관의 공식 입장이나 후원, 보증을 의미하지 않습니다.

-
security - not tested
F
license - not found
-
quality - not tested

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/chweyun/mcp-nonpayment-health'

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