Health Claims MCP Server
Healthcare MCP + A2A 서버 (모의)
건강 보험 청구 도메인을 위한 Model Context Protocol (MCP) 및 에이전트 간(A2A) 통신을 시연하는 샘플 프로젝트입니다.
mcp_server/— 8개의 의료 도구를 노출하는 FastMCP 서버a2a/— JSON-RPC 2.0을 통해 조정되는 4개의 전문 에이전트가 포함된 커스텀 A2A 프로토콜run_a2a.py— 모든 에이전트를 함께 실행하는 독립형 HTTP 서버
모든 데이터는 합성 데이터이며, 실제 PHI(개인 건강 정보)나 외부 호출은 없습니다.
공식 A2A SDK:
a2a-sdk(v1.0.1+)가 이제 A2A 프로토콜을 위한 공식 Python 라이브러리입니다. 이 프로젝트에는 교육 목적으로 구축된 커스텀 구현이 포함되어 있습니다.
프로젝트 구조
healthcare-mcp/
├── mcp_server/ # MCP server
│ ├── __init__.py
│ └── server.py # FastMCP with 8 healthcare tools
├── a2a/ # A2A protocol implementation
│ ├── __init__.py
│ ├── message.py # JSON-RPC 2.0 message types
│ ├── a2a_protocol.py # Protocol engine, registry, routing
│ └── agents.py # 4 healthcare domain agents
├── run_a2a.py # Standalone A2A HTTP server
├── test_a2a_communication.py # A2A protocol tests (40 tests)
├── diagrams/
│ ├── mcp.mmd # MCP Gateway architecture
│ └── a2a.mmd # A2A messaging pattern
├── requirements.txt
└── pytest.iniRelated MCP server: Partner Booking MCP Server
설정
필수 조건: Python 3.10+
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtMCP 서버 실행
MCP 서버는 MCP 호환 클라이언트에 의료 도구를 노출합니다.
stdio (기본값 — MCP 클라이언트용)
python mcp_server/server.pyStreamable HTTP
export MCP_TRANSPORT=streamable-http
export FASTMCP_HOST=127.0.0.1
export FASTMCP_PORT=8000
python mcp_server/server.py엔드포인트: http://127.0.0.1:8000/mcp
SSE
export MCP_TRANSPORT=sse
python mcp_server/server.pyMCP 환경 변수
변수 | 기본값 | 설명 |
|
| 전송 방식: |
|
| HTTP 전송을 위한 바인딩 호스트 |
|
| HTTP 전송을 위한 바인딩 포트 |
|
| streamable-http 엔드포인트의 URL 경로 |
| (없음) | 선택적 마운트 경로 접두사 |
A2A 서버 실행
A2A 서버는 4개의 의료 에이전트를 모두 시작하고 HTTP를 통해 노출합니다. 이 서버는 프로세스 내에서 MCP 도구 함수를 호출하는 로컬 MCP 클라이언트를 사용하므로 별도의 MCP 서버가 필요하지 않습니다.
python run_a2a.py서버는 기본적으로 http://127.0.0.1:8001에서 시작됩니다.
A2A 환경 변수
변수 | 기본값 | 설명 |
|
| 바인딩 호스트 |
|
| 바인딩 포트 |
A2A 엔드포인트
메서드 | 경로 | 설명 |
|
| 에이전트 카드 — 검색을 위한 기능 및 메타데이터 |
|
| 등록된 모든 에이전트 목록 |
|
| A2A JSON-RPC 2.0 메시지 수신 |
예시: 에이전트 검색
curl http://127.0.0.1:8001/.well-known/agent.json | python -m json.tool예시: A2A 메시지 전송
curl -s -X POST http://127.0.0.1:8001/ \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "check_member_eligibility",
"params": {"member_id": "M-1001"},
"id": "req-001",
"sender": "external-client",
"recipient": "claims-agent",
"type": "request"
}' | python -m json.toolMCP 도구
청구 (Claims)
도구 | 매개변수 | 설명 |
|
| 청구 목록 조회 (선택적으로 |
|
| 멤버, 제공자 및 심사 금액이 포함된 전체 청구 내역 |
|
| 문의 티켓 제출 |
혜택 (Benefits)
도구 | 매개변수 | 설명 |
|
| 멤버 플랜의 공제액 및 본인 부담금 잔액 |
|
| 비용 분담 추정 |
제공자 및 승인 (Providers & Authorizations)
도구 | 매개변수 | 설명 |
|
| 전문 분야별 제공자 검색 |
|
| 사전 승인 요청 제출 |
|
| 사전 승인 상태 조회 |
A2A 에이전트 시스템
에이전트
에이전트 | ID | 역할 |
|
| 환자 코디네이터 — 자격 확인, 제공자 검색 |
|
| 청구 처리자 — 자격, 청구 이력, 비용 추정 |
|
| 네트워크 관리자 — 제공자 검색 |
|
| 혜택 전문가 — 비용 계산 |
통신 흐름
MemberAssistAgent
├─ A2A → ClaimsAgent: "check_member_eligibility"
│ ├─ MCP: list_member_claims, get_member_benefits
│ └─ MCP: get_claim_detail
│
└─ A2A → ProviderAdvocateAgent: "search_network_providers"
└─ MCP: search_providers
ClaimsAgent
└─ A2A → BenefitsAgent: "calculate_member_responsibility"
└─ MCP: estimate_member_responsibility코드에서 에이전트 사용하기
import asyncio
from a2a import A2AProtocol, MemberAssistAgent, ClaimsAgent, ProviderAdvocateAgent, BenefitsAgent
async def main():
protocol = A2AProtocol()
member_assist = MemberAssistAgent(protocol, mcp_client)
claims = ClaimsAgent(protocol, mcp_client)
provider_advocate = ProviderAdvocateAgent(protocol, mcp_client)
benefits = BenefitsAgent(protocol, mcp_client)
for agent in [member_assist, claims, provider_advocate, benefits]:
await agent.register()
protocol.register_handler("check_member_eligibility", claims.handle_check_member_eligibility)
protocol.register_handler("search_network_providers", provider_advocate.handle_search_network_providers)
protocol.register_handler("calculate_member_responsibility", benefits.handle_calculate_member_responsibility)
eligibility = await member_assist.check_eligibility("M-1001")
providers = await member_assist.find_providers("primary care", "55401")
asyncio.run(main())테스트
pytest -v # all 40 tests
pytest test_a2a_communication.py # A2A protocol tests only테스트 문서에 대해서는 TEST_GUIDE.md를, 필터링 명령에 대해서는 QUICKSTART.md를 참조하십시오.
모의 데이터 참조
멤버
ID | 이름 | 플랜 |
| Jordan Lee |
|
| Casey Patel |
|
플랜
ID | 이름 | 공제액 | 잔액 | OOP 최대치 | 잔액 | 네트워크 내 공동 부담금 |
| Optum Choice PPO | $1,500 | $420 | $5,000 | $2,100 | 20% |
| Optum Select HMO | $500 | $120 | $3,000 | $980 | 10% |
제공자
ID | 이름 | 전문 분야 | 네트워크 | 우편번호 |
| Northside Primary Care | 1차 진료 | 네트워크 내 | 55401 |
| Lakeview Ortho Clinic | 정형외과 | 네트워크 내 | 55111 |
| Metro Imaging Center | 영상의학과 | 네트워크 외 | 55415 |
청구
ID | 멤버 | 제공자 | 상태 | 청구 금액 |
| M-1001 | PR-2001 | 지급됨 | $250.00 |
| M-1001 | PR-2003 | 대기 중 | $980.00 |
| M-1002 | PR-2002 | 거부됨 (사전 승인 필요) | $1,350.00 |
사전 승인
ID | 멤버 | 상태 |
| M-1002 | 승인됨 |
아키텍처 다이어그램
파일 | 설명 |
도메인 서버로 라우팅하는 MCP 게이트웨이 | |
에이전트 간 A2A 메시징 |
Mermaid Live Editor 또는 Mermaid 호환 뷰어로 렌더링하십시오.
MCP 인스펙터
MCP Inspector는 MCP 도구를 대화형으로 호출하기 위한 브라우저 기반 도구입니다.
npm install
npm start참고 사항
모든 데이터는 메모리에 저장되며 재시작 시 초기화됩니다.
estimate_member_responsibility는 모의 승수(네트워크 내 75%, 네트워크 외 60%)를 사용합니다. 지급 보증이 아닙니다.PHI, 외부 API 호출, 영구 저장소는 없습니다.
공식 A2A Python SDK는
a2a-sdk>=1.0.1입니다. 이 프로젝트의a2a/모듈은 동일한 프로토콜 패턴을 교육용으로 커스텀 구현한 것입니다.
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.
This server cannot be installed
Maintenance
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
Agent-native insurance quoting protocol — sandbox, MCP + REST, eligibility pre-flight
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
Hosted MCP for denial, prior auth, reimbursement, workflow validation, batch scoring, and feedback.
AI-native mock API server with MCP. Create REST/SOAP mocks from Claude, Cursor, or Windsurf.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables healthcare benefits management by providing member eligibility verification, coverage details for medical/dental/vision/pharmacy services, and service coverage verification through natural language queries.-
- FlicenseNot gradedqualityCmaintenanceSimulates a third-party appointment booking agent, enabling your AI platform to check availability and book appointments via MCP interoperability.-
- FlicenseNot gradedqualityBmaintenanceRead-only MCP server providing 5 tools for hybrid search, clause retrieval, policy versioning, code lookup, and plan rider override queries over a synthetic medical-policy corpus.-
- AlicenseAqualityBmaintenanceMCP server to simulate NHCX payer-side actions for testing provider integrations, enabling approval, rejection, querying, and forwarding of cases. It automates the payer workflow through tools like process case and get user role.5449MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/immannan/healthcare-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server