Skip to main content
Glama

Мультиагентный MCP-сервер для управления циклом доходов в здравоохранении (RCM)

AI-нативный мультиагентный MCP-сервер для управления циклом доходов (RCM), реализующий проверку права на обслуживание, предварительное разрешение и общий журнал рассуждений на базе Supabase и pgvector.


Обзор архитектуры

                          ┌────────────────────────────┐
                          │    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

Шаг 1.1: Создание проекта Supabase

  1. Войдите в Supabase и создайте новый проект.

  2. В разделе Настройки проекта -> База данных обратите внимание на URL проекта и API-ключи (anon или service_role).

Шаг 1.2: Включение pgvector и применение схемы

  1. Откройте SQL Editor в панели управления Supabase.

  2. Скопируйте и вставьте содержимое supabase/schema.sql и выполните его:

    • Включает расширение vector (CREATE EXTENSION IF NOT EXISTS vector;).

    • Создает таблицы: payers, appointments, patient_coverage, benefit_accumulators, payer_pa_rules, pa_requests, agent_trace (только добавление) и escalations.

    • Создает функцию векторного поиска по косинусному сходству match_pa_cases.

Шаг 1.3: Загрузка начальных данных

Вы можете загрузить синтетические данные в Supabase, используя любой из вариантов:

Вариант A (скрипт-сидер на Python): После настройки .env с вашими SUPABASE_URL и SUPABASE_KEY:

python seed_data.py

Вариант B (SQL Editor): В SQL Editor скопируйте и вставьте содержимое supabase/seed.sql и выполните его.

Это загружает:

  • 5 страховщиков: Aetna Commercial, Blue Cross Blue Shield, UnitedHealthcare, Medicare Part B, Cigna.

  • 5 приемов: Запланированные визиты с целевыми датами обслуживания (DOS).

  • Записи о покрытии: Активные и прекращенные полисы для тестирования крайних случаев.

  • Накопители льгот: Франшизы, доплаты, сострахование для конкретных кодов CPT.

  • Правила и прецеденты PA: Руководства по предварительному разрешению и исторические случаи с эмбеддингами.


2. Конфигурация окружения

Скопируйте .env.example в .env:

cp .env.example .env

Обновите файл .env своими учетными данными:

# 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. Установка

Установите зависимости проекта:

pip install -r requirements.txt

4. Справочник инструментов MCP

A. Общие инструменты трассировки (trace.*)

Используются всеми агентами для ведения журнала решений с возможностью аудита и только добавлением.

Имя инструмента

Описание

Ключевые входные данные

Выходные данные

trace_write_decision

Добавляет запись решения в журнал трассировки

entity_id, agent_name, decision_type, decision_payload, confidence, evidence_refs

status, trace_id

trace_query

Получает хронологическую историю решений для обращения

entity_id

count, список записей трассировки

trace_escalate_to_human

Ставит случай в очередь на проверку человеком-супервизором

entity_id, agent_name, reason, context

escalation_id, status

B. Инструменты проверки права на обслуживание (eligibility.*)

Проверяет покрытие пациента на фактическую дату обслуживания (DOS) и оценивает стоимость для пациента.

Имя инструмента

Описание

Ключевые входные данные

Выходные данные

eligibility_check_coverage

Проверяет активный период полиса относительно целевой даты обслуживания

patient_id, payer_id, service_type, service_date

coverage_status, is_valid_on_service_date, deductible_met_pct

eligibility_get_benefit_details

Получает балансы накопителей

patient_id, payer_id, cpt_code

copay, coinsurance_pct, deductible_remaining, estimated_patient_responsibility

eligibility_flag_coverage_gap

Записывает обнаруженный пробел в покрытии в трассировку

patient_id, gap_reason, confidence

status, trace_id

C. Инструменты предварительного разрешения (priorauth.*)

Автоматизирует поиск правил процедуры, поиск прецедентов и подачу клинического обоснования.

Имя инструмента

Описание

Ключевые входные данные

Выходные данные

priorauth_check_requirement

Проверяет, требует ли код процедуры предварительного разрешения

payer_id, cpt_code

requires_pa, rule_text

priorauth_submit_request

Отправляет клиническое обоснование и получает статус

patient_id, payer_id, cpt_code, clinical_summary

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

priorauth_check_status

Опрашивает статус поданного разрешения

pa_request_id

id, status, payer_notes

priorauth_search_similar_cases

Семантический векторный поиск по историческим случаям PA

cpt_code, clinical_summary, top_k

match_count, ранжированные precedents с оценками сходства


5. Запуск MCP-сервера

Вариант A: SSE-транспорт (по умолчанию)

Запускает сервер FastMCP через Server-Sent Events (SSE):

python run_server.py
  • SSE-конечная точка будет доступна по адресу: http://localhost:8000/sse

Вариант B: Пользовательский хост/порт или Stdio

Вы можете настроить параметры транспорта напрямую:

# 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. Тестирование и проверка

Запустите набор тестов с помощью pytest:

pytest tests/

Ожидаемый вывод:

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

7. Подключение к клиентам агентов

Конфигурация Claude Desktop

Добавьте следующее в ваш 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