← 返回目录
M

Mirobody MCP Server

社区
AI 原生的健康数据引擎:采集、翻译、智能体推理。
GitHub 源仓库 ↗
★ 1.3k Stars 分类 · 其他 非常热门
54FMRS · D

Mirobody 是一个以 Apache-2.0 开源的 AI 原生健康数据引擎,把化验单、可穿戴与基因组数据统一为 LOINC 编码、UCUM 归一化、FHIR 友好的格式,并以 MCP 形式向 Claude Desktop、Cursor 或自建智能体提供智能体工具。它面向需要自托管、标准化健康数据的开发者与团队,并不适合只想用云端即开即用产品、或期望本地 GPU 推理的用户。使用时需注意健康数据的敏感性、照护圈共享授权、演示种子数据开关,以及文档内容会经托管模型提供方处理。

可靠性
9/20
安全与权限
11/20
维护活跃度
13/20
文档质量
12/20
安装易用性
9/20
查看 FMRS 评分方法 →

Mirobody 是一个 AI 原生的健康数据引擎,把化验单、可穿戴设备与基因组数据统一成 AI 可读的语言:LOINC 编码、UCUM 单位归一化、面向 FHIR。它分三个阶段工作:采集(3 个设备提供方、7 种文件格式、Apple Health 导入)、翻译(把任何读数解析为 LOINC · SNOMED CT · RxNorm 规范编码并归一化单位)、智能体(智能体通过虚拟文件系统阅读原始文档,并带图表与引用作答)。代码库内包含 440,961 个概念节点、22,044,110 条跨词表边、49,253 条多语言别名(中文 22,578 · 日语 16,809,以及德·西·法·韩·俄),并附带简体/繁体中文折叠表。解析器可离线运行,不需要密钥与网络;整个栈可通过 ./deploy.sh 自托管,并以 MCP 形式向 Claude Desktop、Cursor 或自建智能体提供每一项智能体工具(位于 /mcp,按用户授权)。项目以 Apache-2.0 许可开源,同时支撑面向消费者的健康产品 Theta Wellness。

安装接入

  1. 克隆仓库:git clone --depth 1 https://github.com/thetahealth/mirobody.git && cd mirobody
  2. 拉取大文件:git lfs install && git lfs pull(解析器所需的 LOINC 数据包)
  3. 运行 ./deploy.sh,启动 Postgres + pgvector、Redis、服务端与 worker,访问 http://localhost:18060
  4. 使用 [email protected]、验证码 111111 登录;如需自己的账号可调用 POST /password/register
  5. 在 .env 中填入一个托管模型 API 密钥(推荐 OPENROUTER_API_KEY,也可用 OpenAI、Anthropic、Google 或 DashScope),然后 docker compose restart;浏览种子数据无需密钥
  6. 在客户端(如 Claude Desktop、Cursor)中配置 MCP:所有智能体工具同时通过 /mcp 端点提供,按用户授权

选型与风险

适合谁

  • 需要把异构化验单与可穿戴数据标准化的开发者或医疗数据团队
  • 希望自托管、以 Apache-2.0 开源、面向 FHIR 的健康数据栈的团队
  • 把健康数据工具接入 MCP 客户端(如 Claude Desktop、Cursor)的用户
  • 需要在无网络、无密钥环境下做离线术语与单位解析的场景

不适合谁

  • 希望开箱即用、无需自托管部署的纯云端用户
  • 需要本地 GPU 推理的用户——本项目的推理依赖托管模型 API
  • 不适合把本项目当作官方医疗诊断或持牌临床决策系统使用
  • 不愿配置任何模型 API 密钥、但需要文档抽取与智能体问答的场景

所需权限

  • 读取用户上传或导入的健康文档与设备数据(化验单、可穿戴、基因组)
  • 访问用户健康记录,包括照护圈中他人共享的记录(按每行 health_access 字段授权)
  • 调用托管模型提供方 API(密钥放在 .env 的 OPENROUTER_API_KEY 等变量中)
  • 以 MCP 端点为客户端提供智能体工具,权限按用户授予

风险与副作用

  • 健康数据属于高度敏感的个人信息,自托管部署若被未授权访问会直接泄露病历
  • 照护圈共享:成员在被邀请后仍需自行在自己的行上开启 health_access,未校验该字段的路由应返回 403 而非交出记录
  • 演示默认开启 SEED_DEMO_DATA,用于存放真实数据前应设为 false,否则可能混入合成数据
  • 文档与照片会发送到所配置的托管模型提供方,仅扫描页会送至视觉模型,需评估数据出境与合规
  • 项目自称非本地 LLM,若误以为全部离线,可能在无网络环境下失败
  • 上游模型 API 密钥一旦写入 .env,需防止被提交或泄露

常见排障

  1. 解析结果为空或错误:运行 mirobody resolve "<术语>" 检查;类别型术语(如 血脂)会返回空而非猜测
  2. 同一名称在不同单位下返回不同 LOINC 编码:需同时传入数值与单位,使用 resolve_reading(name, value, unit)
  3. 启动失败:确认已执行 git lfs pull 以获得 LOINC 数据包,且 ./deploy.sh 已启动 Postgres、Redis、服务端与 worker
  4. 模型调用失败:检查 .env 中的密钥变量名是否与 config.llm.yaml 中的 api_key 一致,并 docker compose restart;shell export 不会传入容器
  5. 克隆体积过大:使用 --depth 1;如需提交 PR 则去掉该参数
  6. MCP 客户端未出现工具:确认部署可访问且工具端点 /mcp 已按用户授权,可参考 examples/07_claude_agent_sdk.py

使用场景

把化验单 PDF、图片、Excel、Word、PowerPoint 或文本解析为带数值与单位的指标读数
把多语言检验项目名称解析为 LOINC 编码,并把单位归一化为 UCUM
把 Apple Health 导出文件导入为统一格式的健康记录
让智能体在原始文档与传感器数据序列上推理,并给出图表与引用
在自托管部署中通过 MCP 把健康数据工具接入 Claude Desktop、Cursor 或自建智能体

支持客户端

Claude Desktop完整支持
Cursor完整支持