Patient Search & Create Tasks MCP Server について
Flight Health Atlasで患者を検索し、タスクを作成するMCPサーバーです。V2サーバーはPuppeteerを使ったウェブ自動化とログイン処理に対応しています。
主な機能
- 01名前による患者検索
- 02患者情報の詳細取得
- 03種類と名前を指定したタスク作成
- 04V2でのPuppeteerによるウェブ自動化
活用シーン
- 01Flight Health Atlasで患者を検索
- 02検索結果の詳細情報を取得
- 03説明付きタスクの作成
- 04V2サーバーで患者検索を自動化
MCP 対応
患者検索とタスク作成をツールとしてMCPクライアントに提供し、接続テスト用ツールも備えています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
患者の検索とタスクの作成を行う MCP サーバー
このプロジェクトは、Flight Health Atlas システムで患者を検索し、新しいタスクを作成するための Model Context Protocol(MCP)サーバーを提供します。
機能
- V2 サーバー(
server-v2.ts):Puppeteer を使用した高度なウェブ自動化と、より信頼性の高いログイン処理を実現します
前提条件
- Node.js 18 以降
- npm または yarn パッケージマネージャー
インストール
- リポジトリをクローンします:
git clone <repository-url>
cd patient-search-mcp
- 依存関係をインストールします:
npm install
-
認証情報を更新します
auth.tsを開き、LOGIN_CREDENTIALSのメールアドレスとパスワードを自分の認証情報に置き換えます。 デモ目的で、これらはハードコードされています。Cursor AI はデフォルトでは.envファイルにアクセスできないためです(.cursorignoreファイルを作成して!.envを追加すれば回避できます)。 -
サーバーをビルドします:
npm build:v2 # only build the V2 server
npm run start # Build and start V2 server
設定
Cursor MCP の場合
Cursor の設定から開ける mcp.json ファイルに、次の内容を追加します。
V2 サーバー(推奨):
{
"mcpServers": {
"patient-search-v2": {
"command": "node",
"args": ["/path/to/mcp-search-and-create-task/dist/server-v2.js"]
}
}
}
使用方法
利用可能なツール
両方のサーバーで、次のツールを利用できます。
hello_world
- 説明:MCP 接続をテストします
- パラメーター:
name(任意):挨拶する相手の名前
search_patient_v2(V2 サーバー)
- 説明:Puppeteer によるウェブ自動化を使用して患者を検索します
- パラメーター:
patient_name(必須):検索する患者の名前detailed(任意):詳細情報を返すかどうか
create_new_task(V2 サーバー)
- 説明:新しいタスクを作成します
- パラメーター:
task_type(必須):作成するタスクの種類task_name(必須):作成するタスクの名前description(任意):タスクに追加する説明
使用例
// Test connection
await callTool("hello_world", { name: "Aakarsh" });
// Search for a patient (V2 server)
await callTool("search_patient_v2", {
patient_name: "John Smith",
detailed: true
});
開発
開発モードでの実行
npm run dev
### Starting the Server
```bash
# Latest server
npm start
### Testing
You can test the servers directly using JSON-RPC messages:
```bash
# Test V2 server initialization
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}}' | node dist/server-v2.js
タスク作成をテストするためのサンプルテストファイル test-task-creation も作成しました。サーバーをビルドした後、コマンド node dist/test-task-creation.js でテストを実行できます。
トラブルシューティング
よくある問題
-
ブラウザーの起動に失敗する(V2 サーバー):
- システムリソースが十分にあることを確認します
--no-sandboxフラグを付けて実行してみます(すでに含まれています)
-
ログインに失敗する:
- 認証情報が正しいことを確認します
- Atlas のステージングサイトにアクセスできることを確認します
- ネットワーク接続を確認します
-
患者検索で結果が返されない:
- 患者名のスペルを確認します
- 正しい環境にログインしていることを確認します
- 名前の一部で検索してみます
デバッグモード
両方のサーバーは、デバッグ情報を stderr に出力します。詳細なエラーメッセージを確認するには、コンソール出力を監視してください。
また、/dist フォルダーを空にする必要がある場合は、npm run clean を実行できます。
依存関係
@modelcontextprotocol/sdk:MCP TypeScript SDKpuppeteer:ウェブ自動化(V2 サーバー)dotenv:環境変数の管理
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。