본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 04. 02:40

안전한 MCP 툴링을 활용한 HealthcareAI 구축하기

요약

의료 분야 AI 에이전트 구축 시 보안을 위해 MCP(Model Context Protocol)를 제어 경계로 활용하는 아키텍처를 제안합니다. 데이터베이스 직접 접근 대신 도메인 특화된 권한 부여된 툴을 사용하고, 중요 작업에는 초안-확인-실행 패턴을 적용해야 합니다.

핵심 포인트

  • MCP 레이어를 통한 스키마 및 세션 권한 검증
  • run_sql 등 광범위한 도구 대신 도메인 특화 도구 사용
  • 위험 수준에 따른 도구 설계 및 읽기/쓰기 권한 분리
  • 중요 임상 작업을 위한 초안-확인-실행 패턴 적용
  • 추적 가능성을 위한 감사 로그 생성 및 데이터 비식별화

의료 분야의 AI 에이전트(AI agents)는 내부 시스템에 대한 무제한적인 접근 권한을 가져서는 안 됩니다.

즉, 다음과 같은 곳에 직접 접근해서는 안 된다는 의미입니다:

Qdrant
Neo4j
Postgres
...

HealthcareAI의 경우, 모든 기능은 좁고 권한이 부여된 MCP 툴(MCP tool)을 거쳐야 합니다.

핵심 아이디어

아키텍처는 다음과 같은 형태여야 합니다:

AI / CrewAI / Chat UI
        ↓
Permissioned MCP Tools
...

AI 레이어는 데이터베이스, 로그, 인프라 또는 병원 관리 API에 직접 접촉해서는 안 됩니다.

MCP 레이어가 제어 경계(control boundary)가 됩니다.

MCP 레이어는 다음을 검증합니다:

schema (스키마)
role (역할)
session authorization (세션 권한 부여)
...

안전한 도구의 예시

좋은 MCP 도구는 도메인 특화적(domain-specific)입니다.

rag.retrieve_context
guidelines.search
guidelines.get_citation
...

이러한 도구들은 가공되지 않은 시스템 접근 권한 대신 제어된 기능들을 노출합니다.

피해야 할 나쁜 도구

다음과 같은 도구는 피해야 합니다:

run_sql
run_cypher
execute_shell
...

이것들은 범위가 너무 넓습니다.

권한을 부여하기 어렵고, 감사(audit)하기 어려우며, 의료 환경에서는 위험합니다.

위험 수준의 중요성

서로 다른 HealthcareAI 도구들은 서로 다른 위험 수준을 가져야 합니다.

Low (낮음)       → observability summaries (관측 가능성 요약)
Medium (중간)    → RAG retrieval (RAG 검색), guideline lookup (가이드라인 조회), KG search (지식 그래프 검색)
High (높음)      → appointment booking (예약 관리)
...

도구 설계는 이러한 위험을 반영해야 합니다.

읽기 전용(Read-only) 도구는 권한 부여만 필요할 수 있습니다.

쓰기(Write) 도구는 확인(confirmation)을 요구해야 합니다.

중요한 임상 작업(Critical clinical actions)은 의사의 확인을 요구해야 합니다.

초안-확인-실행(Draft-confirm-execute) 패턴

쓰기 워크플로(write workflows)의 경우, HealthcareAI는 다음을 사용해야 합니다:

draft (초안) → confirm (확인) → execute (실행)

예약 흐름 예시:

hms.appointment.create_draft
        ↓
사용자가 의사, 시설, 시간대, 모드를 확인
...

처방 흐름 예시:

clinical.prescription.create_draft
        ↓
clinical.prescription.safety_check
...

AI는 초안을 작성할 수 있습니다.
AI는 보조할 수 있습니다.
하지만 AI가 중요한 의료 작업을 조용히(silently) 실행해서는 안 됩니다.

감사 이벤트 예시

모든 MCP 호출은 감사 로그(audit log)를 생성해야 합니다.

{
  "event": "rag.retrieve_context",
  "query_hash": "...",
...

환자 컨텍스트(patient context)의 경우, 민감한 필드는 비식별화(redacted)되어야 합니다.

{
  "event": "patient_context.get_deidentified_summary",
  "patient_ref_hash": "...",
...

감사 로그(Audit logs)는 시스템을 추적 가능(traceable)하고 검토 가능(reviewable)하게 만듭니다.

MCP 툴 체크리스트 (MCP tool checklist)

HealthcareAI 기능을 추가하기 전에 다음 사항을 확인하십시오:

✅ 서버 소유자가 명확함
✅ 입출력 스키마(Input/output schema)가 엄격함
✅ 가공되지 않은(raw) SQL/Cypher/shell/filesystem/제한 없는 HTTP 사용 금지
...

최종 규칙 (Final rule)

HealthcareAI는 "시스템 접근 권한을 가진 AI"가 되어서는 안 됩니다.

대신 다음과 같아야 합니다:

제어된 책임(controlled responsibility)을 가진 AI

만약 특정 기능이 다음과 같이 안전하게 표현될 수 없다면:

MCP 서버 (MCP server)
+ 툴/리소스/프롬프트 (tool/resource/prompt)
+ 스키마 (schema)
...

그 기능은 아직 구현되어서는 안 됩니다.

이것이 더 안전한 헬스케어 AI 아키텍처(healthcare AI architecture)를 위한 토대입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0