Health Claims MCP Server
Healthcare MCP + Servidor A2A (Simulado)
Un proyecto de ejemplo que demuestra el Protocolo de Contexto de Modelo (MCP) y la comunicación Agente-a-Agente (A2A) para el dominio de reclamaciones de seguros médicos.
mcp_server/— Servidor FastMCP que expone 8 herramientas de atención médicaa2a/— Protocolo A2A personalizado con 4 agentes especializados que se coordinan mediante JSON-RPC 2.0run_a2a.py— Servidor HTTP independiente que ejecuta todos los agentes juntos
Todos los datos son sintéticos: no hay PHI real, no hay llamadas externas.
SDK oficial de A2A: El
a2a-sdk(v1.0.1+) es ahora la biblioteca oficial de Python para el protocolo A2A. Este proyecto contiene una implementación personalizada creada con fines de formación.
Estructura del Proyecto
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
Configuración
Requisitos previos: Python 3.10+
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtEjecución del Servidor MCP
El servidor MCP expone herramientas de atención médica a cualquier cliente compatible con MCP.
stdio (predeterminado — para clientes MCP)
python mcp_server/server.pyHTTP Transmitible (Streamable)
export MCP_TRANSPORT=streamable-http
export FASTMCP_HOST=127.0.0.1
export FASTMCP_PORT=8000
python mcp_server/server.pyEndpoint: http://127.0.0.1:8000/mcp
SSE
export MCP_TRANSPORT=sse
python mcp_server/server.pyVariables de Entorno de MCP
Variable | Predeterminado | Descripción |
|
| Transporte: |
|
| Host de enlace para transportes HTTP |
|
| Puerto de enlace para transportes HTTP |
|
| Ruta URL para el endpoint streamable-http |
| (ninguno) | Prefijo de ruta de montaje opcional |
Ejecución del Servidor A2A
El servidor A2A inicia los cuatro agentes de atención médica y los expone a través de HTTP. Utiliza un cliente MCP local que llama a las funciones de herramientas MCP en el proceso; no se requiere un servidor MCP separado.
python run_a2a.pyEl servidor se inicia en http://127.0.0.1:8001 de forma predeterminada.
Variables de Entorno de A2A
Variable | Predeterminado | Descripción |
|
| Host de enlace |
|
| Puerto de enlace |
Endpoints de A2A
Método | Ruta | Descripción |
|
| Tarjeta de agente: capacidades y metadatos para descubrimiento |
|
| Listar todos los agentes registrados |
|
| Recibir un mensaje A2A JSON-RPC 2.0 |
Ejemplo: Descubrir agentes
curl http://127.0.0.1:8001/.well-known/agent.json | python -m json.toolEjemplo: Enviar un mensaje 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.toolHerramientas MCP
Reclamaciones
Herramienta | Parámetros | Descripción |
|
| Listar reclamaciones, opcionalmente filtradas por |
|
| Reclamación completa con miembro, proveedor y montos de adjudicación |
|
| Enviar un ticket de consulta |
Beneficios
Herramienta | Parámetros | Descripción |
|
| Saldos de deducible y OOP para el plan del miembro |
|
| Estimación de costos compartidos |
Proveedores y Autorizaciones
Herramienta | Parámetros | Descripción |
|
| Buscar proveedores por especialidad |
|
| Enviar solicitud de autorización previa |
|
| Obtener el estado actual de una autorización previa |
Sistema de Agentes A2A
Agentes
Agente | ID | Rol |
|
| Coordinador de pacientes: verifica elegibilidad, encuentra proveedores |
|
| Procesador de reclamaciones: elegibilidad, historial de reclamaciones, estimaciones de costos |
|
| Gestor de red: búsqueda de proveedores |
|
| Especialista en beneficios: cálculos de costos |
Flujo de Comunicación
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_responsibilityUso de agentes en el código
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())Pruebas
pytest -v # all 40 tests
pytest test_a2a_communication.py # A2A protocol tests onlyConsulte TEST_GUIDE.md para la documentación de pruebas y QUICKSTART.md para comandos de filtrado.
Referencia de Datos Simulados
Miembros
ID | Nombre | Plan |
| Jordan Lee |
|
| Casey Patel |
|
Planes
ID | Nombre | Deducible | Restante | Máx OOP | Restante | Coaseguro en red |
| Optum Choice PPO | $1,500 | $420 | $5,000 | $2,100 | 20% |
| Optum Select HMO | $500 | $120 | $3,000 | $980 | 10% |
Proveedores
ID | Nombre | Especialidad | Red | ZIP |
| Northside Primary Care | atención primaria | en red | 55401 |
| Lakeview Ortho Clinic | ortopedia | en red | 55111 |
| Metro Imaging Center | radiología | fuera de red | 55415 |
Reclamaciones
ID | Miembro | Proveedor | Estado | Facturado |
| M-1001 | PR-2001 | pagado | $250.00 |
| M-1001 | PR-2003 | pendiente | $980.00 |
| M-1002 | PR-2002 | denegado (requiere aut. previa) | $1,350.00 |
Autorizaciones Previas
ID | Miembro | Estado |
| M-1002 | aprobado |
Diagramas de Arquitectura
Archivo | Descripción |
Enrutamiento de puerta de enlace MCP a servidores de dominio | |
Mensajería A2A entre agentes |
Renderice con Mermaid Live Editor o cualquier visor compatible con Mermaid.
Inspector MCP
MCP Inspector es una herramienta basada en navegador para llamar a herramientas MCP de forma interactiva.
npm install
npm startNotas
Todos los datos están en memoria y se restablecen al reiniciar.
estimate_member_responsibilityutiliza multiplicadores simulados (75% en red, 60% fuera de red). No es una garantía de pago.Sin PHI, sin llamadas a API externas, sin almacenamiento persistente.
El SDK oficial de Python para A2A es
a2a-sdk>=1.0.1. El móduloa2a/en este proyecto es una implementación educativa personalizada de los mismos patrones de protocolo.
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