Skip to main content
Glama
sudhakaren

FastMCP Patient Information Server

by sudhakaren

FastMCP Patienteninformationsserver

Ein FastMCP-Server, der Funktionen zum Abrufen von Patienteninformationen über das get_patient-Tool bereitstellt.

Funktionen

  • get_patient-Tool: Ruft umfassende Patienteninformationen ab, einschließlich:

    • Persönliche Daten (Name, Geburtsdatum, Kontaktinformationen)

    • Versicherungspläne (Kranken-, Zahn-, Augenversicherung)

    • Mitarbeiterinformationen

Voraussetzungen

  • Docker und Docker Compose auf Ihrem Ubuntu-Server installiert

  • Netzwerkzugriff auf den Server von Watson Orchestrate aus

Installation & Bereitstellung

1. Dateien auf den Ubuntu-Server übertragen

Kopieren Sie das gesamte fastmcp-server-Verzeichnis auf Ihren Ubuntu-Server:

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

2. Mit Docker Compose erstellen und ausführen

Verbinden Sie sich per SSH mit Ihrem Ubuntu-Server und navigieren Sie zu dem Verzeichnis:

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

Erstellen und starten Sie den Container:

docker-compose up -d --build

3. Überprüfen, ob der Server läuft

Überprüfen Sie den Container-Status:

docker-compose ps

Logs anzeigen:

docker-compose logs -f

4. Den Server lokal testen

curl http://localhost:8002/health

Verbindung zu Watson Orchestrate herstellen

Schritt 1: Server-URL abrufen

Ihr MCP-Server ist erreichbar unter:

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

Oder falls Sie eine Domain haben:

https://your-domain.com:8002

Wichtig: Verwenden Sie für die Produktion HTTPS mit gültigen SSL-Zertifikaten.

Schritt 2: Seite für Watson Orchestrate-Tools aufrufen

  1. Melden Sie sich bei Ihrer Watson Orchestrate-Instanz an

  2. Navigieren Sie zum Bereich Skills oder Tools

  3. Klicken Sie auf Add Tool oder Connect Tool

Schritt 3: MCP-Verbindung konfigurieren

  1. Verbindungstyp: Wählen Sie "MCP Server" oder "Custom API"

  2. Server-URL: Geben Sie Ihren Server-Endpunkt ein

    http://your-ubuntu-server-ip:8002
  3. Authentifizierung (falls erforderlich):

    • Typ: Keine (für die grundlegende Einrichtung)

    • Implementieren Sie für die Produktion OAuth2 oder API-Key-Authentifizierung

  4. Verbindungsname: Patient Information MCP Server

  5. Beschreibung: Provides patient information retrieval capabilities

Schritt 4: Tools entdecken

  1. Klicken Sie auf Discover Tools oder Test Connection

  2. Watson Orchestrate fragt den MCP-Server nach verfügbaren Tools ab

  3. Sie sollten sehen, dass das get_patient-Tool erscheint

Schritt 5: Das get_patient-Tool konfigurieren

Das Tool wird automatisch konfiguriert mit:

  • Tool-Name: get_patient

  • Beschreibung: Patienteninformationen nach Kontakt-ID abrufen

  • Parameter:

    • contact_id (optionaler String): Die eindeutige Kontaktkennung

Schritt 6: Das Tool testen

  1. Wählen Sie in Watson Orchestrate das get_patient-Tool aus

  2. Testen Sie mit der Beispiel-Kontakt-ID: 7c50f84d-62af-f011-bbd3-000d3a9b6dcb

  3. Oder testen Sie ohne Parameter, um Standard-Patientendaten zu erhalten

  4. Überprüfen Sie, ob die Antwort dem erwarteten Format entspricht

Schritt 7: Skills mit dem Tool erstellen

  1. Navigieren Sie zum Skills Builder in Watson Orchestrate

  2. Erstellen Sie einen neuen Skill, der das get_patient-Tool verwendet

  3. Konfigurieren Sie den Skill-Ablauf und die Parameter

  4. Testen und veröffentlichen Sie den Skill

Beispiel für Watson Orchestrate-Verbindungs-YAML

Falls Watson Orchestrate YAML-Konfiguration unterstützt, erstellen Sie eine Verbindungsdatei:

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

Sicherheitsüberlegungen für die Produktion

1. HTTPS aktivieren

Verwenden Sie einen Reverse Proxy (nginx) mit SSL:

# 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. Authentifizierung hinzufügen

Aktualisieren Sie server.py, um eine API-Key-Authentifizierung einzubinden:

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. Netzwerksicherheit

  • Verwenden Sie Firewall-Regeln, um den Zugriff einzuschränken

  • Erwägen Sie eine VPN- oder private Netzwerkverbindung

  • Implementieren Sie Ratenbegrenzung (Rate Limiting)

4. docker-compose.yml für die Produktion aktualisieren

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

Fehlerbehebung

Server startet nicht

# Check logs
docker-compose logs

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

Verbindung von Watson Orchestrate abgelehnt

  1. Überprüfen Sie, ob die Firewall Port 8002 zulässt

  2. Stellen Sie sicher, dass der Server auf 0.0.0.0 lauscht, nicht auf 127.0.0.1

  3. Testen Sie mit curl von einem anderen Rechner aus

Tool erscheint nicht in Watson Orchestrate

  1. Überprüfen Sie, ob der MCP-Server auf Tool-Discovery-Anfragen antwortet

  2. Überprüfen Sie die Watson Orchestrate-Logs auf Verbindungsfehler

  3. Stellen Sie sicher, dass die Server-URL korrekt und erreichbar ist

Verwaltungsbefehle

# 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

Den Server erweitern

Um weitere Tools hinzuzufügen, bearbeiten Sie 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

Anschließend neu erstellen und neu starten:

docker-compose up -d --build

Support

Bei Problemen oder Fragen:

  • Überprüfen Sie die Logs: docker-compose logs

  • Lesen Sie die FastMCP-Dokumentation: https://github.com/jlowin/fastmcp

  • Lesen Sie die Dokumentation zur Watson Orchestrate MCP-Integration

Lizenz

[Ihre Lizenz hier]

-
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