Connexions / Automatisation
n8n et Marrow Health
Deux voies : Marrow envoie vos données à un webhook n8n selon un calendrier, ou un agent IA n8n les lit en direct via le nœud MCP Client Tool.
Ouvrir dans Marrow fonctionne sur un iPhone avec Marrow 1.5 ou plus récent.
Quelle voie ?
- MCP local si l’ordinateur qui l’utilise partage le Wi-Fi ou le tailnet de votre téléphone. Gratuit, et il répond tant que Marrow est ouvert.
- MCP serveur si vous gardez un petit serveur allumé. Gratuit, et il répond à tout moment.
Automatisé : nœud Webhook MCP local MCP serveur
Automatisé (nœud Webhook) Gratuit
Marrow envoie du CSV ou du JSON en POST vers une URL selon un calendrier, app fermée. Il vous faut : un n8n que vous faites tourner ou hébergez.
- Dans Marrow, ouvrez Exporter et touchez n8n. Activez Automatisé.
- n8n : ajoutez un nœud Webhook (POST) et copiez son URL de production.
- Dans Marrow : Nouvelle automatisation. Sa page demande :
- Adresse : la Production URL du nœud Webhook. La Test URL ne répond que pendant que l’éditeur écoute. Elle ressemble à
https://n8n.example.com/webhook/…. - En-têtes : si le nœud utilise Header Auth, ajoutez ici le même en-tête Authorization.
- Données et Cadence : le type de données, JSON ou CSV, et la fréquence d’exécution.
- Lancer : publiez d’abord le workflow dans n8n (Activate dans les anciennes versions), pour que la Production URL réponde. Puis touchez Lancer maintenant.
- Adresse : la Production URL du nœud Webhook. La Test URL ne répond que pendant que l’éditeur écoute. Elle ressemble à
MCP local (nœud MCP Client Tool) Gratuit
Un serveur sur votre iPhone. Il répond tant que Marrow est ouvert, aux apps du même Wi-Fi ou tailnet. Rien ne quitte votre réseau. Il vous faut : n8n autohébergé sur votre réseau pour lire ce téléphone. n8n Cloud demande votre propre serveur.
- Dans Marrow, ouvrez Exporter et touchez n8n. Choisissez MCP local.
- Activez le MCP local et ajoutez n8n à Vos connexions. Marrow affiche l’adresse et un jeton créé pour cette connexion.
- n8n : nœud MCP Client Tool, Server Transport HTTP Streamable, Authentication Bearer, avec l’adresse et le jeton ci-dessous.
http://<phone-ip>:21212/mcp Token: <token>
Valeurs d’exemple affichées : Marrow remplit l’adresse de votre téléphone et le jeton.
MCP serveur (nœud MCP Client Tool) Gratuit
Le serveur open source de Marrow sur un ordinateur que vous laissez allumé (un Pi, un NAS, un vieil ordinateur portable). Le téléphone le tient à jour et il répond à tout moment. Il vous faut : n8n autohébergé sur votre réseau pour lire ce téléphone. n8n Cloud demande votre propre serveur.
- Lancez le serveur de Marrow sur un ordinateur que vous laissez allumé et associez-le à l’app (comment faire).
- Dans Marrow, ouvrez Exporter, touchez n8n et choisissez MCP serveur. Ajoutez-le à Vos connexions. Marrow affiche l’adresse du serveur. Le jeton est le jeton mcp que votre serveur a affiché à son démarrage.
- n8n : nœud MCP Client Tool, Server Transport HTTP Streamable, Authentication Bearer, avec l’adresse et le jeton ci-dessous.
http://<server-ip>:8800/mcp Token: <token>
Valeurs d’exemple affichées : Marrow remplit l’adresse de votre serveur. Le jeton est celui que votre serveur a affiché.
Ce qu’il peut faire
- Lire. Un bilan du jour noté par rapport à votre normale, vos références, ce qui a changé cette semaine, n’importe quelle mesure jour par jour, les entraînements, les séries une par une, les phases de sommeil et votre journal alimentaire.
- Enregistrer. Votre IA enregistre repas, eau, poids, entraînements, sommeil, symptômes et humeur quand vous le demandez, après que vous avez activé Autoriser l’écriture par l’IA pour cette voie dans Marrow. Chaque entrée peut être annulée.
Essayez de demander
- Comment je m’en sors aujourd’hui ?
- Qu’est-ce qui a changé dans mon sommeil cette semaine par rapport à ma normale ?
- Lesquels de mes exercices ont progressé ce mois-ci ?
- Enregistre un sandwich à la dinde et une pomme pour le déjeuner.
Si ça ne marche pas
Dans n8n
- The requested webhook is not registered. C’est le 404 de n8n quand rien n’écoute à cette adresse. La Production URL ne répond que tant que le workflow est publié (n8n récent dit Publish là où les anciennes versions disent Activate). La Test URL ne répond qu’après Listen for test event, pendant 120 secondes et pour un seul appel.
- Test URL ou Production URL. Collez la Production URL dans Marrow, celle qui contient
/webhook/, pas/webhook-test/. Les exécutions en production s’affichent dans l’onglet Executions du workflow, pas sur le canevas. - Server answered 403. Avec Header Auth sur le nœud Webhook, un en-tête manquant ou faux reçoit un 403. Ajoutez le même en-tête Authorization dans Marrow, avec la même valeur.
- L’URL affichée par n8n commence par localhost. Derrière un reverse proxy, réglez
N8N_WEBHOOK_URL(WEBHOOK_URLsur les anciennes versions) sur votre adresse publique pour que n8n affiche la bonne. - Le nœud MCP Client Tool ne peut pas joindre le téléphone. n8n Cloud tourne sur les serveurs de n8n et ne peut donc pas joindre le MCP local. Un n8n autohébergé sur votre Wi-Fi ou tailnet le peut. Depuis n8n Cloud, utilisez le MCP serveur sur une adresse HTTPS publique.
- Une longue période échoue. Le webhook accepte jusqu’à 16 Mo par défaut (
N8N_PAYLOAD_SIZE_MAX). Choisissez une période plus courte ou moins de mesures.
Vérifications du MCP local
- Gardez Marrow ouvert. Le serveur du téléphone ne répond que tant que Marrow est ouvert au premier plan. Quand vous changez d’app ou verrouillez le téléphone, iOS le met vite en pause. Rouvrez Marrow et il répond de nouveau.
- Même Wi-Fi ou même tailnet. L’ordinateur doit être sur le Wi-Fi ou le tailnet du téléphone, jamais en cellulaire. Un Wi-Fi invité empêche souvent les appareils de se joindre. Avec Tailscale, utilisez l’adresse tailnet du téléphone (elle commence par 100.) à la place de son adresse Wi-Fi, et revérifiez l’adresse Wi-Fi si votre routeur en attribue une nouvelle.
- 401 Unauthorized. Le jeton est faux, ou cette connexion est désactivée dans Marrow. Chaque connexion a son propre jeton, et en désactiver une bloque l’accès de cette app. Activez-la dans Vos connexions, ou copiez de nouveau le jeton.
- Testez depuis l’ordinateur. La ligne curl du guide du MCP local montre si le téléphone répond, et avec quelle erreur.
Vérifications du MCP serveur
- Atteignez d’abord le serveur. Depuis l’ordinateur qui fait tourner votre IA, ouvrez
http://<server-ip>:8800/health. Il répond sans jeton. Sinon, le serveur ne tourne pas ou l’adresse est fausse. Essayez ensuite le test curl de la page du MCP serveur. - 401 du serveur. Les agents utilisent le jeton mcp que le serveur a affiché à son démarrage. Il se trouve aussi dans le fichier
.mcp-tokendu dossier de données du serveur. Le jeton de jumelage du téléphone ne marche pas pour les agents. - Anciennes données, ou Ne reçoit rien dans Marrow. Le téléphone ne peut pas joindre le serveur pour envoyer. Vérifiez que le serveur tourne et que son adresse dans Marrow fonctionne toujours depuis le téléphone. Pour un serveur sur votre réseau domestique, Marrow a besoin de l’accès au réseau local : Réglages, Confidentialité et sécurité, Réseau local.
- Il lit mais ne peut pas enregistrer. Activez Autoriser l’écriture par l’IA pour ce serveur dans Exporter, Vos connexions. Les entrées attendent sur le serveur et arrivent à la prochaine ouverture ou réveil de Marrow.
Vérifications d’Automatisé
- Testez avec Lancer maintenant. La ligne sous Lancer maintenant dit ce qui s’est passé. Toute réponse 2xx compte comme livrée. Tout le reste s’affiche comme Server answered suivi du code d’état, ou l’erreur réseau.
- Consultez l’Historique d’activité. Dans l’automatisation, Plus d’options, Historique d’activité liste ses 30 dernières exécutions avec le résultat de chacune.
- Les exécutions arrivent en retard. iOS choisit le moment des exécutions en arrière-plan, et un téléphone qui reste verrouillé envoie au prochain déverrouillage. Depuis la dernière exécution rattrape le retard à la prochaine exécution réussie.
- Un récepteur sur votre réseau domestique. Marrow a besoin de l’accès au réseau local pour l’atteindre (Réglages, Confidentialité et sécurité, Réseau local). Touchez Lancer maintenant une fois, Marrow ouvert, pour qu’iOS puisse poser la question : en arrière-plan, il refuse sans demander.
- Elle ne veut pas s’activer. Chaque automatisation activée compte comme une connexion. Gratuit garde 1 connexion active à la fois. Marrow Pro en garde jusqu’à 10 : IA, serveurs et automatisations ensemble.
Plus de solutions dans les guides : MCP local, MCP serveur, Automatisé.