marrow — MCP-сервер для Claude Code: доступ к данным Apple Health
Самодельный сервер, который держит копию данных Apple Health на вашей машине и отдаёт их агенту через MCP. Пригодится, если хочется спрашивать ИИ о своём сне и тренировках.
claude mcp add marrow -- uvx marrow-mcpЧто делает marrow
Сервер собирает зеркало данных из приложения Marrow в SQLite на вашем железе и отвечает агенту по протоколу MCP. В облако ничего не уходит: телефон отправляет данные прямо на вашу машину. Приложение Marrow бесплатное, для iOS, ведёт 178 серий — 172 типа Apple Health плюс дневник еды и журнал подходов в зале.
Сервер — один файл на Python со стандартной библиотекой. Запускается через pip install "marrow-mcp[qr]" и marrow-server --port 8800 --data ./data, из клона репозитория или через docker compose up -d. На первом запуске он печатает ссылку для спаривания и токен. Ссылку открывают на любом экране, в приложении идут в «Export, Server MCP, Pair with a server» и сканируют код. Дальше фоновые отправки держат зеркало свежим, даже когда приложение закрыто.
Спаривание по обычному http работает только в своих сетях: приватный или tailnet-адрес IPv4, имя .local или .ts.net, короткое имя в локальной сети. Для публичного адреса нужен https — флаг --url https://.... Без пакета [qr] страница спаривания покажет JSON вместо кода. Агент подключается по Streamable HTTP с bearer-токеном; для Claude есть готовая команда claude mcp add.
Какие задачи решает
- спросить агента, как менялся сон с началом утренних тренировок
- собрать сводку по дню из еды, воды, сна и нагрузок
- сравнить недавние дни с предыдущим периодом
- проверить, какие метрики давно не приходили с телефона
- получить историю подходов с оценкой 1RM по упражнениям
Примеры запросов агенту
- Покажи, что изменилось в моих данных за последние две недели
- Как прошла прошлая ночь и сколько я спал по стадиям?
- Собери сводку по дню: еда, вода, тренировка, настроение
Как установить marrow
Командой платформы
claude mcp add marrow -- uvx marrow-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from marrow-mcp <команда>
Командой платформы
codex mcp add marrow -- uvx marrow-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from marrow-mcp <команда>
Файл настроек
{
"mcpServers": {
"marrow": {
"command": "uvx",
"args": [
"marrow-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from marrow-mcp <команда>
Файл настроек
{
"servers": {
"marrow": {
"type": "stdio",
"command": "uvx",
"args": [
"marrow-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from marrow-mcp <команда>
Командой платформы
gemini mcp add marrow uvx marrow-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from marrow-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о marrow
Как установить marrow в Claude Code?
Выполните claude mcp add marrow -- uvx marrow-mcp.
Что делает marrow?
Держит зеркало ваших данных Apple Health в SQLite на вашей машине и отдаёт их агенту через MCP: тринадцать инструментов чтения по метрикам, сну, тренировкам, еде и симптомам.
Почему сервер не спаривается с телефоном по публичному адресу?
По обычному http приложение работает только в своих сетях — приватный или tailnet-адрес IPv4, имя .local или .ts.net, короткое имя в локальной сети. Для публичного адреса нужен https через --url https://....