ckd-parent-guide-mcp

tomket/ckd-parent-guide-mcp
Hosted
0 Stars 24 次浏览 汤姆丁 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "kidney_hero_care": {
      "args": [
        "nfyy-ckd-parent-guide-mcp"
      ],
      "command": "uvx"
    }
  }
}

可用工具 (12 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

can_eat 13 个参数 需填 1 项

家长问「XX 能不能吃」时调用。 先按红黄牌规则拦截(杨桃、低钠盐、NSAIDs 等不分分期禁止); 若家长没说 CKD 分期/年龄/体重,会返回 need_more_info 并主动列出各分期每日营养标准对照, 提醒你去追问;若信息齐全,则按该患儿当日钾/磷/钠/蛋白预算反算「这一顿最多吃多少克」, 给出绿灯/黄灯/红灯结论与家常量具换算;家长若给出想吃的克数(amount_g),会据此给出限量提示。

必填参数:food_query

find_substitutes 12 个参数 需填 1 项

家长问「家里没有 XX 了,用什么替换」时调用。 先按蛋白质或能量等价换算出替代食物的克数,再逐项核对替换后钾/磷/钠增量对这个 分期的孩子是否更不利,最后按安全分排序。全部为确定性计算,且会自动过滤红黄牌食物。

必填参数:original

interpret_lab_report 21 个参数 需填 1 项

家长问「化验单怎么看」时调用,把检验单逐项翻译成家长听得懂的话。 阈值来自 KDIGO 2012/2024、KDOQI、中华医学会儿肾学组 2017 NS 指南、PRNT 2020/2021 共识; 各家有分歧的会同时列出并提示以本院参考值为准。会标出 red_flags 与 next_actions。

必填参数:age_years

explain_terms 2 个参数 需填 1 项

把一段医学文字(医嘱、诊断、检查报告)里的专业术语逐个翻译成大白话。

必填参数:text

translate_doctor_note 1 个参数 需填 1 项

把医生写的诊断/医嘱整段翻译,并生成「下次复诊该问医生什么」清单。

必填参数:text

search_faq 2 个参数 需填 1 项

检索家长高频问题库(如低盐饮食、激素副作用、能不能打疫苗、复查注意等)。

必填参数:question

list_faq_topics

列出家长高频问题库的全部主题,便于引导家长提问。 Returns: 每条含 id、category、question。

该工具无需必填参数,直接调用即可

cooking_tips 1 个参数

厨房实操技巧:去钾、去磷、控钠、补热量。

该工具无需必填参数,直接调用即可

daily_standards 12 个参数 需填 2 项

给出该患儿每日各项营养摄入标准(能量/蛋白/钠/钾/磷/钙/液体)。 当家长问「XX 能不能吃」但没给分期时,可先调用此工具列出各分期标准让其对照; 也可在确认分期后给出个体化目标。

必填参数:age_years、weight_kg

search_food 2 个参数 需填 1 项

在《中国食物成分表》里按名称模糊检索食物,返回打分排序的候选。 用于确认家长说的食物在成分表里叫什么、核对是否查对条目。

必填参数:keyword

ckd_stage_overview

列出所有 CKD 分期的饮食管理要点与钾/磷/蛋白/钠管理原则(家长版)。 当家长没说分期、需要让他了解「不同分期差别很大」时调用。 Returns: 每条含 stage、focus、potassium、phosphorus、protein、sodium。

该工具无需必填参数,直接调用即可

egfr_calculator 4 个参数 需填 1 项

用 bedside Schwartz 公式算 eGFR 并判 CKD 分期(<2 岁不套 G1–G5)。

必填参数:height_cm

服务介绍

测试项目 请勿用

测试项目 请勿用

测试项目 请勿用


NFYY038 童肾家长助手 · 科普与日常咨询 MCP Server

面向儿童慢性肾脏病(CKD)患儿家长的确定性咨询服务。把专业医学语言翻译成家长听得懂的话,
回答家长最高频的日常问题:

  • 「XX 能不能吃」 —— 先按红黄牌规则拦截,再结合患儿 CKD 分期 / 年龄 / 体重 / 化验结果,算清楚这一顿最多能吃多少克;
  • 「化验单怎么解读」 —— 把血肌酐、白蛋白、血钾、血磷、尿蛋白等指标逐条翻译成大白话;
  • 「XX 没有了,用什么替」 —— 按蛋白质 / 能量等价自动换算,并评估替换后钾磷钠会不会对孩子更不利;
  • 科普答疑 —— 医学术语翻译、医嘱整段翻译、家长高频问题库、厨房去钾去磷控钠实操。

团队:南方医科大学南方医院 NFYY038(2026 儿童肾病智能体比赛)


核心设计原则:确定性

所有阈值判断、营养素计算、等价换算全部在 Python 代码层完成,不依赖大模型现场心算:

  • 同样的输入 → 永远得到同样的输出(已用 tests/test_engine.py 验证);
  • 临床阈值(eGFR 分期、贫血 Hb、血钾上限、限钾限磷起始值等)硬编码并标注权威来源;
  • 遇到权威指南有分歧处(如血磷参考区间、白蛋白 25 vs 30 g/L),同时列出并提示以本院参考值为准。

技术栈与运行方式

  • Python 3.10+ + FastMCP >= 2.0.0
  • stdio 传输,靠 pyproject.toml 的 console-script 入口支持 uvx 拉起

方式一:uvx(推荐,免安装)

uvx nfyy-ckd-parent-guide-mcp

方式二:本地源码运行

pip install -e .
python -m nfyy_ckd_parent_guide        # 等同 console-script:nfyy-ckd-parent-guide-mcp

接入智能体(MCP 客户端配置示例)

{
  "mcpServers": {
    "nfyy-ckd-parent-guide": {
      "command": "uvx",
      "args": ["nfyy-ckd-parent-guide-mcp"]
    }
  }
}

若用本地源码,可替换为:

{
  "mcpServers": {
    "nfyy-ckd-parent-guide": {
      "command": "python",
      "args": ["-m", "nfyy_ckd_parent_guide"]
    }
  }
}

提供的工具(12 个)

工具 用途 关键行为
can_eat 「XX 能不能吃」 红黄牌拦截 → 缺分期主动追问并列出各分期标准 → 算每顿上限(绿/黄/红灯)
find_substitutes 「XX 没有了用什么替」 蛋白/能量等价换算 + 钾磷钠增量惩罚打分,过滤红黄牌
interpret_lab_report 「化验单怎么看」 逐指标翻译,标 red_flags 与 next_actions
explain_terms 术语翻译 从一段话里识别术语并逐个翻译成大白话
translate_doctor_note 医嘱整段翻译 翻译诊断/医嘱 + 生成「复诊该问医生什么」清单
search_faq 高频问题检索 低盐、激素、疫苗、复查等 16 个主题
list_faq_topics 问题库总览 列出全部主题便于引导提问
cooking_tips 厨房实操 去钾 / 去磷 / 控钠 / 补热量
daily_standards CKD 分期每日营养标准 能量/蛋白/钠/钾/磷/钙/液体目标
search_food 食物检索 《中国食物成分表》模糊检索,确认条目
ckd_stage_overview 分期饮食要点 7 个分期的钾/磷/蛋白/钠管理原则
egfr_calculator eGFR 计算 bedside Schwartz 公式 + KDIGO 分期(<2 岁不套 G1–G5)

权威依据(数据来源)

  • 食物成分:《中国食物成分表》(用户提供的 中国食物成分表.xlsx,1752 条 × 35 营养素),已转换为 data/food_data.csv
  • 能量 / 蛋白目标:PRNT 2020 共识(SDI 表,按实际年龄);
  • 钙磷 / 钾 / 钠:PRNT 2020 钙磷共识、PRNT 2021 钾共识、PRNT 钠共识;
  • CKD 分期 / 蛋白尿分级:KDIGO 2012 / 2024、中华医学会儿科学分会肾脏学组 2017 肾病综合征指南;
  • eGFR 公式:bedside Schwartz(JASN 2009)、CKiD U25(1–25 岁连续);
  • 贫血 / 代酸 / 检验参考区间:KDIGO 2012、KDOQI 2008、IOM 年龄参考。

所有引用点在代码 docstring 与返回结果的 依据 / source 字段中标注。


红黄牌规则(不依赖成分表)

  • 绝对红灯(不分分期禁用):杨桃、低钠盐 / 代盐(含氯化钾)、米浆、含马兜铃酸药材;
  • 用药红黄牌:NSAIDs 类(退烧止痛)红灯、肾毒性药物与造影剂黄牌;
  • 黄牌(限量/注意):可乐等深色汽水、加工肉、腌菜、老火汤、果干、坚果等;
  • 磷酸盐添加剂:包装上的「磷酸盐 / 焦磷酸钠 / 三聚磷酸钠 / 六偏磷酸钠 / 膨松剂」一律视为无机磷,吸收率 80–90%,必须避免。

目录结构

nfyy038-ckd-parent-guide-mcp/
├── pyproject.toml                  # uvx 入口与依赖
├── README.md
├── LICENSE
├── src/nfyy_ckd_parent_guide/
│   ├── server.py                   # MCP 工具注册 + run() 入口
│   ├── verdict.py                  # 「XX 能不能吃」引擎
│   ├── substitute.py               # 等价替换引擎
│   ├── labs.py                     # 化验单解读引擎
│   ├── stages.py                   # CKD 分期 / 每日营养标准
│   ├── foods.py                    # 食物成分数据层
│   ├── education.py                # 科普层(术语/医嘱/FAQ/厨房)
│   └── data/
│       ├── food_data.csv           # 中国食物成分表(1752 条)
│       ├── food_alias.json         # 家长口语 → 标准条目
│       ├── food_flags.json         # 红黄牌清单
│       ├── portion_reference.json   # 儿童单次食用量
│       ├── glossary.json           # 童肾高频术语词典
│       └── faq.json                # 家长高频问题库
├── tests/test_engine.py            # 确定性引擎冒烟测试
├── scripts/_smoke_stdio.py         # 真实 stdio(JSON-RPC) 冒烟测试
└── docs/

测试

python tests/test_engine.py          # 确定性引擎测试(8 项全过)
python scripts/_smoke_stdio.py       # 真实 stdio 传输冒烟测试

免责声明

本服务仅用于家长科普与日常咨询辅助,所有结论须以主管医生、营养师的个体化处方为准。
涉及用药、急诊、透析通路等问题,请直接联系医疗团队,本工具不提供医疗决策。

相关 MCP 服务