cairn
Self-hosted wellness OS. A coaching team reads your labs, lifting, running, food and sleep as one picture, suggests the one thing worth doing today, and makes the small calls with a one-tap Undo. PWA + REST + MCP. No scores, no nudges.
Install / Use
claude mcp add zilet -- npx -y github:zilet/cairnIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Data & AnalyticsSupported Platforms
Our assessment of cairn
cairn scores 84/100 on our quality scale, 454th of 604 Data & Analytics skills we index.
Its MCP Server is 28 KB long, well organised into 16 sections with 5 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 5 days ago, so cairn is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
cairn compared with similar skills
All 4 of these similar skills score higher than cairn; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| cairn (this skill)by zilet | 84 | 10 | 5d ago | MCP Server |
| headroomby headroomlabs-ai | 100 | 78.0k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 104.6k | 2d ago | MCP Server |
| Scraplingby D4Vinci | 100 | 90.0k | today | MCP Server |
| crawl4aiby unclecode | 100 | 86.4k | 1d ago | MCP Server |
Frequently asked questions
- How do I install cairn?
- Run
claude mcp add zilet -- npx -y github:zilet/cairn. The install tabs above show the steps for each supported agent. - Which AI agents does cairn work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is cairn safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is cairn still maintained?
- The repository was last updated 5 days ago, so cairn is actively maintained.
Skill content
View source on GitHubCairn — a self-hosted wellness OS
A coach that has already read your whole day, and has one honest thing to say.
Cairn reads your lifting, running, food, sleep, labs and life as one picture. It opens to a calm read of today: rest, easy or train, with the reasons shown. A team of specialists works quietly behind it, makes the small calls, and gives you a one-tap Undo for each one. It runs on your own hardware, keeps everything in a SQLite file you own, and never scores you or nags you.
<p align="center"> <img src="media/v2/cairn-hero.gif" alt="Cairn 2.0: the Brief reads the day, the team makes a change you can undo, and a meal typed in plain words comes back as an editable card" width="270"> <br> <sub>The Brief → a team change with Undo → food in your words · <a href="media/v2/cairn-v2-trailer.mp4">watch the full 2.0 trailer</a> · fictional demo data only</sub> </p> <p align="center"> <a href="https://codespaces.new/zilet/cairn"><img src="https://github.com/codespaces/badge.svg" height="30" alt="Open in GitHub Codespaces"></a> </p>Want to look before you install? One click runs a real Cairn, preloaded with fictional demo data, in your browser. Nothing touches your machine. More cloud options:
docs/SANDBOX.md.
Deploy
Run your own Cairn, on your own account or hardware. One command, two choices:
curl -fsSL https://cairn.fit/install | sh
It asks where Cairn should live:
- In the cloud on Railway (about $5/month on the Hobby plan; check current pricing; nothing to keep running). It signs you in to Railway, creates the project with its volume and a generated token, deploys, and opens Cairn.
- On this computer or server (free, private, needs to stay on): a Mac, a home box, a Raspberry Pi or a VPS, with Docker or Podman and nightly updates that roll back on their own.
Either way, the installer opens Cairn already signed in; pair your phone from Settings → Devices →
Pair a device (a one-time code); your access token is your recovery key. Then connect your own AI
subscription (Claude, ChatGPT, Google or Grok) in Settings → Agents. Details:
docs/HOSTING.md (both choices side by side) and
docs/INSTALL.md (every option).
No terminal? Deploy the Railway template from the browser instead:
<p> <a href="https://cairn.fit/railway"><img src="https://railway.com/button.svg" height="32" alt="Deploy on Railway"></a> </p>What the button sets up, step by step:
docs/HOSTING.md.
Already run Docker? The Quickstart below is one docker run, unchanged.
Cairn 2.0: from a read to a team
Version 1 learned to read you. It turned years of lifts, a watch's worth of nights and a folder of bloodwork into one quiet sentence each morning.
Version 2 is about what happens next. The read now has a team behind it, and the team acts:
- A strength step you earned lands on its own. It comes with the reason and an Undo.
- A race build is sized to the weeks you actually ran, not to a template.
- A meal you typed in plain words comes back as a card you can correct.
- A flagged lab follows you into the doctor's office in clinical order.
The app also got simpler. Eight tabs became five homes: Today, Train, Horizon, Ask and You. It has a new design (Atelier v2), its own type, and a cairn of six stones that is the whole of you at a glance.
The rules didn't change, and they never will. There are no scores and no streaks. Nothing is pushed at you. Every read is a suggestion; you drive. Anything clinical still waits for you to say yes.
<table> <tr> <td width="50%" valign="top" align="center"><img src="media/v2/clips/brief.gif" alt="Today: the Brief" width="250"></td> <td width="50%" valign="top"><br><h3>It reads your day.</h3> Today opens on an answer, not a dashboard. <b>Rest, easy or train</b>, in one sentence, with the evidence a tap away. That evidence is last night's sleep, your HRV against <i>your own</i> band, the load you carried this week, and the knee you mentioned on Tuesday. When the answer is easy, it offers easy things that still count. When you want to train anyway, the button says so. <br><br><sub>A suggestion, never a gate. A missing night says nothing, never "bad".</sub></td> </tr> <tr> <td valign="top"><br><h3>The team decides. You can Undo.</h3> Strength, endurance, nutrition, physio and an informational health seat each watch their part of you. When the evidence is clear, a bounded change (the next load step, an eased calorie target) <b>just lands</b>, with its why written in plain words. Every change sits in one <b>Changes</b> feed, labelled by the server with exactly what Undo restores. Anything clinical, irreversible or goal-changing still asks first. <br><br><sub>Autonomy is server policy, not model discretion. Every decision is recorded with a falsifiable expectation.</sub></td> <td valign="top" align="center"><img src="media/v2/clips/changes.gif" alt="The Changes feed with Undo" width="250"></td> </tr> <tr> <td valign="top" align="center"><img src="media/v2/clips/fuel.gif" alt="Fuel: an editable meal card and ideas from your staples" width="250"></td> <td valign="top"><br><h3>Food, in your words.</h3> "Salmon rice bowl, about 140 g of fish." One composer, shared by Fuel and chat, turns a line per food (or a photo of the plate) into a meal card you can correct row by row. <b>Ideas</b> come from your own staples, one meal at a time, and nothing counts as eaten until you log it. A thin logging day reads as absent, never as "low". <br><br><sub>Adaptive nutrition that never blames you. <code>change: false</code> is the common answer.</sub></td> </tr> <tr> <td valign="top"><br><h3>A race build sized to you.</h3> Name a half marathon and Horizon draws the road to it week by week, from the run engine's own next steps. <b>The best week you've already run safely sets the floor, and the peak aims just past it.</b> A down week is recovery, not lost ground. A hard lifting day never voids a running week. The finish estimate is a fit word (<i>fits</i>, <i>stretch</i>, <i>beyond horizon</i>), never a grade. <br><br><sub>Kilometres or miles, your call. Strength-led athletes keep progressing all the way to race week.</sub></td> <td valign="top" align="center"><img src="media/v2/clips/race.gif" alt="The race build, week by week" width="250"></td> </tr> <tr> <td valign="top" align="center"><img src="media/v2/clips/cairn.gif" alt="You: the six-stone cairn" width="250"></td> <td valign="top"><br><h3>Six stones. One picture.</h3> <b>You</b> is a cairn: strength, endurance, fuel, recovery, body and heart, each with one word for where it stands right now. Tap a stone to see what it is made of and which of its neighbours it leans on. A ferritin that is still catching up quietly holds the running back. A heart stone "worth noting" points at the lab that says why. <br><br><sub>Words and your own baseline, never a 0–100.</sub></td> </tr> <tr> <td valign="top"><br><h3>Labs that travel.</h3> A flagged marker doesn't sit in a PDF. It <b>propagates</b> into the meals, the training and the watch, each with its why and a citation. Records are grouped in clinical order, with the lab's own flag kept apart from the optimal band. Before a visit, the <b>doctor packet</b> builds itself: findings, your questions, body composition, results by panel. Toggle sections, preview, hand it over. <br><br><sub>Informational, never medical advice. Anything clinical defers to a clinician.</sub></td> <td valign="top" align="center"><img src="media/v2/clips/records.gif" alt="Health and the doctor packet" width="250"></td> </tr> <tr> <td valign="top" align="center"><img src="media/v2/clips/horizon.gif" alt="Horizon: week, race and season on one line of time" width="250"></td> <td valign="top"><br><h3>One line of time.</h3> <b>Horizon</b> puts the week, the race and the season on the same line. The week shows every sport as a dose: the moved long run is still the long run, and Saturday's ride is the cross-training day. The season shows the goal line with its likely window, with lab draws and scans pinned where they happened. <br><br><sub>Every logged activity counts. No sport is ever dose zero.</sub></td> </tr> </table>What it is
- It reads your day. Today opens on a calm Brief: rest, easy or train, in plain language, with the reasoning shown. A suggestion, never a gate. You drive.
- A coaching team that acts, with Undo. Strength, endurance, nutrition, physio and an informational health seat each name the next step toward your milestones. Bounded, reversible changes land on their own, with the why and one tap to put them back. The rest asks. A quiet weekly team review waits until you want it.
- It connects your labs to your meals and your training. A flagged marker propagates into concrete nutrition, training and watch directives, each with its why and a citation. A doctor packet carries them to your next visit.
- Adaptive nutrition that never blames you. Expenditure comes from your real weight trend. A thin logging week lowers confidence instead of scolding.
- Lifting and running plans that evolve. Earned overloads, deloads only when the log calls for them, and a race build that starts from what you've already run safely. It adapts to the work you actually did, in every sport you log.
- It reads you against your own normal. Recovery is judged against your own habitual load and your own wearable baselines. A reading only speaks for the night it came from, so a hybrid athlete's running is never mistaken for permanent fatigue.
- Conditions you live with shape the plan, never gate it. Tell it about a painless structural condition (a spinal curve, a stiff ankle) and plans stay balanced and whole, with optional supportive work.
- Your lifts show up on your watch. Garmin sync is two-way. Sleep, HRV and activities come in. A finished strength session goes back out as that day's exercise sets, in Garmin's own exercise vocabulary.
- Agent-native. A full MCP server (300+ tools) ships alongside the PWA, so any MCP client can read and write everything Cairn knows. "What if I move the long run to Saturday?" shows the ripple across every stone before anything moves.
One Node service serves the PWA (/), the REST API (/api/*), the MCP server (/mcp), and a
background scheduler. Storage is SQLite via Node's built-in node:sqlite. The north star is
docs/VISION.md: calm, suggestion-never-gate, no scores, pull-never-push.
Screens
<table> <tr> <td width="25%" valign="top"><img src="media/v2/screens/today.png" alt="Today"><br><sub><b>Today.</b> The Brief as the page's voice, your path to the race, today's lift and fuel at a glance.</sub></td> <td width="25%" valign="top"><img src="media/v2/screens/session.png" alt="Session"><br><sub><b>Session.</b> Compact cards, with a dawn ring on the lift you're on.</sub></td> <td width="25%" valign="top"><img src="media/v2/screens/changes.png" alt="Changes"><br><sub><b>Changes.</b> What the team changed, why, and exactly what Undo restores.</sub></td> <td width="25%" valign="top"><img src="media/v2/screens/whatif.png" alt="What iTruncated for display — read the full file on GitHub.
Related Skills
headroom
78.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Agent-Reach
104.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Scrapling
90.0k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
crawl4ai
86.4kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key. Join our Discord https://discord.gg/VuxzM8mtf
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
