连接 / 自动化
n8n 与 Marrow Health
本地 MCPServer MCP自动
两种接入方式:Marrow 按计划把你的数据发送到 n8n 的 webhook,或者由 n8n 的 AI 智能体通过 MCP Client Tool 节点实时读取。
“在 Marrow 中打开”需要 iPhone 上安装 Marrow 1.5 或更高版本。
选哪种方式?
- 如果运行它的电脑与你的手机处于同一个 Wi-Fi 或 tailnet,就用本地 MCP。免费,Marrow 打开期间它会响应。
- 如果你有一台一直开着的小服务器,就用 Server MCP。免费,随时都会响应。
自动:Webhook 节点 本地 MCP Server MCP
自动(Webhook 节点)免费
Marrow 按计划在应用关闭的状态下,把 CSV 或 JSON POST 到一个 URL。你需要:一个你自己运行或托管的 n8n。
- 在 Marrow 中打开“导出”,点按 n8n。开启“自动”。
- n8n:添加一个 Webhook 节点(POST),并复制它的 Production URL。
- 在 Marrow 中:新建自动化。它的页面会要求填写:
- 地址:Webhook 节点的 Production URL。Test URL 只在编辑器正在监听时才会响应。形如
https://n8n.example.com/webhook/…. - 标题:如果节点使用 Header Auth,请在这里添加同样的 Authorization 请求头。
- 数据和频率:数据类型、JSON 或 CSV,以及运行的频率。
- 运行:先在 n8n 里发布工作流(旧版本里是 Activate),这样 Production URL 才会响应。然后点按“立即运行”。
- 地址:Webhook 节点的 Production URL。Test URL 只在编辑器正在监听时才会响应。形如
本地 MCP(MCP Client Tool 节点)免费
你 iPhone 上的一台服务器。Marrow 打开期间,它会响应同一个 Wi-Fi 或 tailnet 中的应用。数据不会离开你的网络。你需要:你网络里自托管的 n8n 可以读取这部手机。n8n Cloud 需要你自己的服务器。
- 在 Marrow 中打开“导出”,点按 n8n,再选本地 MCP。
- 开启本地 MCP,并把 n8n 添加到“你的连接”。Marrow 会显示地址,以及专为这个连接生成的令牌。
- n8n:MCP Client Tool 节点,Server Transport 选 HTTP Streamable,Authentication 选 Bearer,填入下面的地址和令牌。
http://<phone-ip>:21212/mcp Token: <token>
这里显示的是占位符:Marrow 会填入你手机的地址和令牌。
Server MCP(MCP Client Tool 节点)免费
Marrow 的开源服务器,运行在一台你一直开着的电脑上(树莓派、NAS 或旧笔记本)。手机负责让它保持最新,它随时都能响应。你需要:你网络里自托管的 n8n 可以读取这部手机。n8n Cloud 需要你自己的服务器。
- 在一台一直开着的电脑上运行 Marrow 的服务器,并与应用配对 (怎么做).
- 在 Marrow 中打开“导出”,点按 n8n,选择 Server MCP,并把它添加到“你的连接”。Marrow 会显示服务器的地址。令牌就是你的服务器启动时打印出的 mcp 令牌。
- n8n:MCP Client Tool 节点,Server Transport 选 HTTP Streamable,Authentication 选 Bearer,填入下面的地址和令牌。
http://<server-ip>:8800/mcp Token: <token>
这里显示的是占位符:Marrow 会填入你服务器的地址。令牌是你的服务器打印出的那个。
它能做什么
- 读取。对照你自己日常水平评分的每日简报、你的基线、本周的变化、任意指标的逐日数据、训练、逐组的力量训练记录、睡眠阶段,以及你的饮食日记。
- 记录。在 Marrow 里为这种方式开启允许 AI 写入后,你的 AI 可以在你要求时记录餐食、饮水、体重、训练、睡眠、症状和心情。每条记录都可以撤销。
试着问问
- 我今天表现如何?
- 和我平时相比,我这周的睡眠有什么变化?
- 这个月我哪些动作的重量涨了?
- 午餐记一份火鸡三明治和一个苹果。
如果不起作用
在 n8n 中
- The requested webhook is not registered。这是该地址没有任何监听时 n8n 返回的 404。Production URL 只在工作流已发布时才会响应(较新的 n8n 叫 Publish,旧版本叫 Activate)。Test URL 只在点击 Listen for test event 之后响应,持续 120 秒,且只能调用一次。
- Test URL 还是 Production URL。把 Production URL 粘贴到 Marrow 里,也就是带
/webhook/的那个,而不是/webhook-test/。正式运行显示在工作流的 Executions 标签页里,而不是画布上。 - Server answered 403。Webhook 节点启用 Header Auth 后,缺少请求头或请求头不对都会得到 403。请在 Marrow 里添加同样的 Authorization 请求头,值也要相同。
- n8n 显示的 URL 以 localhost 开头。在反向代理后面时,请把
N8N_WEBHOOK_URL(旧版本里是WEBHOOK_URL)设为你的公网地址,这样 n8n 才会显示正确的地址。 - MCP Client Tool 节点连不上手机。n8n Cloud 运行在 n8n 的服务器上,所以连不到本地 MCP。你 Wi-Fi 或 tailnet 里自托管的 n8n 可以。如果用 n8n Cloud,请使用公网 HTTPS 地址上的 Server MCP。
- 范围太长会失败。webhook 默认最多接受 16 MB(
N8N_PAYLOAD_SIZE_MAX)。请选更短的范围或更少的指标。
本地 MCP 检查项
- 保持 Marrow 打开。手机上的服务器只有在 Marrow 位于前台时才会响应。切换应用或锁屏后,iOS 很快就会把它暂停。再次打开 Marrow,它就会重新响应。
- 同一个 Wi-Fi 或 tailnet。电脑必须与手机处于同一个 Wi-Fi 或 tailnet,不能用蜂窝网络。访客 Wi-Fi 往往会阻止设备互相访问。通过 Tailscale 时,请用手机的 tailnet 地址(以 100. 开头)代替它的 Wi-Fi 地址。如果路由器分配了新的地址,请重新检查 Wi-Fi 地址。
- 401 Unauthorized。令牌不对,或者这个连接在 Marrow 里是关闭的。每个连接都有自己的令牌,关闭某个连接就会把对应的应用挡在外面。请在“你的连接”里把它打开,或重新复制令牌。
- 在电脑上测试。本地 MCP 指南里的 curl 命令能显示手机有没有响应,以及报的是什么错误。
Server MCP 检查项
- 先确认能连上服务器。在运行你的 AI 的电脑上打开
http://<server-ip>:8800/health。它不需要令牌就会响应。如果没有响应,说明服务器没在运行,或者地址不对。然后试试 Server MCP 页面上的 curl 测试. - 服务器返回 401。智能体要使用服务器启动时打印出的 mcp 令牌。它也在服务器数据文件夹里的
.mcp-token文件中。手机的配对令牌对智能体不起作用。 - 数据是旧的,或者 Marrow 里显示“未能送达”。手机无法连上服务器进行推送。请检查服务器是否在运行,以及它在 Marrow 里的地址是否仍能从手机访问。如果服务器在你的家庭网络里,Marrow 需要“本地网络”访问权限:设置,隐私与安全性,本地网络。
- 能读取但不能记录。在“导出”,“你的连接”里为这台服务器开启“允许 AI 写入”。条目会在服务器上等待,等 Marrow 下次打开或被唤醒时送达。
“自动”检查项
- 用“立即运行”测试。“立即运行”下面那一行会说明发生了什么。任何 2xx 响应都算作已送达。其他情况会显示为 Server answered 加状态码,或显示网络错误。
- 查看活动记录。在该自动化的“更多选项”里,“活动记录”会列出最近 30 次运行及各自的结果。
- 运行延迟。后台运行的时机由 iOS 决定,整天锁屏的手机会在下次解锁时发送。“距离上次跑步”会在下一次成功的运行中补上。
- 接收端在你的家庭网络里。Marrow 需要“本地网络”访问权限才能连上它(设置,隐私与安全性,本地网络)。在 Marrow 打开的状态下点按一次“立即运行”,这样 iOS 才能询问你,因为在后台时它会不经询问直接拒绝。
- 开不起来。每个开启的自动化都算一个连接。免费版同时只能开启 1 个连接,Marrow Pro 最多 10 个,AI、服务器和自动化合计。
指南里有更多解决办法:本地 MCP、Server MCP、自动.