Skip to main content
Glama

Servidor MCP Multi-Agente de Gestión del Ciclo de Ingresos (RCM) en Salud

Un servidor MCP de gestión del ciclo de ingresos (RCM) multi-agente nativo de IA que implementa Verificación de Elegibilidad, Autorización Previa y una Traza de Razonamiento Compartido respaldado por Supabase y pgvector.


Resumen de la Arquitectura

                          ┌────────────────────────────┐
                          │    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. Configuración de la Base de Datos Supabase

Paso 1.1: Crear un Proyecto Supabase

  1. Inicia sesión en Supabase y crea un nuevo proyecto.

  2. En Configuración del Proyecto -> Base de Datos, anota tu URL del Proyecto y tus Claves API (anon o service_role).

Paso 1.2: Habilitar pgvector y Aplicar el Esquema

  1. Abre el Editor SQL en tu Panel de Supabase.

  2. Copia y pega el contenido de supabase/schema.sql y ejecútalo:

    • Habilita la extensión vector (CREATE EXTENSION IF NOT EXISTS vector;).

    • Crea las tablas: payers, appointments, patient_coverage, benefit_accumulators, payer_pa_rules, pa_requests, agent_trace (solo añadir) y escalations.

    • Crea la función de búsqueda vectorial por similitud coseno match_pa_cases.

Paso 1.3: Cargar Datos Semilla

Puedes cargar datos sintéticos en Supabase usando cualquiera de las siguientes opciones:

Opción A (Script de Carga en Python): Una vez que configures .env con tu SUPABASE_URL y SUPABASE_KEY:

python seed_data.py

Opción B (Editor SQL): En el Editor SQL, copia y pega el contenido de supabase/seed.sql y ejecútalo.

Esto carga:

  • 5 Pagadores: Aetna Commercial, Blue Cross Blue Shield, UnitedHealthcare, Medicare Part B, Cigna.

  • 5 Citas: Visitas programadas con Fechas de Servicio (DOS) objetivo.

  • Registros de Cobertura: Pólizas activas vs. terminadas para pruebas de casos límite.

  • Acumuladores de Beneficios: Deducibles, copagos, coseguros para códigos CPT específicos.

  • Reglas y Precedentes de PA: Guías de autorización previa y casos históricos con embeddings.


2. Configuración del Entorno

Copia .env.example a .env:

cp .env.example .env

Actualiza tu archivo .env con tus credenciales:

# 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. Instalación

Instala las dependencias del proyecto:

pip install -r requirements.txt

4. Referencia de Herramientas MCP

A. Herramientas de Traza Compartida (trace.*)

Se utilizan en todos los agentes para mantener un registro de decisiones auditable y de solo añadir.

Nombre de la Herramienta

Descripción

Entradas Clave

Salida

trace_write_decision

Añade un registro de decisión al registro de traza

entity_id, agent_name, decision_type, decision_payload, confidence, evidence_refs

status, trace_id

trace_query

Obtiene el historial cronológico de decisiones para un encuentro

entity_id

count, lista de entradas de traza

trace_escalate_to_human

Pone en cola un caso para revisión de un supervisor humano

entity_id, agent_name, reason, context

escalation_id, status

B. Herramientas de Elegibilidad (eligibility.*)

Verifica la cobertura del paciente en la Fecha de Servicio (DOS) real de la cita y estima el costo para el paciente.

Nombre de la Herramienta

Descripción

Entradas Clave

Salida

eligibility_check_coverage

Valida la ventana de póliza activa contra la fecha de servicio objetivo

patient_id, payer_id, service_type, service_date

coverage_status, is_valid_on_service_date, deductible_met_pct

eligibility_get_benefit_details

Recupera los saldos de los acumuladores

patient_id, payer_id, cpt_code

copay, coinsurance_pct, deductible_remaining, estimated_patient_responsibility

eligibility_flag_coverage_gap

Registra una brecha de cobertura detectada en la traza

patient_id, gap_reason, confidence

status, trace_id

C. Herramientas de Autorización Previa (priorauth.*)

Automatiza la búsqueda de reglas de procedimiento, la búsqueda de precedentes y el envío de justificación clínica.

Nombre de la Herramienta

Descripción

Entradas Clave

Salida

priorauth_check_requirement

Comprueba si el código de procedimiento requiere autorización previa

payer_id, cpt_code

requires_pa, rule_text

priorauth_submit_request

Envía la justificación clínica y recibe el estado

patient_id, payer_id, cpt_code, clinical_summary

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

priorauth_check_status

Consulta el estado de la autorización enviada

pa_request_id

id, status, payer_notes

priorauth_search_similar_cases

Búsqueda vectorial semántica sobre casos históricos de PA

cpt_code, clinical_summary, top_k

match_count, precedents clasificados con puntuaciones de similitud


5. Ejecución del Servidor MCP

Opción A: Transporte SSE (Predeterminado)

Inicia el servidor FastMCP sobre Server-Sent Events (SSE):

python run_server.py
  • El endpoint SSE estará disponible en: http://localhost:8000/sse

Opción B: Host/Puerto Personalizado o Stdio

Puedes personalizar los parámetros de transporte directamente:

# 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. Pruebas y Verificación

Ejecuta la suite de pruebas con pytest:

pytest tests/

Salida esperada:

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

7. Conexión a Clientes de Agentes

Configuración de Claude Desktop

Añade lo siguiente a tu claude_desktop_config.json:

{
  "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