Connections / Agents and editors
Custom connection and Marrow Health
Not in the list? Any MCP client, any URL that takes a POST, or a plain file. In Marrow this is Custom connection, at the end of the Export tab.
Open in Marrow works on an iPhone with Marrow 1.4.2 or later.
Which way?
- Cloud MCP if you want answers any time with nothing to run. Part of Marrow Pro.
- Local MCP if the computer running it shares your phone's Wi-Fi or tailnet. Free, and it answers while Marrow is open.
- Server MCP if you keep a small server running. Free, and it answers any time.
Cloud MCP Local MCP Server MCP Automated: Any URL Manual: Spreadsheets and files
Cloud MCP (Any MCP client) Pro
A private copy of your data on Marrow's server. Your AI reads it any time, phone asleep, and every sign-in is approved on your phone. You need: A client that takes a URL and a bearer header, or signs in with OAuth.
- In Marrow, open Export and tap Custom connection. Pick Cloud MCP.
- Turn Cloud MCP on (Marrow Pro) and add Custom connection to Your connections. Marrow shows your link.
- Paste the JSON below, or the URL and bearer header, into your client's MCP settings.
{ "mcpServers": { "marrow": { "type": "http", "url": "https://connect.marrowhealthapp.com/t/<your-id>/mcp" } } } - Type the code the page shows into Marrow and approve.
- Ask: How am I doing today?
Placeholder shown: Marrow fills in your own link.
Local MCP (Any MCP client) Free
A server on your iPhone. It answers while Marrow is open, to apps on the same Wi-Fi or tailnet. Nothing leaves your network. You need: A client that takes a URL and a bearer header, or signs in with OAuth.
- In Marrow, open Export and tap Custom connection. Pick Local MCP.
- Turn Local MCP on and add Custom connection to Your connections. Marrow shows the address and a token made for this connection.
- Paste the JSON below, or the URL and bearer header, into your client's MCP settings.
{ "mcpServers": { "marrow": { "type": "http", "url": "http://<phone-ip>:21212/mcp", "headers": { "Authorization": "Bearer <token>" } } } } - Ask: How am I doing today?
Placeholders shown: Marrow fills in your phone's address and the token.
Server MCP (Any MCP client) Free
Marrow's open-source server on a computer you keep on (a Pi, a NAS, an old laptop). The phone keeps it current and it answers any time. You need: A client that takes a URL and a bearer header, or signs in with OAuth.
- Run Marrow's server on a computer you keep on and pair it with the app (how).
- In Marrow, open Export, tap Custom connection and pick Server MCP. Add it to Your connections. Marrow shows the server's address. The token is the mcp token your server printed when it started.
- Paste the JSON below, or the URL and bearer header, into your client's MCP settings.
{ "mcpServers": { "marrow": { "type": "http", "url": "http://<server-ip>:8800/mcp", "headers": { "Authorization": "Bearer <token>" } } } } - Ask: How am I doing today?
Placeholders shown: Marrow fills in your server's address. The token is the one your server printed.
Automated (Any URL) Free
Marrow posts CSV or JSON to a URL on a schedule, with the app closed. You need: An HTTPS URL of yours that takes a POST.
- In Marrow, open Export and tap Custom connection. Turn Automated on.
- In Marrow: New Automation. Its page asks for:
- Address: Any HTTPS address that takes a POST. It looks like
https://api.example.com/marrow. - Headers: Add any header it needs, such as Authorization.
- Data and Cadence: the kind of data, JSON or CSV, and how often it runs.
- Run: Tap Run now to send a first payload.
- Address: Any HTTPS address that takes a POST. It looks like
Manual (Spreadsheets and files) Free
A CSV, JSON or GPX file, made when you ask for it. You need: Nothing.
- In Marrow, Manual: pick a range and a format, Create export, share.
What it can do
- Read. A daily brief scored against your own normal, your baselines, what changed this week, any metric day by day, workouts, lifts set by set, sleep stages and your food diary.
- Log. Your AI logs meals, water, weight, workouts, sleep, symptoms and mood when you ask, after you turn on Allow AI write for that way in Marrow. Every entry can be undone.
Try asking
- How am I doing today?
- What changed in my sleep this week compared with my normal?
- Chart my resting heart rate for the last 90 days.
- Log a turkey sandwich and an apple for lunch.
If it does not work
In your client or receiver
- Your client only takes a command (stdio). Run the address through mcp-remote:
npx -y mcp-remote <address> --allow-http --header "Authorization: Bearer <token>". A plain http address needs--allow-http. - It tries SSE. Marrow speaks Streamable HTTP only. Pick HTTP or Streamable HTTP in your client.
- Cloud MCP will not sign in. The client must support MCP's OAuth sign-in with dynamic client registration. If it only takes a header, use Local MCP or Server MCP with the token.
- Any URL: Run now fails. The address must be https and answer a POST with a 2xx status. The automations guide lists each message.
- Files: nowhere to put one. Manual hands each file to the share sheet. Save to Files keeps it on the phone or in iCloud Drive.
Cloud MCP checks
- The sign-in waits in Marrow. The sign-in page shows a 6-character code. Open Marrow, go to Export, type the code and tap Approve. A request expires after ten minutes and three wrong codes deny it. If that happens, start again from your AI.
- The page says the link did not match a Marrow. In Marrow, open your AI under Connections, tap Copy your link and paste the whole link.
- It worked, then stopped. When Cloud MCP is off, or Marrow Pro has ended, the copy is paused. Switching Cloud MCP off also signs every AI out. Turn it back on, switch this connection on in Your connections and sign in again from your AI.
- Approve stops at the limit. Each AI is one connection. Free keeps 1 connection on at a time. Marrow Pro keeps up to 10: AIs, servers and automations together. Turn one off in Your connections, then approve again.
- It reads but cannot log. Turn on Allow AI write for Cloud MCP in Marrow. An entry reaches the phone within seconds when notifications are allowed for Marrow, or the next time you open the app.
Local MCP checks
- Keep Marrow open. The phone's server answers only while Marrow is open in front. When you switch apps or lock the phone, iOS soon pauses it. Open Marrow again and it answers again.
- Same Wi-Fi or tailnet. The computer must be on the phone's Wi-Fi or tailnet, never cellular. Guest Wi-Fi often stops devices reaching each other. Over Tailscale, use the phone's tailnet address (it starts with 100.) in place of its Wi-Fi address, and check the Wi-Fi address again if your router hands out a new one.
- 401 Unauthorized. The token is wrong, or this connection is off in Marrow. Each connection has its own token, and turning one off locks that app out. Switch it on in Your connections, or copy the token again.
- Test from the computer. The curl line in the Local MCP guide shows whether the phone answers, and with which error.
Server MCP checks
- Reach the server first. From the computer running your AI, open
http://<server-ip>:8800/health. It answers without a token. If it does not, the server is not running or the address is wrong. Then try the curl test on the Server MCP page. - 401 from the server. Agents use the mcp token the server printed when it started. It is also in the
.mcp-tokenfile in the server's data folder. The phone's pairing token does not work for agents. - Old data, or Not delivering in Marrow. The phone cannot reach the server to push. Check the server is running and that its address in Marrow still works from the phone. For a server on your home network, Marrow needs Local Network access: Settings, Privacy and Security, Local Network.
- It reads but cannot log. Turn on Allow AI write for this server in Export, Your connections. Entries wait on the server and land when Marrow next opens or wakes.
Automated checks
- Test with Run now. The line under Run now says what happened. Any 2xx answer counts as delivered. Anything else shows as Server answered and the status code, or the network error.
- Check the Activity log. In the automation, More options, Activity log lists its last 30 runs with the result of each.
- Runs come late. iOS picks the moment for background runs, and a phone that stays locked sends when it is next unlocked. Since last run catches up on the next run that succeeds.
- A receiver on your home network. Marrow needs Local Network access to reach it (Settings, Privacy and Security, Local Network). Tap Run now once with Marrow open, so iOS can ask: in the background it refuses without asking.
- It will not switch on. Each automation that is on counts as a connection. Free keeps 1 connection on at a time. Marrow Pro keeps up to 10: AIs, servers and automations together.
Manual checks
- Nothing to share. Each section of Export, Manual makes its file for the range at the top. Pick a longer range if it says there is nothing in it.
More fixes in the guides: Cloud MCP, Local MCP, Server MCP, Automated, Manual.