Skip to main content
Glama
K-LifeGuard MCP Server

K-LifeGuard MCP Server

by yonghwan1106

K-LifeGuard MCP Server

지능형 응급 의료 코디네이터 MCP Server

증상 기반 최적 병원 추천, 실시간 ETA, 보호자 알림 기능을 제공합니다.

Features

Tool

Description

lifeguard_search_emergency

증상과 위치 기반 최적 응급의료기관 추천 (복합 스코어링)

lifeguard_activate_emergency

응급 모드 활성화, 보호자 알림, 병상 모니터링

lifeguard_get_status

현재 응급 세션 상태 및 실시간 병상 조회

lifeguard_find_pharmacy

주변 약국 검색 (야간/휴일 필터)

Related MCP server: modu-emergencybell

Scoring Algorithm

병원 추천은 다음 복합 스코어링 공식을 사용합니다:

Score = (병상 가용성 × 0.4) + (거리 × 0.3) + (교통 ETA × 0.2) + (전문 장비 × 0.1)

Installation

npm install
npm run build

Configuration

.env 파일을 생성하고 API 키를 설정하세요:

cp .env.example .env
# 공공데이터포털 API 키 (필수)
DATA_GO_KR_API_KEY=your_api_key

# 카카오 REST API 키 (선택 - ETA 계산용)
KAKAO_REST_API_KEY=your_kakao_api_key

API Key 발급

  1. 공공데이터포털: https://www.data.go.kr

    • 국립중앙의료원 응급의료정보 API 신청

  2. 카카오 개발자: https://developers.kakao.com

    • REST API 키 발급 (네비게이션 API)

Usage

Claude Desktop 연동

claude_desktop_config.json:

{
  "mcpServers": {
    "k-lifeguard": {
      "command": "node",
      "args": ["C:/path/to/k-lifeguard-mcp-server/dist/index.js"],
      "env": {
        "DATA_GO_KR_API_KEY": "your_api_key",
        "KAKAO_REST_API_KEY": "your_kakao_api_key"
      }
    }
  }
}

직접 실행

npm start

Tool Examples

응급실 검색

증상: 가슴통증
위치: 서울 시청 (37.5665, 126.9780)
반경: 10km

응답:

  • 증상 분석 (심장내과, CT/MRI 필요 등)

  • 병원 5곳 추천 (점수, 거리, ETA, 병상, 장비)

약국 검색

위치: 현재 위치
필터: night (야간 운영)

응답:

  • 야간 운영 약국 목록

  • 운영시간, 거리, 연락처

Project Structure

k-lifeguard-mcp-server/
├── src/
│   ├── index.ts           # MCP 서버 엔트리포인트
│   ├── types.ts           # TypeScript 타입 정의
│   ├── constants.ts       # 상수 (API URL, 증상 매핑 등)
│   ├── schemas/           # Zod 입력/출력 스키마
│   ├── tools/             # MCP 도구 구현
│   │   ├── searchEmergency.ts
│   │   ├── activateEmergency.ts
│   │   ├── getStatus.ts
│   │   └── findPharmacy.ts
│   └── services/          # 외부 API 클라이언트
│       ├── nemcApi.ts     # 공공데이터포털 API
│       ├── kakaoNaviApi.ts # 카카오 내비 API
│       ├── sessionManager.ts
│       └── utils.ts
├── dist/                  # 빌드 결과물
├── package.json
└── tsconfig.json

Data Sources

  • 공공데이터포털 (NEMC): 응급의료기관 정보, 실시간 병상

  • 카카오 모빌리티: 실시간 교통 ETA

License

MIT

Author

yonghwan1106

Available Tools

4 tools
lifeguard_activate_emergency응급 모드 활성화A

응급 모드를 활성화합니다.

선택한 병원으로 이동을 시작하고, 보호자에게 카카오톡 알림을 발송하며, 실시간 병상 모니터링을 시작합니다.

Args:

  • hospital_id (string, required): 병원 HPID (lifeguard_search_emergency 결과에서 획득)

  • hospital_name (string, required): 병원명

  • eta_minutes (number, required): 예상 도착 시간 (분)

  • user_latitude (number, required): 사용자 현재 위치 위도

  • user_longitude (number, required): 사용자 현재 위치 경도

  • symptoms (string, required): 환자 증상

  • notify_guardians (boolean, optional): 보호자 알림 여부 (기본값: true)

Returns:

  • 세션 정보 (ID, 병원, 상태)

  • 카카오 내비 딥링크

  • 보호자 알림 결과

  • 모니터링 정보

  • 응급 팁

Examples:

  • lifeguard_search_emergency로 찾은 병원 선택 후 호출

Inputs: symptoms (required), eta_minutes (required), hospital_id (required), hospital_name (required), +3 more.

lifeguard_find_pharmacy약국 검색A
Read-onlyIdempotent

주변 약국을 검색합니다.

야간 운영 약국, 휴일 운영 약국을 필터링할 수 있습니다.

Args:

  • latitude (number, required): 현재 위치 위도

  • longitude (number, required): 현재 위치 경도

  • filter (string, optional): 필터 옵션 (기본값: "all")

    • "all": 전체 약국

    • "night": 야간 운영 약국 (22시 이후 영업)

    • "holiday": 휴일 운영 약국 (일요일/공휴일)

  • radius_km (number, optional): 검색 반경 km (기본값: 3)

  • limit (number, optional): 최대 결과 수 (기본값: 10)

  • response_format (string, optional): 출력 형식 (기본값: "markdown")

Returns:

  • 약국 목록 (이름, 주소, 연락처, 거리, 운영시간)

Examples:

  • "집 근처 약국 찾기" → latitude, longitude 입력

  • "야간 영업하는 약국" → filter: "night"

  • "일요일에 여는 약국" → filter: "holiday"

Inputs: latitude (required), longitude (required), limit, filter, +2 more.

lifeguard_get_status응급 상태 조회A
Read-onlyIdempotent

현재 응급 모드 상태를 조회합니다.

활성화된 응급 세션이 있으면 목적지 병원의 실시간 병상 정보도 함께 조회합니다.

Args:

  • session_id (string, optional): 세션 ID (미입력 시 가장 최근 활성 세션 조회)

Returns:

  • 세션 활성화 여부

  • 세션 정보 (ID, 병원, 경과 시간, 남은 ETA)

  • 실시간 병상 현황

  • 가능한 액션

Inputs: session_id.

lifeguard_search_emergency증상 기반 응급실 검색A
Read-onlyIdempotent

증상과 현재 위치 기반으로 최적의 응급의료기관을 추천합니다.

실시간 병상 가용성, 거리, 카카오내비 교통 상황, 전문 장비 보유 여부를 복합 스코어링하여 최적의 병원 5곳을 추천합니다.

Args:

  • latitude (number, required): 현재 위치 위도 (예: 37.5665)

  • longitude (number, required): 현재 위치 경도 (예: 126.9780)

  • symptoms (string, required): 증상 설명 (예: "가슴통증", "소아고열", "뇌졸중 의심")

  • radius_km (number, optional): 검색 반경 km (기본값: 10, 범위: 1-50)

  • response_format (string, optional): 출력 형식 "markdown" 또는 "json" (기본값: "markdown")

Returns:

  • 최적 병원 5곳 추천 (순위, 이름, 주소, 연락처, 거리, ETA, 병상, 장비, 점수)

  • 증상 분석 결과 (매칭된 키워드, 권장 진료과, 필요 장비)

  • 스코어링 공식 설명

Examples:

  • "서울 시청 근처에서 가슴통증 환자 발생" → latitude: 37.5665, longitude: 126.9780, symptoms: "가슴통증"

  • "대전에서 소아 고열" → latitude: 36.3504, longitude: 127.3845, symptoms: "소아고열"

Inputs: latitude (required), symptoms (required), longitude (required), radius_km, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.3/5.0

    Scored across 4 tools

    Disambiguation5/5

    All four tools have clearly distinct purposes: status checking, emergency hospital search, emergency activation, and pharmacy search. There is no overlap or ambiguity in their functions.

    Naming Consistency5/5

    All tool names follow a consistent 'lifeguard_verb_noun' pattern with lowercase and underscores. Verbs are descriptive (get, search, activate, find) and nouns are appropriate.

    Tool Count5/5

    With 4 tools, the server is well-scoped for its purpose: emergency medical assistance. Each tool provides essential functionality without being overwhelming or underdeveloped.

    Completeness4/5

    The tool set covers the main emergency workflow (search, activate, monitor status) and adds pharmacy search. However, it lacks a tool to cancel or complete an emergency session, which is a minor but notable gap.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Integrates with Google Maps to locate and evaluate medical facilities in emergency situations, helping users find appropriate hospitals and clinics based on medical needs, emergency level, and facility capabilities.
      5
      5
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables emergency medical coordination with tools for triage, medication guidance, blood donor outreach, mass casualty simulation, and emergency plan generation.
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      AI-powered emergency coordination platform built with NitroStack MCP to accelerate disaster response through intelligent planning, resource orchestration, and real-time operational insights.
      5
      MIT