Health Claims MCP Server
Healthcare MCP + A2A Server (Mock)
Пример проекта, демонстрирующий работу Model Context Protocol (MCP) и взаимодействия между агентами (A2A) в домене претензий по медицинскому страхованию.
mcp_server/— сервер FastMCP, предоставляющий 8 инструментов для сферы здравоохраненияa2a/— пользовательский протокол A2A с 4 специализированными агентами, которые координируют работу через JSON-RPC 2.0run_a2a.py— автономный HTTP-сервер, который запускает всех агентов вместе
Все данные являются синтетическими — никакой реальной защищенной медицинской информации (PHI) и внешних вызовов.
Официальный SDK A2A:
a2a-sdk(v1.0.1+) теперь является официальной библиотекой Python для протокола A2A. Этот проект содержит пользовательскую реализацию, созданную в учебных целях.
Структура проекта
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.txtЗапуск MCP-сервера
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.pyПеременные окружения MCP
Переменная | По умолчанию | Описание |
|
| Транспорт: |
|
| Хост для привязки HTTP-транспортов |
|
| Порт для привязки HTTP-транспортов |
|
| URL-путь для конечной точки streamable-http |
| (нет) | Опциональный префикс пути монтирования |
Запуск A2A-сервера
A2A-сервер запускает всех четырех агентов здравоохранения и предоставляет их через 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.toolИнструменты MCP
Претензии
Инструмент | Параметры | Описание |
|
| Список претензий, опционально отфильтрованный по |
|
| Полная информация о претензии с участником, поставщиком и суммами выплат |
|
| Отправка тикета с запросом |
Льготы
Инструмент | Параметры | Описание |
|
| Франшиза и остатки по расходам из собственного кармана (OOP) для плана участника |
|
| Оценка распределения расходов |
Поставщики и авторизации
Инструмент | Параметры | Описание |
|
| Поиск поставщиков по специальности |
|
| Отправка запроса на предварительную авторизацию |
|
| Получение текущего статуса предварительной авторизации |
Система агентов 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 | Имя | Специальность | Сеть | ZIP |
| Northside Primary Care | первичная помощь | в сети | 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, нет постоянного хранилища.
Официальный Python SDK для A2A —
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