MCP Medical Appointments Demo
MCP 医療予約デモ
Model Context Protocol(ツール、リソース、プロンプト、エリシテーション、サンプリング、補完)の動作リファレンスであり、医療予約スケジューリングのドメインを中心に構築されています。
TypeScript、Hono、MCP SDK、Zod を使用して構築されています。
目次
Related MCP server: MCP Appointment Booking Server
機能
MCPサーバープリミティブ
プリミティブ | 名前 | 説明 |
Tool |
| 名前または専門分野で医師を検索 |
Tool |
| 特定の日付における医師の空き時間を取得 |
Tool |
| 予約を行う(確認のためにエリシテーションを使用) |
Tool |
| 予約をキャンセルする(確認のためにエリシテーションを使用) |
Tool |
| フィルターを使用して予約を一覧表示 |
Tool |
| 症状に基づいた専門医の推奨(サンプリングを使用) |
Resource |
| 全ての診療科の静的リスト |
Resource |
| テンプレートを使用した動的な医師プロフィール |
Resource |
| 患者情報と予約履歴 |
Resource |
| 予約の詳細情報 |
Prompt |
| ガイド付き予約スケジューリングワークフロー(補完機能付き) |
Prompt |
| 患者履歴の確認(補完機能付き) |
Prompt |
| 症状のトリアージと専門医の推奨 |
MCPクライアント機能
機能 | 使用方法 |
エリシテーション |
|
サンプリング |
|
ルート | サーバーは医療予約ワークスペースのルートを登録します |
補完 | プロンプトは |
エージェントスキル
このドメイン用の SKILL.md は .github/skills/medical-appointments/SKILL.md に提供されています。これはMCPプロトコルを必要とせずにMCPサーバーの機能をミラーリングしており、互換性のあるエージェント(GitHub Copilot、Claude Codeなど)であればオンデマンドで読み込むことができます。
スキルがカバーする内容
スキルワークフロー | 同等のMCPプリミティブ |
医師の検索 |
|
空き時間の確認 |
|
予約の実行 |
|
予約のキャンセル |
|
予約の一覧表示 |
|
専門医の推奨 |
|
予約のスケジューリング |
|
患者履歴の確認 |
|
症状のトリアージ |
|
このスキルは、エージェントのネイティブなツールアクセスを使用して、HTTP経由でRESTサービスと直接やり取りします。
スキルの制限事項
以下のMCPサーバー機能は agentskills.io仕様 に同等のものが存在しないため、再現されていません。
MCP機能 | 制限事項 |
エリシテーション |
|
サンプリング |
|
引数の補完 | MCPプロンプトは |
ルート | 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チャット(エージェントモード)で、以下を試してください:
"循環器内科医を検索して"
"Sarah Chen医師の来週月曜日の空き時間は?"
"患者pat-1のためにdoc-3との予約を入れて"
"Alice Johnsonの予約履歴を見せて"
"ひどい頭痛とめまいがするのですが、何科を受診すべきですか?"
または、プロンプトピッカーからプロンプトを使用してください:
Schedule Appointment — ガイド付き予約ワークフロー
Patient History — 患者の受診履歴を確認
Triage Symptoms — 症状に基づいた専門医の照合
MCPインスペクター
MCP Inspector は、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. エリシテーションを試す
エリシテーションは 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を呼び出すことで、2つのレイヤーを明確に分離しています。
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 | 名前、メールアドレス、電話番号、生年月日 |
Patient | 患者と医師を特定の日時で結びつけ、理由とステータスを持つ |
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