Skip to main content
Glama
sudhakaren

FastMCP Patient Information Server

by sudhakaren

FastMCP 患者情報サーバー

get_patientツールを通じて患者情報の取得機能を提供するFastMCPサーバーです。

機能

  • get_patientツール: 以下を含む包括的な患者情報を取得します:

    • 個人情報(氏名、生年月日、連絡先情報)

    • 保険プラン(医療、歯科、眼科)

    • 従業員情報

前提条件

  • UbuntuサーバーにDockerおよびDocker Composeがインストールされていること

  • Watson Orchestrateからサーバーへのネットワークアクセスが可能であること

インストールとデプロイ

1. Ubuntuサーバーへのファイル転送

fastmcp-serverディレクトリ全体をUbuntuサーバーにコピーします:

scp -r fastmcp-server/ user@your-ubuntu-server:/path/to/deployment/

2. Docker Composeによるビルドと実行

UbuntuサーバーにSSH接続し、ディレクトリに移動します:

ssh user@your-ubuntu-server
cd /path/to/deployment/fastmcp-server

コンテナをビルドして起動します:

docker-compose up -d --build

3. サーバーの稼働確認

コンテナの状態を確認します:

docker-compose ps

ログを表示します:

docker-compose logs -f

4. ローカルでのサーバーテスト

curl http://localhost:8002/health

Watson Orchestrateへの接続

ステップ 1: サーバーURLの取得

MCPサーバーには以下からアクセス可能です:

http://your-ubuntu-server-ip:8002

またはドメインをお持ちの場合:

https://your-domain.com:8002

重要: 本番環境では、適切なSSL証明書を使用してHTTPSを使用してください。

ステップ 2: Watson Orchestrateのツールページへのアクセス

  1. Watson Orchestrateインスタンスにログインします

  2. スキルまたはツールセクションに移動します

  3. ツールの追加またはツールの接続をクリックします

ステップ 3: MCP接続の設定

  1. 接続タイプ: 「MCP Server」または「Custom API」を選択します

  2. サーバーURL: サーバーのエンドポイントを入力します

    http://your-ubuntu-server-ip:8002
  3. 認証(必要な場合):

    • タイプ: なし(基本設定の場合)

    • 本番環境では、OAuth2またはAPIキー認証を実装してください

  4. 接続名: Patient Information MCP Server

  5. 説明: Provides patient information retrieval capabilities

ステップ 4: ツールの検出

  1. ツールの検出または接続のテストをクリックします

  2. Watson OrchestrateがMCPサーバーに対して利用可能なツールを照会します

  3. get_patientツールが表示されるはずです

ステップ 5: get_patientツールの設定

ツールは自動的に以下のように設定されます:

  • ツール名: get_patient

  • 説明: 連絡先IDで患者情報を取得します

  • パラメータ:

    • contact_id (オプションの文字列): 一意の連絡先識別子

ステップ 6: ツールのテスト

  1. Watson Orchestrateでget_patientツールを選択します

  2. サンプルの連絡先ID 7c50f84d-62af-f011-bbd3-000d3a9b6dcb でテストします

  3. または、パラメータなしでテストしてデフォルトの患者データを取得します

  4. レスポンスが期待される形式と一致することを確認します

ステップ 7: ツールを使用したスキルの作成

  1. Watson Orchestrateのスキルビルダーに移動します

  2. get_patientツールを使用する新しいスキルを作成します

  3. スキルのフローとパラメータを設定します

  4. スキルをテストして公開します

Watson Orchestrate接続YAMLの例

Watson OrchestrateがYAML設定をサポートしている場合は、接続ファイルを作成します:

apiVersion: v1
kind: Connection
metadata:
  name: patient-mcp-server
spec:
  type: mcp
  endpoint: http://your-ubuntu-server-ip:8002
  authentication:
    type: none
  tools:
    - name: get_patient
      enabled: true

本番環境におけるセキュリティ上の考慮事項

1. HTTPSの有効化

SSLを使用したリバースプロキシ(nginx)を使用します:

# Install nginx
sudo apt-get update
sudo apt-get install nginx certbot python3-certbot-nginx

# Configure SSL
sudo certbot --nginx -d your-domain.com

2. 認証の追加

server.pyを更新してAPIキー認証を含めます:

from fastapi import Header, HTTPException

@mcp.tool()
def get_patient(contact_id: str = None, api_key: str = Header(None)) -> Dict[str, Any]:
    if api_key != "your-secret-api-key":
        raise HTTPException(status_code=401, detail="Invalid API key")
    # ... rest of the function

3. ネットワークセキュリティ

  • ファイアウォールルールを使用してアクセスを制限します

  • VPNまたはプライベートネットワーク接続を検討してください

  • レート制限を実装します

4. 本番環境用のdocker-compose.ymlの更新

version: '3.8'

services:
  fastmcp-server:
    build: .
    container_name: patient-mcp-server
    ports:
      - "127.0.0.1:8002:8002"  # Only bind to localhost
    environment:
      - PYTHONUNBUFFERED=1
      - API_KEY=${API_KEY}  # Use environment variable
    restart: unless-stopped
    networks:
      - mcp-network

networks:
  mcp-network:
    driver: bridge

トラブルシューティング

サーバーが起動しない

# Check logs
docker-compose logs

# Rebuild container
docker-compose down
docker-compose up -d --build

Watson Orchestrateからの接続拒否

  1. ファイアウォールがポート8002を許可していることを確認します

  2. サーバーが127.0.0.1ではなく0.0.0.0でリッスンしていることを確認します

  3. 別のマシンからcurlでテストします

Watson Orchestrateにツールが表示されない

  1. MCPサーバーがツール検出リクエストに応答していることを確認します

  2. Watson Orchestrateのログで接続エラーを確認します

  3. サーバーURLが正しく、アクセス可能であることを確認します

管理コマンド

# Start the server
docker-compose up -d

# Stop the server
docker-compose down

# View logs
docker-compose logs -f

# Restart the server
docker-compose restart

# Update the server
git pull  # or copy new files
docker-compose up -d --build

サーバーの拡張

ツールを追加するには、server.pyを編集します:

@mcp.tool()
def get_patient_appointments(patient_id: str) -> Dict[str, Any]:
    """Get patient appointments"""
    # Implementation here
    pass

@mcp.tool()
def get_patient_claims(patient_id: str) -> Dict[str, Any]:
    """Get patient insurance claims"""
    # Implementation here
    pass

その後、再ビルドして再起動します:

docker-compose up -d --build

サポート

問題や質問がある場合:

  • ログを確認します: docker-compose logs

  • FastMCPのドキュメントを確認します: https://github.com/jlowin/fastmcp

  • Watson OrchestrateのMCP統合ドキュメントを確認します

ライセンス

[ここにライセンスを記載]

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/sudhakaren/healthnav'

If you have feedback or need assistance with the MCP directory API, please join our Discord server