概览
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)。
1
确认 Mirobody 正在运行
本地
http://localhost:8080/mcp 应该返回 MCP JSON。可用以下命令验证:2
选择公网 URL 方案
方案 A —— 临时演示(隧道到笔记本):用得到的 HTTPS URL(如
https://abc123.ngrok.io)。方案 B —— 生产部署(自己的域名): 在反向代理(Caddy / nginx / 托管 LB)上做 TLS 终止,转发到你的 Mirobody 实例。3
设置 MCP_PUBLIC_URL
在 重启 Mirobody。公网 MCP 端点现在就是
config.yml 里加:https://abc123.ngrok.io/mcp。创建 ChatGPT App
MCP_PUBLIC_URL 配好、隧道/域名可达之后,去 ChatGPT 注册 App:
1
进入 ChatGPT Apps
打开 ChatGPT,进入 Apps 页面。你会看到已有的 App 以及新增入口。

2
启用开发者模式
点击”创建你自己的”或进入开发者模式,开始构建自定义 App。这会打开 App 创建界面,你可以在其中配置到 Mirobody 的连接。

3
填入 MCP 端点
在 App 配置里:
- App 名称:例如 “Mirobody”
- MCP 端点:你的
MCP_PUBLIC_URL加/mcp(如https://abc123.ngrok.io/mcp) - 描述(可选):简述这个 App 能做什么
- 测试连接:ChatGPT 会校验连通性并发现工具

4
OAuth 登录
首次调用时 ChatGPT 会跳转到 Mirobody 内置的 OAuth 登录页。登录一次即可,token 会被复用整个 ChatGPT 会话。
5
开始使用
连接好后,这个 ChatGPT 会话可以:
- 通过
family_health读取用户的健康记录(FHIRObservation) - 通过
list_files/read_file列出并读取用户上传的文件 - 通过
remember/recall_memory存储与检索长期记忆 - 调用你在
res/mcp_tools/中添加并重新构建的任何自定义工具
你的 ChatGPT App 已接入 Mirobody。
可用能力
接入后,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重新构建(参见 添加工具)