______________________________________________________________________
标题:信誉观察 表情符号🛡️ 颜色来源:蓝色 颜色To:绿色 sdk:毕业 sdk版本:6.0.1 app_file:app.py 固定:false python版本:3.11
信誉观察🛡️
信誉观察 是一个演示产品 “MCP 1岁生日/Gradio特工黑客马拉松”(拥抱脸).
0.我正在构建什么(TL;DR)
- 域名: 美式医疗保健管理员/提供者资格认证和到期(州执照、董事会证书、DEA/CDS、医疗事故、医院特权等)。
- 目标: 展示如何 模型上下文协议(MCP) + LangGraph代理 + Gradio + 模态 + SQLite 可以将混乱、碎片化的凭证数据转化为:
- 每个提供者的一个统一的、可查询的视图,以及 - 一个用于过期/有风险凭证的主动警报系统。
- 约束: 仅使用开放/公共工具和API(没有封闭的供应商API,没有真正的PHI)。
1.问题和动机
现实世界(简化):
- 提供者团体(诊所、医院、多专业诊所) 数十份合同 不同的健康计划和机构。
- 多个凭据可能会过期或失效:
- 州许可证、董事会认证、DEA/CDS编号、, - 医疗事故保险, - 医院特权等。
- 今天:
- 每个健康计划/医院都会发送自己的电子邮件/门户任务,要求更新凭据和目录数据。 - 员工保持本地 电子表格、跟踪器、电子邮件线程,通常格式不一致。
- 很容易错过到期日,导致:
- 合规问题, - 被驳回的索赔(收入损失), - 无法在某个日期后安排或向提供商收费。
CredentialWatch充当中央雷达:
“对于我的所有提供商,告诉我什么是到期时间,什么是高风险,并记录我们可以采取行动的警报。”
2.解决方案概念
CredentialWatch提供:
- 一个单一的内部 “真相之源”SQLite数据库 对于提供商、凭据和警报。
- 三台独立的MCP服务器 (严格分离关注点,每个关注点都可以有自己的HF Space/repo):
1. npi_mcp → 来自的只读公共提供者信息 NPPES NPI注册表API. 1. cred_db_mcp → 内部提供者和凭证数据库操作。 1. alert_mcp → 警报记录、列表和解决方案。
- A. 基于LangGraph的代理 即:
- 定期运行 到期扫描 并记录警报。 - 回答自由文本问题,如: - “谁的心脏病学证书将在未来60天内到期?” - “给我看看Jane Doe博士的证书快照。”
- A. Gradio用户界面 哪里:
- 法官/用户与代理人聊天, - 他们可以点击“夜间清扫”按钮, - 他们看到“即将到期”和 提醒收件箱.
3.黑客马拉松和设计限制
- 事件: 拥抱面孔–MCP一岁生日/Gradio经纪人黑客马拉松。
- 评判目标:
- 强大的MCP使用(工具/资源作为一流接口)。 - 代理复杂性:规划、多步骤工具使用、长时间运行的流程。 - 清晰的用户体验/可教性。
限制和安全:
- 仅 公共/开放API (NPPES NPI注册表,OpenAI GPT)。
- 没有真正的PHI:使用合成/内部ID+公共NPI数据。
- 安全界限:
- 只读至 外部的 系统。 - 仅写入 内部的 SQLite数据库。
4.技术栈🧱
- 语言: Python 3.11
- 包管理:
uv - 前端/UI: Gradio 6(作为拥抱脸部空间托管)
- 代理人: 语言图(Python)
- LLM 开放人工智能
gpt-5.1(或gpt-4o) - 工具协议: 模型上下文协议(MCP)通过SSE。
- 后端web框架: FastAPI,运行在 模态.
- 数据库: SQLite保存在Modal卷上。
- ORM: SQLAlchemy 2.x。
5.架构概述🧩
逻辑组件
HF空间#1——代理UI(credentialwatch-agent-ui)
- Gradio前端。
- LangGraph代理运行时(
expiry_sweep_graph,interactive_query_graph). - MCP客户端已配置为3台远程MCP服务器(通过SSE)。
HF空间#2 npi_mcp
- MCP服务器 NPI/nppe 工具(
search_providers,get_provider_by_npi). - 呼叫
NPI_APIModal上的FastAPI服务。
HF空间#3 cred_db_mcp
- 用于内部数据工具的MCP服务器(
sync_provider_from_npi,add_or_update_credential等等)。 - 呼叫
CRED_APIModal上的FastAPI服务。
HF空间#4 alert_mcp
- 用于警报工具的MCP服务器(
log_alert,get_open_alerts等等)。 - 呼叫
ALERT_APIModal上的FastAPI服务。
模态后端
- FastAPI微服务:
NPI_API,CRED_API,ALERT_API. - 共享 SQLite数据库 在模态体积上。
6.3台MCP服务器——关注点分离🧱
6.1 npi_mcp
对公共提供商数据的只读访问。
search_providers(query, state?, taxonomy?)get_provider_by_npi(npi)
6.2 cred_db_mcp
与内部提供商和凭证数据的接口。
sync_provider_from_npi(npi)add_or_update_credential(...)list_expiring_credentials(...)get_provider_snapshot(...)
6.3 alert_mcp
管理代理生成的警报。
log_alert(...)get_open_alerts(...)mark_alert_resolved(...)
7.代理行为(LangGraph)🧠
7.1 expiry_sweep_graph
批次/夜间图表。
- 呼叫
cred_db_mcp.list_expiring_credentials. - 决定严重程度。
- 呼叫
alert_mcp.log_alert.
7.2 interactive_query_graph
聊天/问答图(ReAct风格)。
- 计划工具调用(NPI、DB、警报)。
- 总结结果。
8.数据库模型🗄️
DB引擎: 模态体积上的SQLite。
providers:内部提供者记录。credentials:许可证、证书等。alerts:生成过期警报。
______________________________________________________________________
如何在当地跑步
要在本地运行CredentialWatch代理UI,请执行以下操作:
- 先决条件:
- Python 3.11+ - uv 包管理器
- 环境变量:
创建一个 .env 文件或设置以下环境变量:
OPENAI_API_KEY=sk-...
# URLs for your deployed MCP servers (or local if running locally)
NPI_MCP_URL=https://.hf.space/sse
CRED_DB_MCP_URL=https://.hf.space/sse
ALERT_MCP_URL=https://.hf.space/sse- 运行代理:
uv run -m credentialwatch_agent.main这将在本地启动Gradio界面 http://localhost:7860.
