mcp-ratchet-clinical-charting について
mcp-ratchet-clinical-chartingは、Claudeを通じて在宅看護師が患者の診療記録をEMRに記載するためのMCPサーバーです。現在は架空の患者データを使うモックモードで動作し、本番EMR連携は未対応です。
主な機能
- 01氏名・ID・電話番号で患者検索
- 02バイタルを含む訪問記録の作成
- 03患者の訪問履歴の取得
- 04メモリー上のモック記録の利用
活用シーン
- 01記録作業中の患者検索
- 02バイタルを含む訪問記録の作成
- 03患者の過去の訪問履歴の確認
MCP 対応
患者検索、訪問記録の作成、患者履歴の取得を行うツールをClaudeなどのMCPクライアントに公開します。現在のモックモードでは架空の患者データを使い、記録をメモリーに保存します。PointCareの本番連携は未対応です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y mcp-ratchet-clinical-chartingPOINTCARE_API_URLEMR API base URL (optional - runs in mock mode if not set)POINTCARE_API_KEYシークレットEMR API key (required for production mode)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | number | いいえ | 返す結果の最大数(デフォルト:10、最大:50) |
| query | string | はい | 検索語:患者の氏名、ID(例:PT-10001)、または電話番号 |
| status | enum | いいえ | 患者のステータスで絞り込みます。指定しない場合、すべてのステータスが返されます。active | inactive | discharged | pending |
| searchType | enum | いいえ | 実行する検索の種類です。デフォルトは "all" で、すべてのフィールドを検索します。name | id | phone | all |
詳細
mcp-ratchet-clinical-charting
Claude を使用した臨床カルテ記録用 MCP サーバー(コードネーム:Ratchet) - Claude が電子カルテに患者の診察内容を直接記録できるようにし、訪問看護師の事務作業の負担を軽減します。
注記: 現在は開発・テスト用のモックモードで動作します。本番環境の電子カルテ連携は近日対応予定です。
ステータス
| コンポーネント | ステータス |
|---|---|
| MCP サーバー | ✅ 動作中(モックモード) |
| 単体テスト | ✅ 20/20 件合格 |
| Claude Desktop | ✅ テスト準備完了 |
| PointCare API | ⏳ API ドキュメント待ち |
現在のモード: モックモード — 開発とテスト用に現実的なテストデータを使用します。
クイックスタート
npm から(推奨)
npx mcp-ratchet-clinical-charting
ソースから
git clone https://github.com/m2ai-mcp-servers/mcp-ratchet-clinical-charting.git
cd mcp-ratchet-clinical-charting
npm install
npm run build
npm run dev # Development mode
npm test # Run tests
モックモード
POINTCARE_API_URL が設定されていない場合、Ratchet はデフォルトでモックモードで動作します。モックモードでは、次のようになります。
- 架空のテスト患者 5 名を使用します
- 診察記録をメモリー上に保存します
- 現実的な応答を返します
- 開発や Claude Desktop のテストに最適です
利用可能なツール
| ツール | 説明 | モックモード |
|---|---|---|
search_patient | 名前、ID、または電話番号で患者を検索します | ✅ 動作中 |
create_visit_note | バイタル情報を含む患者の診察記録を作成します | ✅ 動作中 |
get_patient_history | 患者の診察履歴を取得します | ✅ 動作中 |
使用例(Claude 内)
"Search for patient Eleanor Thompson"
→ Returns patient PT-10001 with demographics and status
"Create a visit note for PT-10001 with blood pressure 120/80"
→ Creates and stores visit note with vitals
"Get visit history for PT-10001"
→ Returns list of previous visits
Claude Desktop との連携
Claude Desktop の設定
Claude Desktop の設定ファイルに追加します。
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"ratchet": {
"command": "npx",
"args": ["-y", "mcp-ratchet-clinical-charting"]
}
}
}
電子カルテと連携する本番モードの場合:
{
"mcpServers": {
"ratchet": {
"command": "npx",
"args": ["-y", "mcp-ratchet-clinical-charting"],
"env": {
"POINTCARE_API_URL": "https://api.pointcare.com",
"POINTCARE_API_KEY": "your-api-key"
}
}
}
}
ステップ 3:Claude Desktop を再起動する
新しい MCP サーバーを読み込むため、Claude Desktop を再起動します。
ステップ 4:確認する
Claude Desktop に次のツールが表示されます。
search_patientツールが利用可能create_visit_noteツールが利用可能get_patient_historyツールが利用可能
「患者の Eleanor を検索して」と試してみてください。
テスト患者(モックモード)
| ID | 名前 | ステータス | 主な診断 |
|---|---|---|---|
| PT-10001 | Eleanor Thompson | アクティブ | 2 型糖尿病、うっ血性心不全 |
| PT-10002 | Robert Martinez | アクティブ | COPD、術後 |
| PT-10003 | Margaret Wilson | アクティブ | パーキンソン病 |
| PT-10004 | James Thompson | アクティブ | 脳卒中後のリハビリ |
| PT-10005 | Dorothy Anderson | 退院済み | 股関節置換術 |
開発の経緯
Ratchet は、訪問看護師の診察記録作成を支援するために構築された M2AI NurseCall の n8n ワークフローから発展しました。
Current Flow (M2AI NurseCall):
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Twilio │───>│ n8n │───>│ VAPI │───>│ Email │
│ SMS │ │ Workflow│ │ Call │ │ Summary │
└─────────┘ └─────────┘ └─────────┘ └─────────┘
課題: 診察記録はメールで届きますが、PointCare の電子カルテには手動で入力する必要があります。
Ratchet の解決策:
Future Flow (with Ratchet):
┌─────────┐ ┌─────────┐ ┌──────────┐ ┌───────────┐
│ Twilio │───>│ n8n │───>│ Ratchet │───>│ PointCare │
│ SMS │ │ Workflow│ │ MCP │ │ EMR │
└─────────┘ └─────────┘ └──────────┘ └───────────┘
設定
| 変数 | 必須 | 説明 |
|---|---|---|
POINTCARE_API_URL | いいえ* | PointCare API のベース URL |
POINTCARE_API_KEY | いいえ* | API キーまたはトークン |
RATCHET_MOCK_MODE | いいえ | モックモードを強制します(true/false) |
LOG_LEVEL | いいえ | ログレベル(debug/info/warn/error) |
*本番環境での使用には必須です。未設定の場合はモックモードが有効になります。
プロジェクト構成
ratchet/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── config.ts # Configuration management
│ ├── tools/ # Tool implementations
│ │ ├── search-patient.ts
│ │ ├── create-visit-note.ts
│ │ └── get-patient-history.ts
│ ├── services/ # Business logic
│ │ ├── patient-service.ts
│ │ └── mock-data.ts
│ ├── types/ # TypeScript types
│ └── utils/ # Logger, errors
├── tests/
│ └── patient-service.test.ts
├── dist/ # Compiled output
├── prds/
│ └── RATCHET-PRD.yaml
├── docs/
│ └── API_REQUIREMENTS.md
├── package.json
├── tsconfig.json
└── jest.config.js
開発
# Run in watch mode
npm run dev
# Run tests
npm test
# Run tests with coverage
npm test -- --coverage
# Lint
npm run lint
次のステップ
- PointCare API のドキュメントを入手する -
docs/API_REQUIREMENTS.mdを参照してください - PRD を完成させる - 実際の API の詳細を使用してツールの仕様を記入します
- 実際の API 呼び出しを実装する - モック応答を置き換えます
- 統合テストを実施する - PointCare のサンドボックスでテストします
関連プロジェクト
- GRIMLOCK - 自律型 MCP サーバーファクトリー
- ratchet-demo-emr - テスト用デモ電子カルテ React アプリ
ライセンス
MIT
GRIMLOCK で構築 - 自律型 MCP サーバーファクトリー
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。