Health Claims MCP Server
Healthcare MCP + A2A Server (Mock)
Ein Beispielprojekt zur Demonstration des Model Context Protocol (MCP) und der Agent-to-Agent (A2A)-Kommunikation für den Bereich der Krankenversicherungsabrechnungen.
mcp_server/— FastMCP-Server, der 8 Healthcare-Tools bereitstellta2a/— Benutzerdefiniertes A2A-Protokoll mit 4 spezialisierten Agenten, die über JSON-RPC 2.0 koordinierenrun_a2a.py— Eigenständiger HTTP-Server, der alle Agenten zusammen ausführt
Alle Daten sind synthetisch — keine echten PHI (geschützte Gesundheitsdaten), keine externen Aufrufe.
Offizielles A2A SDK: Das
a2a-sdk(v1.0.1+) ist jetzt die offizielle Python-Bibliothek für das A2A-Protokoll. Dieses Projekt enthält eine benutzerdefinierte Implementierung, die zu Schulungszwecken erstellt wurde.
Projektstruktur
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
Einrichtung
Voraussetzungen: Python 3.10+
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtAusführen des MCP-Servers
Der MCP-Server stellt Healthcare-Tools für jeden MCP-kompatiblen Client bereit.
stdio (Standard — für MCP-Clients)
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.pyEndpunkt: http://127.0.0.1:8000/mcp
SSE
export MCP_TRANSPORT=sse
python mcp_server/server.pyMCP-Umgebungsvariablen
Variable | Standard | Beschreibung |
|
| Transport: |
|
| Bind-Host für HTTP-Transporte |
|
| Bind-Port für HTTP-Transporte |
|
| URL-Pfad für den streamable-http-Endpunkt |
| (keiner) | Optionaler Mount-Pfad-Präfix |
Ausführen des A2A-Servers
Der A2A-Server startet alle vier Healthcare-Agenten und stellt sie über HTTP bereit. Er verwendet einen lokalen MCP-Client, der die MCP-Tool-Funktionen in-process aufruft — kein separater MCP-Server erforderlich.
python run_a2a.pyDer Server startet standardmäßig unter http://127.0.0.1:8001.
A2A-Umgebungsvariablen
Variable | Standard | Beschreibung |
|
| Bind-Host |
|
| Bind-Port |
A2A-Endpunkte
Methode | Pfad | Beschreibung |
|
| Agenten-Karte — Fähigkeiten und Metadaten zur Erkennung |
|
| Liste aller registrierten Agenten |
|
| Empfangen einer A2A JSON-RPC 2.0 Nachricht |
Beispiel: Agenten entdecken
curl http://127.0.0.1:8001/.well-known/agent.json | python -m json.toolBeispiel: Eine A2A-Nachricht senden
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-Tools
Abrechnungen (Claims)
Tool | Parameter | Beschreibung |
|
| Abrechnungen auflisten, optional gefiltert nach |
|
| Vollständige Abrechnung mit Mitglied, Anbieter und Abrechnungsbeträgen |
|
| Ein Anfrageticket einreichen |
Leistungen (Benefits)
Tool | Parameter | Beschreibung |
|
| Selbstbehalt und OOP-Salden für den Plan des Mitglieds |
|
| Kostenteilungsschätzung |
Anbieter & Genehmigungen
Tool | Parameter | Beschreibung |
|
| Anbieter nach Fachgebiet suchen |
|
| Vorabgenehmigungsanfrage einreichen |
|
| Aktuellen Status einer Vorabgenehmigung abrufen |
A2A-Agentensystem
Agenten
Agent | ID | Rolle |
|
| Patientenkoordinator — prüft Anspruchsberechtigung, findet Anbieter |
|
| Abrechnungsbearbeiter — Anspruchsberechtigung, Abrechnungshistorie, Kostenschätzungen |
|
| Netzwerkmanager — Anbietersuche |
|
| Leistungsspezialist — Kostenberechnungen |
Kommunikationsfluss
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_responsibilityVerwendung von Agenten im Code
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())Tests
pytest -v # all 40 tests
pytest test_a2a_communication.py # A2A protocol tests onlySiehe TEST_GUIDE.md für Testdokumentation und QUICKSTART.md für Filterbefehle.
Referenz der Mock-Daten
Mitglieder
ID | Name | Plan |
| Jordan Lee |
|
| Casey Patel |
|
Pläne
ID | Name | Selbstbehalt | Verbleibend | OOP Max | Verbleibend | In-Network Mitversicherung |
| Optum Choice PPO | $1.500 | $420 | $5.000 | $2.100 | 20% |
| Optum Select HMO | $500 | $120 | $3.000 | $980 | 10% |
Anbieter
ID | Name | Fachgebiet | Netzwerk | PLZ |
| Northside Primary Care | Hausarzt | in-network | 55401 |
| Lakeview Ortho Clinic | Orthopädie | in-network | 55111 |
| Metro Imaging Center | Radiologie | out-of-network | 55415 |
Abrechnungen
ID | Mitglied | Anbieter | Status | Abgerechnet |
| M-1001 | PR-2001 | bezahlt | $250,00 |
| M-1001 | PR-2003 | ausstehend | $980,00 |
| M-1002 | PR-2002 | abgelehnt (Vorabgenehmigung erforderlich) | $1.350,00 |
Vorabgenehmigungen
ID | Mitglied | Status |
| M-1002 | genehmigt |
Architekturdiagramme
Datei | Beschreibung |
MCP-Gateway-Routing zu Domänenservern | |
A2A-Messaging zwischen Agenten |
Mit dem Mermaid Live Editor oder einem beliebigen Mermaid-kompatiblen Viewer rendern.
MCP Inspector
MCP Inspector ist ein browserbasiertes Tool zum interaktiven Aufrufen von MCP-Tools.
npm install
npm startHinweise
Alle Daten sind im Arbeitsspeicher und werden beim Neustart zurückgesetzt.
estimate_member_responsibilityverwendet Mock-Multiplikatoren (75% in-network, 60% out-of-network). Dies ist keine Zahlungsgarantie.Keine PHI, keine externen API-Aufrufe, kein persistenter Speicher.
Das offizielle A2A Python SDK ist
a2a-sdk>=1.0.1. Dasa2a/-Modul in diesem Projekt ist eine benutzerdefinierte, zu Bildungszwecken erstellte Implementierung derselben Protokollmuster.
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