연결 / 자동화
n8n과 Marrow Health
로컬 MCP서버 MCP자동
두 가지 방법이 있어요. Marrow가 일정에 따라 n8n 웹훅으로 데이터를 보내거나, n8n AI 에이전트가 MCP Client Tool 노드로 실시간으로 읽어요.
Marrow에서 열기는 Marrow 1.5 이상이 설치된 iPhone에서 작동해요.
어떤 방식이 좋을까요?
- 로컬 MCP는 실행하는 컴퓨터가 휴대폰과 같은 Wi-Fi나 tailnet에 있을 때 좋아요. 무료이고, Marrow가 열려 있는 동안 답해요.
- 서버 MCP는 작은 서버를 계속 켜 두는 경우에 좋아요. 무료이고, 언제든 답해요.
자동(Webhook 노드) 무료
Marrow가 앱이 닫혀 있어도 일정에 따라 CSV나 JSON을 URL로 POST해요. 필요한 것: 직접 운영하거나 호스팅하는 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가 휴대폰의 주소와 토큰을 채워 줘요.
서버 MCP(MCP Client Tool 노드) 무료
계속 켜 두는 컴퓨터(Pi, NAS, 오래된 노트북)에서 돌리는 Marrow의 오픈 소스 서버예요. 휴대폰이 최신 상태를 유지해 주고 언제든 답해요. 필요한 것: 내 네트워크의 셀프 호스팅 n8n이 이 휴대폰을 읽어요. n8n Cloud에는 내 서버가 필요해요.
- 계속 켜 두는 컴퓨터에서 Marrow의 서버를 실행하고 앱과 페어링하세요(방법).
- Marrow에서 내보내기를 열고 n8n을 탭한 다음 서버 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인가. Marrow에는
/webhook-test/가 아니라/webhook/이 들어 있는 Production URL을 붙여넣으세요. 프로덕션 실행은 캔버스가 아니라 워크플로의 Executions 탭에 표시돼요. - 서버 응답 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 주소의 서버 MCP를 쓰세요.
- 긴 범위는 실패해요. 웹훅은 기본적으로 최대 16 MB를 받아요(
N8N_PAYLOAD_SIZE_MAX). 더 짧은 범위나 더 적은 지표를 고르세요.
로컬 MCP 확인 사항
- Marrow를 열어 두세요. 휴대폰의 서버는 Marrow가 앞에 열려 있는 동안만 응답해요. 다른 앱으로 전환하거나 휴대폰을 잠그면 iOS가 곧 일시 중지해요. Marrow를 다시 열면 다시 응답해요.
- 같은 Wi-Fi 또는 tailnet. 컴퓨터는 휴대폰과 같은 Wi-Fi나 tailnet에 있어야 하고, 셀룰러로는 안 돼요. 게스트 Wi-Fi는 기기끼리 닿지 못하게 막는 경우가 많아요. Tailscale을 쓸 때는 Wi-Fi 주소 대신 휴대폰의 tailnet 주소(100.으로 시작해요)를 쓰고, 공유기가 새 주소를 주면 Wi-Fi 주소를 다시 확인하세요.
- 401 Unauthorized. 토큰이 틀렸거나 Marrow에서 이 연결이 꺼져 있어요. 연결마다 자기 토큰이 있고, 연결을 끄면 그 앱이 차단돼요. 내 연결에서 켜거나 토큰을 다시 복사하세요.
- 컴퓨터에서 테스트하세요. 로컬 MCP 가이드의 curl 줄을 실행하면 휴대폰이 응답하는지, 어떤 오류가 나는지 알 수 있어요.
서버 MCP 확인 사항
- 먼저 서버에 닿는지 확인하세요. AI를 실행하는 컴퓨터에서
http://<server-ip>:8800/health를 여세요. 토큰 없이 응답해요. 응답이 없다면 서버가 실행 중이 아니거나 주소가 틀린 거예요. 그런 다음 서버 MCP 페이지의 curl 테스트를 해 보세요. - 서버에서 401이 나와요. 에이전트는 서버가 시작될 때 출력한 mcp 토큰을 써요. 서버의 데이터 폴더에 있는
.mcp-token파일에도 있어요. 휴대폰의 페어링 토큰은 에이전트에서 작동하지 않아요. - 오래된 데이터이거나 Marrow에 전송 안 됨이라고 나와요. 휴대폰이 푸시하려는 서버에 닿지 못하고 있어요. 서버가 실행 중인지, Marrow에 있는 서버 주소가 휴대폰에서 여전히 작동하는지 확인하세요. 집 네트워크의 서버라면 Marrow에 로컬 네트워크 접근이 필요해요: 설정, 개인정보 보호 및 보안, 로컬 네트워크.
- 읽기만 되고 기록은 안 돼요. 내보내기, 내 연결에서 이 서버의 AI 쓰기 허용을 켜세요. 항목은 서버에서 기다리다가 Marrow가 다음에 열리거나 깨어날 때 반영돼요.
자동 확인 사항
- 지금 실행으로 테스트하세요. 지금 실행 아래 한 줄이 무슨 일이 있었는지 알려 줘요. 2xx 응답은 모두 전달된 것으로 계산돼요. 그 밖의 응답은 서버가 응답한 상태 코드나 네트워크 오류로 표시돼요.
- 활동 기록을 확인하세요. 자동화의 옵션 더 보기, 활동 기록에 최근 30번의 실행과 각 결과가 나와요.
- 실행이 늦어요. 백그라운드 실행 시점은 iOS가 정하고, 계속 잠겨 있는 휴대폰은 다음에 잠금을 풀 때 보내요. 마지막 실행 이후는 성공하는 다음 실행에서 따라잡아요.
- 집 네트워크의 수신기. Marrow가 닿으려면 로컬 네트워크 접근이 필요해요(설정, 개인정보 보호 및 보안, 로컬 네트워크). Marrow를 연 채로 지금 실행을 한 번 탭하면 iOS가 물어봐요. 백그라운드에서는 묻지 않고 거부해요.
- 켜지지 않아요. 켜진 자동화는 각각 연결 하나로 계산돼요. 무료는 한 번에 연결 1개, Marrow Pro는 최대 10개예요. AI, 서버, 자동화를 모두 합쳐서요.
가이드에서 더 많은 해결 방법: 로컬 MCP, 서버 MCP, 자동.