Skip to main content
Glama

Healthcare Revenue Cycle Management (RCM) Multi-Agent MCP Server

Ein KI-nativer Multi-Agenten-MCP-Server für das Revenue Cycle Management (RCM), der Berechtigungsprüfung, Vorabgenehmigung und einen gemeinsamen Reasoning-Trace implementiert, unterstützt durch Supabase und pgvector.


Architekturübersicht

                          ┌────────────────────────────┐
                          │    RCM Multi-Agent System  │
                          │   (Eligibility / PriorAuth)│
                          └─────────────┬──────────────┘
                                        │ (SSE / HTTP / stdio)
                          ┌─────────────▼──────────────┐
                          │   FastMCP Server (Port 8000)│
                          │  trace.* | eligibility.*   │
                          │        priorauth.*         │
                          └─────────────┬──────────────┘
                                        │
                 ┌──────────────────────┴──────────────────────┐
                 ▼                                             ▼
     ┌────────────────────────┐                   ┌────────────────────────┐
     │  Supabase Relational   │                   │  pgvector / Semantic   │
     │  (Payers, Coverage,    │                   │  (Historical Clinical  │
     │   Rules, Traces)       │                   │   Precedents & Cases)  │
     └────────────────────────┘                   └────────────────────────┘

Related MCP server: mymedi-ai-mcp-server

1. Supabase-Datenbankeinrichtung

Schritt 1.1: Ein Supabase-Projekt erstellen

  1. Melden Sie sich bei Supabase an und erstellen Sie ein neues Projekt.

  2. Notieren Sie unter Projekteinstellungen -> Datenbank Ihre Projekt-URL und API-Schlüssel (anon oder service_role).

Schritt 1.2: pgvector aktivieren und Schema anwenden

  1. Öffnen Sie den SQL-Editor in Ihrem Supabase-Dashboard.

  2. Kopieren Sie den Inhalt von supabase/schema.sql und führen Sie ihn aus:

    • Aktiviert die vector-Erweiterung (CREATE EXTENSION IF NOT EXISTS vector;).

    • Erstellt Tabellen: payers, appointments, patient_coverage, benefit_accumulators, payer_pa_rules, pa_requests, agent_trace (nur Anhängen), und escalations.

    • Erstellt die match_pa_cases-Funktion für die Kosinus-Ähnlichkeitssuche.

Schritt 1.3: Seed-Daten laden

Sie können synthetische Daten in Supabase mit einer der folgenden Optionen laden:

Option A (Python-Seeder-Skript): Sobald Sie Ihre .env mit SUPABASE_URL und SUPABASE_KEY konfiguriert haben:

python seed_data.py

Option B (SQL-Editor): Kopieren Sie im SQL-Editor den Inhalt von supabase/seed.sql und führen Sie ihn aus.

Dies lädt folgende Daten:

  • 5 Kostenträger: Aetna Commercial, Blue Cross Blue Shield, UnitedHealthcare, Medicare Part B, Cigna.

  • 5 Termine: Geplante Besuche mit Ziel-Leistungsdaten (DOS).

  • Versicherungsdatensätze: Aktive vs. beendete Policen für Edge-Case-Tests.

  • Leistungsakkumulatoren: Selbstbehalte, Zuzahlungen, Kostenbeteiligung für bestimmte CPT-Codes.

  • PA-Regeln & Präzedenzfälle: Richtlinien für Vorabgenehmigungen und historische Fälle mit Einbettungen.


2. Umgebungskonfiguration

Kopieren Sie .env.example in .env:

cp .env.example .env

Aktualisieren Sie Ihre .env-Datei mit Ihren Anmeldeinformationen:

# Supabase Configuration
SUPABASE_URL=https://<your-project-ref>.supabase.co
SUPABASE_KEY=<your-supabase-service-role-or-anon-key>

# Server Configuration
MCP_SERVER_HOST=0.0.0.0
MCP_SERVER_PORT=8000

# Optional Embedding Key
OPENAI_API_KEY=

3. Installation

Installieren Sie die Projektabhängigkeiten:

pip install -r requirements.txt

4. MCP-Tools-Referenz

A. Gemeinsame Trace-Tools (trace.*)

Wird von allen Agenten verwendet, um ein nur-anhängbares, prüfbares Entscheidungsprotokoll zu führen.

Tool Name

Description

Key Inputs

Output

trace_write_decision

Fügt einen Entscheidungsdatensatz zum Trace-Protokoll hinzu

entity_id, agent_name, decision_type, decision_payload, confidence, evidence_refs

status, trace_id

trace_query

Ruft den chronologischen Entscheidungsverlauf für einen Fall ab

entity_id

count, list of trace entries

trace_escalate_to_human

Stellt einen Fall zur Überprüfung durch einen menschlichen Vorgesetzten in die Warteschlange

entity_id, agent_name, reason, context

escalation_id, status

B. Berechtigungstools (eligibility.*)

Überprüft die Patientenabdeckung am tatsächlichen Leistungsdatum (DOS) des Termins und schätzt die Patientenkosten.

Tool Name

Description

Key Inputs

Output

eligibility_check_coverage

Überprüft das aktive Versicherungsfenster gegen das Ziel-Leistungsdatum

patient_id, payer_id, service_type, service_date

coverage_status, is_valid_on_service_date, deductible_met_pct

eligibility_get_benefit_details

Ruft Akkumulatorsalden ab

patient_id, payer_id, cpt_code

copay, coinsurance_pct, deductible_remaining, estimated_patient_responsibility

eligibility_flag_coverage_gap

Protokolliert eine erkannte Abdeckungslücke im Trace

patient_id, gap_reason, confidence

status, trace_id

C. Vorabgenehmigungstools (priorauth.*)

Automatisiert die Suche nach Verfahrensregeln, Präzedenzfällen und die Einreichung klinischer Begründungen.

Tool Name

Description

Key Inputs

Output

priorauth_check_requirement

Prüft, ob der Verfahrenscode eine Vorabgenehmigung erfordert

payer_id, cpt_code

requires_pa, rule_text

priorauth_submit_request

Übermittelt klinische Begründung und erhält Status

patient_id, payer_id, cpt_code, clinical_summary

id, status (approved/denied/pending), payer_notes

priorauth_check_status

Fragt den Status der eingereichten Genehmigung ab

pa_request_id

id, status, payer_notes

priorauth_search_similar_cases

Semantische Vektorsuche über historische PA-Fälle

cpt_code, clinical_summary, top_k

match_count, ranked precedents with similarity scores


5. Ausführen des MCP-Servers

Option A: SSE-Transport (Standard)

Startet den FastMCP-Server über Server-Sent Events (SSE):

python run_server.py
  • Der SSE-Endpunkt ist verfügbar unter: http://localhost:8000/sse

Option B: Benutzerdefinierter Host/Port oder Stdio

Sie können die Transportparameter direkt anpassen:

# Run over stdio (e.g. for Claude Desktop / CLI clients)
python src/mcp_server/server.py --transport stdio

# Run over SSE on custom port
python src/mcp_server/server.py --transport sse --port 8080

6. Testen und Verifizieren

Führen Sie die Testsuite mit pytest aus:

pytest tests/

Erwartete Ausgabe:

tests\test_mcp_tools.py ..........                                       [100%]
============================= 10 passed in 0.07s ==============================

7. Verbinden mit Agent-Clients

Claude-Desktop-Konfiguration

Fügen Sie Folgendes zu Ihrer claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "rcm-server": {
      "command": "python",
      "args": ["<path-to-repo>/src/mcp_server/server.py", "--transport", "stdio"]
    }
  }
}

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/mr-rsr/rcm-mcp'

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