Skip to main content
Glama

의료 수익 주기 관리(RCM) 멀티 에이전트 MCP 서버

AI 기반 멀티 에이전트 수익 주기 관리(RCM) MCP 서버로, 자격 검증, 사전 승인, 그리고 Supabasepgvector로 지원되는 공유 추론 추적을 구현합니다.


아키텍처 개요

                          ┌────────────────────────────┐
                          │    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. 프로젝트 설정 -> 데이터베이스에서 프로젝트 URLAPI 키(anon 또는 service_role)를 확인합니다.

1.2단계: pgvector 활성화 및 스키마 적용

  1. Supabase 대시보드에서 SQL 편집기를 엽니다.

  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 시더 스크립트):

.envSUPABASE_URLSUPABASE_KEY를 구성하면:

python seed_data.py

옵션 B (SQL 편집기):

SQL 편집기에서 supabase/seed.sql의 내용을 복사하여 붙여넣고 실행합니다.

다음을 시드합니다:

  • 5개 지불자: Aetna Commercial, Blue Cross Blue Shield, UnitedHealthcare, Medicare Part B, Cigna.

  • 5개 예약: 대상 서비스 날짜(DOS)가 있는 예약된 방문.

  • 보장 기록: 엣지 케이스 테스트를 위한 활성 vs. 종료 정책.

  • 혜택 누적기: 특정 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 전송 (기본값)

Server-Sent Events(SSE)를 통해 FastMCP 서버를 시작합니다:

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