概览
ChatGPT Apps 通过与外部 MCP 服务器对话来扩展 ChatGPT 的能力。Mirobody 开箱即是一个支持 OAuth 的 HTTP Remote MCP server —— 你需要做的,仅仅是把一个公网 HTTPS URL 指向你的 Mirobody 实例。工作原理
Mirobody 的 MCP 服务器是一个一等的 HTTP 服务。当你在配置里设置MCP_PUBLIC_URL 时,Mirobody 会把它作为其 /mcp 端点对外可达的 URL。ChatGPT(或任何远程 MCP 客户端)连过来后走 OAuth 验证,然后就可以开始调工具了。
前置要求
你需要一个能转发到 Mirobody 实例的公网 HTTPS URL。独立二进制监听HTTP_HOST:HTTP_PORT(默认 0.0.0.0:8080)。
选择公网 URL 方案
方案 A —— 临时演示(隧道到笔记本):用得到的 HTTPS URL(如
https://abc123.ngrok.io)。方案 B —— 生产部署(自己的域名): 在反向代理(Caddy / nginx / 托管 LB)上做 TLS 终止,转发到你的 Mirobody 实例。创建 ChatGPT App
MCP_PUBLIC_URL 配好、隧道/域名可达之后,去 ChatGPT 注册 App:
填入 MCP 端点
在 App 配置里:
- App 名称:例如 “Mirobody”
- MCP 端点:你的
MCP_PUBLIC_URL加/mcp(如https://abc123.ngrok.io/mcp) - 描述(可选):简述这个 App 能做什么
- 测试连接:ChatGPT 会校验连通性并发现工具

可用能力
接入后,ChatGPT 可以访问 Mirobody 的 内置 MCP 工具:健康记录
用户或已共享护理圈成员的近期 FHIR
Observation(family_health)上传文件
列出并读取上传文件,包括从图片和 PDF 中抽取的文本(
list_files、read_file)长期记忆
存储与检索关于用户的持久事实(
remember、recall_memory)图表
在聊天中渲染 Apache ECharts 可视化(
render_chart)自定义工具
你在
res/mcp_tools/ 中添加并重新构建的任何 C++ 工具对话标题
为当前对话设置一个简短标签(
summarize_conversation)示例用例
ChatGPT 能跨设备、病历和上传文件做整体合成。一些真实示例:简单查询
对于简单的问题,你可以问:进阶分析:糖尿病管理
Prompt: “总结我糖尿病的历史和近期进展。使用 Theta 从设备、记录和其他相关来源查找数据。”查看完整对话
完整的糖尿病分析对话
交互式图表
交互式血糖趋势可视化
进阶分析:疼痛模式识别
Prompt: “帮我理解膝盖疼痛的全貌和进展。使用所有相关数据并找到潜在驱动因素。如果有帮助的话,使用可视化说明。”查看完整分析
ChatGPT 如何用多源数据分析复杂的疼痛模式
安全注意事项
OAuth 是内置的。 任何对 MCP 端点的调用都必须先走完 Mirobody 的 OAuth 流程,所以即便 URL 泄露,没有合法会话也无法被使用。
故障排查
连接失败
- 验证隧道 / 域名可达:
curl -I https://<your-domain>/mcp - 确认 Mirobody 绑定的是
0.0.0.0:8080(或你配置的HTTP_PORT) - 确认
MCP_PUBLIC_URL与你填给 ChatGPT 的 URL 一致 - 改了配置之后重启 Mirobody —— 它只在启动时重新读取一次
工具不显示
- 直接用
tools/list调用/mcp,确认有工具返回 - 检查 Mirobody 启动日志里有没有工具加载错误
- 如果你添加了一个 C++ 工具,确认该文件位于
res/mcp_tools/下,并已用./build.sh重新构建(参见 添加工具)

