🏥 MCP Server for AWS HealthLake (Mocked) について
臨床モデル向けに、AWS HealthLake と FHIR のモックデータを提供するオープンソースの MCP サーバーです。構造化コンテキストの作成やモデル登録、モック呼び出しに対応します。
主な機能
- 01AWS HealthLake FHIR API のモック
- 02FHIR と NLP のコンテキストバンドル
- 03モデル登録と個別コンテキスト
- 04モデル呼び出しエンドポイントのモック
- 05監査ログ
活用シーン
- 01モック患者データで臨床モデルのワークフローをテスト
- 02モデルを登録して個別の患者コンテキストを取得
- 03モデル呼び出しと監査フローの検証
MCP 対応
モックの AWS HealthLake データを使い、患者コンテキストバンドルとモデル関連のエンドポイントを提供します。AWS 連携はまだ実装されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🏥 AWS HealthLake 用 MCP サーバー(モック)
このプロジェクトは、(モックの)AWS HealthLake データソースに接続し、臨床モデル向けに構造化・標準化されたコンテキストバンドルを提供するオープンソースの Model Context Protocol(MCP)サーバーです。
✅ 機能
- AWS HealthLake API のモック(FHIR ベース)
- MCP 仕様に準拠したコンテキストバンドル(FHIR + NLP)
- モデルの登録と、モデルに合わせたコンテキストの提供
- モデル呼び出しエンドポイントのモック
- 監査ログ
- 将来の AWS 連携に備えたオプションの
USE_AWSフラグ
🚀 クイックスタート
1. クローンまたはダウンロード
unzip mcp-server.zip
cd ahl-mcp-server
2. Python の依存関係をインストール
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
3. ローカルで実行(モックモード)
uvicorn app.main:app --reload
アクセス先:http://localhost:8000/docs
🔁 エンドポイント
📦 MCP エンドポイント
| エンドポイント | メソッド | 説明 |
|---|---|---|
/context/{patient_id} | GET | コンテキストバンドルを取得 |
/models/register | POST | モデル情報を登録 |
/models/{model_id}/context/{patient_id} | GET | モデルに合わせたコンテキスト |
/model/invoke/{model_id}?patient_id=... | POST | モデル予測のモック |
🧪 HealthLake モックエンドポイント
| エンドポイント | メソッド | 説明 |
|---|---|---|
/ahl/Patient | POST | 患者を作成 |
/ahl/Patient/{id} | GET | 患者を取得 |
/ahl/Condition?patient=... | GET | 病状を取得 |
/ahl/MedicationRequest?patient=... | GET | 薬剤を取得 |
/ahl/Observation?patient=... | GET | 検査結果を取得 |
/ahl/mock/add_* | POST | モックデータを追加(病状/薬剤/観察結果) |
⚙️ モックモードと AWS モードの切り替え
デフォルトでは、アプリはモックモードで実行されます。
将来の AWS 連携に備えるには、次のようにします。
export USE_AWS=true
注:AWS モードはまだ実装されていませんが、連携できる状態です。
🧪 テストの実行
pytest tests/
📂 フォルダー構成
app/
├── api/ # API endpoints
├── core/ # Config and logging
├── fhir/ # Placeholder for FHIR connector
├── models/ # Pydantic models
├── nlp/ # NLP mock enhancer
├── services/ # Context resolver, policy logic
├── main.py # FastAPI entry
infra/
tests/ # Test cases
schemas/ # MCP JSON schema
.env
requirements.txt
📜 ライセンス
MIT ライセンス
🧠 今後の予定
- AWS HealthLake との連携(
boto3) - Amazon Comprehend Medical/Bedrock モデル
- Dockerfile + ECS デプロイ
- リアルタイムのコホート検索
- SMART-on-FHIR 認証
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。