MCP Medical Appointments Demo
MCP Medizinische Termine Demo
Eine funktionierende Referenz für das Model Context Protocol — Tools, Ressourcen, Prompts, Elicitation, Sampling und Completion — aufgebaut rund um den Bereich der medizinischen Terminplanung.
Erstellt mit TypeScript, Hono, MCP SDK und Zod.
Inhaltsverzeichnis
Related MCP server: MCP Appointment Booking Server
Funktionen
MCP Server Primitive
Primitiv | Name | Beschreibung |
Tool |
| Suche nach Ärzten nach Name oder Fachgebiet |
Tool |
| Verfügbare Zeitfenster für einen Arzt an einem Datum abrufen |
Tool |
| Termin buchen (nutzt Elicitation zur Bestätigung) |
Tool |
| Termin stornieren (nutzt Elicitation zur Bestätigung) |
Tool |
| Termine mit Filtern auflisten |
Tool |
| Symptombasierte Facharzt-Empfehlung (nutzt Sampling) |
Resource |
| Statische Liste aller medizinischen Fachgebiete |
Resource |
| Dynamisches Arztprofil mit Vorlage |
Resource |
| Patienteninformationen + Terminhistorie |
Resource |
| Vollständige Termindetails |
Prompt |
| Geführter Terminplanungs-Workflow (mit Completion) |
Prompt |
| Überprüfung der Patientenhistorie (mit Completion) |
Prompt |
| Symptom-Triage und Facharzt-Empfehlung |
MCP Client Funktionen
Funktion | Verwendung |
Elicitation |
|
Sampling |
|
Roots | Der Server registriert ein Root für den Arbeitsbereich der medizinischen Termine |
Completion | Prompts nutzen |
Agent Skill
A SKILL.md für diesen Bereich wird unter .github/skills/medical-appointments/SKILL.md bereitgestellt. Es spiegelt die Fähigkeiten des MCP-Servers wider, ohne das MCP-Protokoll zu erfordern — jeder kompatible Agent (GitHub Copilot, Claude Code, etc.) kann es bei Bedarf laden.
Was der Skill abdeckt
Skill-Workflow | Äquivalentes MCP-Primitiv |
Ärzte finden |
|
Verfügbare Slots prüfen |
|
Termin buchen |
|
Termin stornieren |
|
Termine auflisten |
|
Facharzt empfehlen |
|
Termin planen |
|
Patientenhistorie |
|
Symptome triagieren |
|
Der Skill interagiert direkt über HTTP mit dem REST-Dienst unter Verwendung des nativen Tool-Zugriffs des Agenten.
Skill-Einschränkungen
Die folgenden MCP-Server-Funktionen haben kein Äquivalent in der agentskills.io Spezifikation und werden daher nicht repliziert:
MCP-Funktion | Einschränkung |
Elicitation |
|
Sampling |
|
Argument-Vervollständigung | MCP-Prompts nutzen |
Roots | Der MCP-Server registriert ein Arbeitsbereichs-Root ( |
VS Code-spezifische Skill-Felder | Felder wie |
Schnellstart
Voraussetzungen
Node.js >= 22.0.0
VS Code mit GitHub Copilot (für MCP-Integration)
1. REST API installieren und starten
npm install
npm run dev:serviceSie sollten sehen:
Bootstrapped: 8 specialties, 12 doctors, 5 patients
Medical Appointment Service running on http://localhost:30002. MCP-Server in VS Code verbinden
Die Datei .vscode/mcp.json ist bereits konfiguriert. VS Code erkennt den MCP-Server automatisch und bietet an, ihn zu starten. Alternativ können Sie ihn manuell ausführen:
npm run dev:mcp3. Ausprobieren
Versuchen Sie im Copilot Chat von VS Code (Agent-Modus):
"Suche nach Kardiologen"
"Welche Termine hat Dr. Sarah Chen nächsten Montag frei?"
"Buche einen Termin bei doc-3 für Patient pat-1"
"Zeige mir die Terminhistorie von Alice Johnson"
"Ich habe starke Kopfschmerzen und Schwindel — welchen Facharzt sollte ich aufsuchen?"
Oder verwenden Sie die Prompts aus der Prompt-Auswahl:
Schedule Appointment — geführter Terminplanungs-Workflow
Patient History — Besuche eines Patienten überprüfen
Triage Symptoms — symptombasierte Facharzt-Zuordnung
MCP Inspector
MCP Inspector ist eine browserbasierte UI zum interaktiven Testen von MCP-Servern — zum Durchsuchen von Tools, Ressourcen und Prompts sowie deren direktem Aufruf.
1. REST API starten
Der MCP-Server ruft die REST-API über HTTP auf, daher muss diese zuerst laufen:
npm run dev:service2. Inspector starten
Führen Sie in einem zweiten Terminal aus:
npx @modelcontextprotocol/inspector tsx src/mcp/server.tsDer Inspector startet den MCP-Server als Subprozess und öffnet eine Browser-UI unter http://localhost:5173. Wählen Sie die Option STDIO.
Wenn die REST-API auf einem nicht standardmäßigen Port läuft, übergeben Sie SERVICE_URL:
SERVICE_URL=http://localhost:3000 npx @modelcontextprotocol/inspector tsx src/mcp/server.ts3. Elicitation ausprobieren
Elicitation wird durch book_appointment und cancel_appointment ausgelöst. Der Inspector rendert einen nativen Bestätigungsdialog, bevor die Aktion ausgeführt wird.
Rufen Sie book_appointment auf mit:
{
"patientId": "pat-1",
"doctorId": "doc-1",
"dateTime": "2026-05-05T10:00:00",
"reason": "Annual checkup"
}Der Inspector pausiert und bittet Sie um Bestätigung, bevor der Termin gebucht wird.
Architektur
┌─────────────────┐ stdio ┌───────────────────┐ HTTP ┌──────────────────┐
│ VS Code / │◄──────────────►│ MCP Server │─────────────►│ Hono REST API │
│ MCP Client │ │ (TypeScript) │ localhost │ (localhost:3000)│
└─────────────────┘ └───────────────────┘ └──────────────────┘
Tools, Resources, In-memory store
Prompts + JSON bootstrapDas Projekt verwendet ein Zwei-Prozess-Design:
Hono REST API — HTTP-Dienst mit einem In-Memory-Datenspeicher, gebootstrappt aus JSON-Seed-Dateien in
data/.MCP Server — Verbindet sich über stdio und macht die REST-API über MCP-Primitive (Tools, Ressourcen, Prompts) verfügbar.
Der MCP-Server greift nie direkt auf den Datenspeicher zu — er ruft die REST-API über einen HTTP-Client auf, wodurch die beiden Schichten sauber getrennt bleiben.
REST API Endpunkte
Methode | Endpunkt | Beschreibung |
|
| Alle Fachgebiete auflisten |
|
| Fachgebiet nach ID abrufen |
|
| Ärzte auflisten (Filter: |
|
| Arzt nach ID abrufen |
|
| Verfügbare Slots abrufen |
|
| Alle Patienten auflisten |
|
| Patient nach ID abrufen |
|
| Patienten erstellen |
|
| Termine auflisten (Filter: |
|
| Termin nach ID abrufen |
|
| Termin buchen |
|
| Termin stornieren |
|
| Termin abschließen |
Projektstruktur
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.jsonSkripte
Befehl | Beschreibung |
| Hono REST API mit Hot-Reload starten |
| MCP-Server im stdio-Modus starten |
| TypeScript nach |
| Typ-Prüfung ohne Dateierstellung |
Domänenmodell
Entität | Beschreibung |
Specialty | Medizinisches Fachgebiet (Kardiologie, Dermatologie, etc.) |
Doctor | Hat ein Fachgebiet, verfügbare Tage, Arbeitszeiten und Slot-Dauer |
Patient | Name, E-Mail, Telefon, Geburtsdatum |
Appointment | Verknüpft einen Patienten mit einem Arzt zu einem bestimmten Datum/Uhrzeit mit Grund und Status |
TimeSlot | Verfügbares oder gebuchtes Zeitfenster für einen Arzt an einem bestimmten Tag |
Konfiguration
Die REST-API lauscht standardmäßig auf Port 3000. Der MCP-Server kommuniziert mit der API über http://localhost:3000 und verbindet sich mit VS Code über stdio.
Seed-Daten (Fachgebiete, Ärzte, Patienten) werden beim Start aus dem Verzeichnis data/ geladen. Bearbeiten Sie diese JSON-Dateien, um den Demo-Datensatz anzupassen.
Mitwirken
Beiträge sind willkommen. Forken Sie das Repo, erstellen Sie einen Feature-Branch und öffnen Sie einen Pull Request.
Lizenz
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