Token导航 LogoToken导航TokenDH.com
Health Claims MCP Server logo
AI代理stdio官方级别未说明来源级核验

Health Claims MCP Server

MCP Server

一个用于医疗健康保险领域的代理间通信和模型上下文协议(MCP)的演示项目,包含8个医疗工具和4个专业代理。

工具数

8

提示词数

0

GitHub Stars

0

资源数

0
Python本地部署JSON-RPC

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

immannan

提供方

immannan

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

医疗保健MCP+A2A服务器(模拟)

一个示例项目展示了 模型上下文协议(MCP)代理到代理(A2A)通信 在健康保险索赔领域。

  • mcp_server/ --FastMCP服务器公开8个医疗保健工具
  • a2a/ --自定义A2A协议,带有4个通过JSON-RPC 2.0进行协调的专用代理
  • run_a2a.py --运行所有代理的独立HTTP服务器

所有数据都是合成的,没有真正的PHI,也没有外部调用。

官方A2A SDK:The 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.ini

______________________________________________________________________

设置

先决条件: 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.py

可流式传输的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

上海证券交易所

export MCP_TRANSPORT=sse
python mcp_server/server.py

MCP环境变量

变量默认值描述
MCP_TRANSPORTstdio运输: stdio, streamable-http,或 sse
FASTMCP_HOST127.0.0.1为HTTP传输绑定主机
FASTMCP_PORT8000绑定HTTP传输端口
FASTMCP_STREAMABLE_HTTP_PATH/mcp可流式传输的http端点的URL路径
MCP_MOUNT_PATH_(无)_可选装载路径前缀

______________________________________________________________________

运行A2A服务器

A2A服务器启动所有四个医疗保健代理,并通过HTTP公开它们。它使用一个本地MCP客户端,在进程中调用MCP工具函数——不需要单独的MCP服务器。

python run_a2a.py

服务器启动于 http://127.0.0.1:8001 默认情况下。

A2A环境变量

变量默认值描述
A2A_HOST127.0.0.1绑定主机
A2A_PORT8001绑定端口

A2A端点

方法路径描述
GET/.well-known/agent.json代理卡——发现功能和元数据
GET/agents列出所有注册代理人
POST/接收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工具

索赔

工具参数说明
list_member_claimsmember_id, status?列出索赔,可选择按以下方式筛选 paid/pending/denied
get_claim_detailclaim_id包含会员、提供者和裁决金额的全额索赔
submit_claim_inquiryclaim_id, inquiry_type, note提交查询单

好处

工具参数说明
get_member_benefitsmember_id会员计划的免赔额和OOP余额
estimate_member_responsibilitymember_id, procedure_code, billed_amount, network?成本分摊估算

供应商和授权

工具参数说明
search_providersspecialty, zip_code?, network?按专业搜索提供商
create_prior_authorizationmember_id, provider_id, procedure_codes, service_date, diagnosis_codes?提交先前的身份验证请求
get_prior_authorization_statusauth_id获取先前身份验证的当前状态

______________________________________________________________________

A2A代理系统

代理

代理ID角色
MemberAssistAgentmember-assist-agent患者协调员-检查资格,找到提供者
ClaimsAgentclaims-agent索赔处理人----资格、索赔历史、费用估计
ProviderAdvocateAgentprovider-advocate-agent网络管理器--提供商搜索
BenefitsAgentbenefits-agent福利专家——成本计算

通信流

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

测试_用户.md 用于测试文件和 QUICKSTART.md 用于过滤命令。

______________________________________________________________________

模拟数据参考

成员

ID姓名计划
M-1001P-100 Optum精选PPO
M-1002凯西·帕特尔P-200 Optum选择HMO

计划

ID姓名免赔额剩余OOP最大值剩余网络内共同保险
P-100Optum Choice PPO1500美元420美元5000美元2100美元20%
P-200Optum Select HMO500美元120美元3000美元980美元10%

提供商

ID名称专业网络ZIP
PR-2001北侧初级保健初级保健网络中55401
PR-2002湖景骨科诊所骨科网络中55111
PR-2003Metro影像中心放射科网络外55415

索赔

ID成员提供商状态已计费
C-10001M-1001PR-2001已支付250.00美元
C-10002M-1001PR-2003待定980.00美元
C-10003M-1002PR-2002拒绝(需要事先授权)1350.00美元

事先授权

ID成员状态
PA-9001M-1002已批准

______________________________________________________________________

架构图

文件描述
图表/mcp.mmdMCP网关路由到域服务器
图表/a2a.mmdA2A代理之间的消息传递

渲染方式 美人鱼实时编辑器 或任何与Mermaid兼容的查看器。

______________________________________________________________________

MCP检查员

MCP检查员 是一个基于浏览器的工具,用于交互式调用MCP工具。

npm install
npm start

______________________________________________________________________

备注

  • 所有数据都在内存中,并在重新启动时重置。
  • estimate_member_responsibility 使用模拟乘数(75%在网络中,60%在网络外)。不是付款保证。
  • 没有PHI,没有外部API调用,没有持久存储。
  • 官方的A2A Python SDK是 a2a-sdk>=1.0.1The a2a/ 这个项目中的模块是相同协议模式的自定义教育实现。

目录标签

目录标签

Python本地部署JSON-RPC医疗健康保险代理通信模型上下文协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP