MCP Medical Appointments Demo
MCP 의료 예약 데모
Model Context Protocol을 위한 작동 참조 구현체로, 의료 예약 도메인을 중심으로 도구, 리소스, 프롬프트, 유도(elicitation), 샘플링 및 완성(completion) 기능을 포함합니다.
TypeScript, Hono, MCP SDK 및 Zod로 구축되었습니다.
목차
Related MCP server: MCP Appointment Booking Server
기능
MCP 서버 기본 요소
기본 요소 | 이름 | 설명 |
도구 |
| 이름이나 전문 분야별로 의사 검색 |
도구 |
| 특정 날짜의 의사 예약 가능 시간대 조회 |
도구 |
| 진료 예약 (확인을 위해 유도(elicitation) 사용) |
도구 |
| 진료 예약 취소 (확인을 위해 유도(elicitation) 사용) |
도구 |
| 필터를 사용하여 예약 목록 조회 |
도구 |
| 증상 기반 전문의 추천 (샘플링 사용) |
리소스 |
| 모든 의료 전문 분야의 정적 목록 |
리소스 |
| 템플릿을 포함한 동적 의사 프로필 |
리소스 |
| 환자 정보 + 예약 내역 |
리소스 |
| 전체 예약 상세 정보 |
프롬프트 |
| 안내형 진료 예약 워크플로우 (완성(completion) 포함) |
프롬프트 |
| 환자 진료 기록 검토 (완성(completion) 포함) |
프롬프트 |
| 증상 분류 및 전문의 추천 |
MCP 클라이언트 기능
기능 | 사용 방법 |
유도(Elicitation) |
|
샘플링 |
|
루트(Roots) | 서버가 의료 예약 워크스페이스를 위한 루트를 등록함 |
완성(Completion) | 프롬프트는 |
에이전트 스킬
이 도메인을 위한 SKILL.md가 .github/skills/medical-appointments/SKILL.md에 제공됩니다. 이는 MCP 프로토콜을 요구하지 않고도 MCP 서버의 기능을 반영하므로, 호환되는 모든 에이전트(GitHub Copilot, Claude Code 등)가 필요에 따라 로드할 수 있습니다.
스킬 범위
스킬 워크플로우 | 대응하는 MCP 기본 요소 |
의사 찾기 |
|
예약 가능 시간 확인 |
|
진료 예약 |
|
예약 취소 |
|
예약 목록 조회 |
|
전문의 추천 |
|
진료 예약 |
|
환자 진료 기록 |
|
증상 분류 |
|
이 스킬은 에이전트의 기본 도구 액세스를 사용하여 HTTP를 통해 REST 서비스와 직접 상호 작용합니다.
스킬 제한 사항
다음 MCP 서버 기능은 agentskills.io 사양에 대응하는 기능이 없으므로 복제되지 않았습니다:
MCP 기능 | 제한 사항 |
유도(Elicitation) |
|
샘플링 |
|
인자 완성 | MCP 프롬프트는 클라이언트 UI에서 전문 분야 이름과 환자 ID를 자동 제안하기 위해 |
루트(Roots) | MCP 서버는 워크스페이스 루트( |
VS Code 전용 스킬 필드 |
|
빠른 시작
사전 요구 사항
Node.js >= 22.0.0
GitHub Copilot이 포함된 VS Code (MCP 통합용)
1. REST API 설치 및 시작
npm install
npm run dev:service다음과 같이 표시되어야 합니다:
Bootstrapped: 8 specialties, 12 doctors, 5 patients
Medical Appointment Service running on http://localhost:30002. VS Code에서 MCP 서버 연결
.vscode/mcp.json 파일은 이미 구성되어 있습니다. VS Code가 자동으로 MCP 서버를 감지하고 시작을 제안합니다. 또는 수동으로 실행할 수 있습니다:
npm run dev:mcp3. 사용해 보기
VS Code의 Copilot Chat(에이전트 모드)에서 다음을 시도해 보세요:
"심장 전문의 검색해 줘"
"다음 주 월요일에 Dr. Sarah Chen의 예약 가능한 시간대는 언제인가요?"
"환자 pat-1을 위해 doc-3 의사에게 진료 예약해 줘"
"Alice Johnson의 진료 예약 기록을 보여줘"
"심한 두통과 어지러움이 있는데 어떤 전문의를 만나야 할까요?"
또는 프롬프트 선택기에서 프롬프트를 사용하세요:
Schedule Appointment — 안내형 예약 워크플로우
Patient History — 환자의 방문 기록 검토
Triage Symptoms — 증상 기반 전문의 매칭
MCP 인스펙터
MCP 인스펙터는 MCP 서버를 대화형으로 테스트하기 위한 브라우저 기반 UI로, 도구, 리소스, 프롬프트를 탐색하고 직접 호출할 수 있습니다.
1. REST API 시작
MCP 서버는 HTTP를 통해 REST API를 호출하므로 먼저 실행 중이어야 합니다:
npm run dev:service2. 인스펙터 실행
두 번째 터미널에서 다음을 실행합니다:
npx @modelcontextprotocol/inspector tsx src/mcp/server.ts인스펙터는 MCP 서버를 하위 프로세스로 시작하고 **http://localhost:5173**에서 브라우저 UI를 엽니다. STDIO 옵션을 선택하세요.
REST API가 기본 포트가 아닌 곳에서 실행 중인 경우 SERVICE_URL을 전달하세요:
SERVICE_URL=http://localhost:3000 npx @modelcontextprotocol/inspector tsx src/mcp/server.ts3. 유도(Elicitation) 테스트
유도는 book_appointment 및 cancel_appointment에 의해 트리거됩니다. 인스펙터는 작업이 커밋되기 전에 기본 확인 대화 상자를 렌더링합니다.
다음과 같이 book_appointment를 호출하세요:
{
"patientId": "pat-1",
"doctorId": "doc-1",
"dateTime": "2026-05-05T10:00:00",
"reason": "Annual checkup"
}인스펙터가 일시 중지되고 예약이 완료되기 전에 확인을 요청합니다.
아키텍처
┌─────────────────┐ stdio ┌───────────────────┐ HTTP ┌──────────────────┐
│ VS Code / │◄──────────────►│ MCP Server │─────────────►│ Hono REST API │
│ MCP Client │ │ (TypeScript) │ localhost │ (localhost:3000)│
└─────────────────┘ └───────────────────┘ └──────────────────┘
Tools, Resources, In-memory store
Prompts + JSON bootstrap이 프로젝트는 2-프로세스 설계를 사용합니다:
Hono REST API —
data/의 JSON 시드 파일에서 부트스트랩된 인메모리 데이터 저장소를 갖춘 HTTP 서비스.MCP 서버 — stdio를 통해 연결되며 MCP 기본 요소(도구, 리소스, 프롬프트)를 통해 REST API를 노출합니다.
MCP 서버는 데이터 저장소에 직접 접근하지 않으며, HTTP 클라이언트를 통해 REST API를 호출하여 두 계층을 깔끔하게 분리합니다.
REST API 엔드포인트
메서드 | 엔드포인트 | 설명 |
|
| 모든 전문 분야 목록 |
|
| ID별 전문 분야 조회 |
|
| 의사 목록 (필터: |
|
| ID별 의사 조회 |
|
| 예약 가능한 시간대 조회 |
|
| 모든 환자 목록 |
|
| ID별 환자 조회 |
|
| 환자 생성 |
|
| 예약 목록 (필터: |
|
| ID별 예약 조회 |
|
| 진료 예약 |
|
| 진료 예약 취소 |
|
| 진료 예약 완료 |
프로젝트 구조
mcp-demo/
├── data/
│ ├── specialties.json # 8 medical specialties
│ ├── doctors.json # 12 doctors across specialties
│ └── patients.json # 5 sample patients
├── src/
│ ├── types.ts # Shared domain types
│ ├── service/
│ │ ├── store.ts # In-memory data store
│ │ ├── app.ts # Hono app composition
│ │ ├── main.ts # Service entry point
│ │ └── routes/ # REST route handlers
│ └── mcp/
│ ├── api-client.ts # HTTP client for the REST API
│ ├── tools.ts # MCP tool registrations
│ ├── resources.ts # MCP resource registrations
│ ├── prompts.ts # MCP prompt registrations
│ └── server.ts # MCP server entry point
├── .vscode/
│ └── mcp.json # VS Code MCP server config
├── package.json
└── tsconfig.json스크립트
명령어 | 설명 |
| 핫 리로드가 포함된 Hono REST API 시작 |
| stdio 모드에서 MCP 서버 시작 |
| TypeScript를 |
| 파일을 생성하지 않고 타입 체크 |
도메인 모델
엔티티 | 설명 |
Specialty | 의료 전문 분야 (심장내과, 피부과 등) |
Doctor | 전문 분야, 근무 가능 요일, 근무 시간, 시간대 지속 시간을 가짐 |
Patient | 이름, 이메일, 전화번호, 생년월일 |
Appointment | 환자와 의사를 특정 날짜/시간에 사유 및 상태와 함께 연결 |
TimeSlot | 특정 날짜에 의사가 예약 가능하거나 예약된 시간 창 |
구성
REST API는 기본적으로 3000번 포트에서 수신 대기합니다. MCP 서버는 http://localhost:3000을 통해 API와 통신하며 stdio를 통해 VS Code에 연결됩니다.
시드 데이터(전문 분야, 의사, 환자)는 시작 시 data/ 디렉토리에서 로드됩니다. 데모 데이터셋을 사용자 정의하려면 해당 JSON 파일을 편집하세요.
기여
기여를 환영합니다. 저장소를 포크하고, 기능 브랜치를 생성한 후 풀 리퀘스트를 여세요.
라이선스
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with OnSched's consumer-facing appointment scheduling API through natural language, allowing users to manage bookings, appointments, and scheduling operations.
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables users to book, cancel, reschedule, and list appointments through natural language interactions. It uses YAML configurations for agent behavior and function logic to manage appointment data and availability.MIT
- AlicenseAqualityDmaintenanceEnables HIPAA-aware healthcare workflow automation including patient intake, clinical summaries, compliance checking, and appointment scheduling via MCP tools.4991Business Source 1.1
- FlicenseNot gradedqualityCmaintenanceSimulates a third-party appointment booking agent, enabling your AI platform to check availability and book appointments via MCP interoperability.
Related MCP Connectors
AI-native scheduling: check availability, book meetings, cancel and reschedule via MCP
An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.
Hosted MCP server exposing US hospital procedure cost data to AI assistants
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/bicatu/mcp-skills-demo'
If you have feedback or need assistance with the MCP directory API, please join our Discord server