Your own AI, on your own weekly log
life speaks the Model Context Protocol, so Claude, ChatGPT, Cursor, VS Code or Gemini can read the weeks you've written, the goals you set and the map you're living them against — behind the Google sign-in you already use. There is no API key to paste, and therefore none to leak. Your model, your tokens, your bill.
https://life.rasoi.io/mcp
That is the whole configuration. No key, no header, no client id — life registers your client itself the first time it asks.
What it can read, and what it can write
You approve this on one screen, on life, when you connect. Reading is the default and every write is a box you tick yourself — and anything that deletes still describes what it is about to remove and waits for you to say yes, every time.
| Permission | Name | |
|---|---|---|
| See your weekly log The weeks you've written — how each one went, what you counted, and what you didn't get to. | life:weeks.read | Read |
| See your goals What you're working towards this year, how far along each one is, and the notes you've kept beside them. | life:goals.read | Read |
| See your life map The chapter you're in, the stages you've planned, and the things you've already done. | life:map.read | Read |
| See how your account is set up Your pillars, the habits a week records, your reflection prompts, and how much you've logged. | life:account.read | Read |
| See your day The block you're in, and anything from the calendars and task lists you've linked. It can never change them. | life:today.read | Read |
| Write and edit your weeks Record a week, tick a habit, correct one you already wrote. Deleting a week asks you first. | life:weeks.write | Write |
| Add and change goals Set a goal, move its number along, write a note beside it. Deleting asks you first. | life:goals.write | Write |
| Change your life map Start a chapter, plan a stage, record something you did. Deleting asks you first. | life:map.write | Write |
| Change which year you're looking at The year the app opens on, and nothing else. It cannot touch your pillars, your habits, your linked accounts or your reminders. | life:account.write | Write |
- read or write your linked calendars, Todoist or Google Tasks — it can see what today's events say, and nothing else about those accounts
- write a letter to your future self, or send anything to your inbox
- post on the requests board, or say anything under your name
- export your log in one call, import over it, or delete your account
Setting it up
Six clients, and the steps for all of them are on this page. Vendors move their connector menus about; if a step isn't where this says, check their own documentation.
Claude — web and desktop
Free, Pro, Max, Team and Enterprise accounts can all add one, though a free account is limited to a single connector. On a Team or Enterprise workspace an owner adds it once and everyone else presses Connect.
- In Settings → Connectors, choose Add custom connector. The button above goes straight to that screen.
- Paste the address. There is no key, no header and no client id to fill in — life registers your client itself.
- Press Connect. A browser window opens on life's ordinary Google sign-in. Use the account you use for the app.
- Approve what it may do. Reading your weekly log is already ticked; adding and changing things is not.
- Ask it something: “Read this year back to me — what kept happening?”
There is no add a connector screen on the phone, and that is fine: connections belong to your account rather than to a device, so one set up on a computer is already there when you pick your phone back up. Switch life on from the tools menu in the chat.
ChatGPT
Custom connectors are on Plus, Pro, Business, Enterprise and Edu, and they sit behind developer mode; on a managed workspace an admin has to allow them first. Which plans qualify, and whether a connector may do more than read, changes often — if the option isn't where this says, check OpenAI's own connector documentation.
- Open Settings → Apps → Advanced settings and switch on Developer mode.
- Open Settings → Connectors and choose Create.
- Name it
life, and paste the address above as the MCP server URL. - Connect, and approve in the browser window it opens.
- Switch life on for the conversation from the apps menu.
Cursor
- Press the button. Cursor opens on its MCP settings with life and this address already filled in — confirm to add it.
- Cursor then asks you to sign in to life. That opens a browser on the ordinary Google sign-in and the approval.
- By hand instead:
Settings → MCP → Add custom MCP, and give it this:{ "mcpServers": { "life": { "url": "https://life.rasoi.io/mcp" } } }
VS Code
Needs a recent VS Code, used in agent mode.
- Press the button. VS Code opens, asks you to confirm the server, and writes it into your user
mcp.json. - Start it when prompted. A browser opens for the Google sign-in and the approval.
- By hand instead, in
mcp.json:{ "servers": { "life": { "type": "http", "url": "https://life.rasoi.io/mcp" } } }
Claude Code
- Add the server:
claude mcp add --transport http life https://life.rasoi.io/mcp - Run
/mcpand pick life to authenticate. A browser opens for the sign-in and the approval. - Run
/mcpagain to check it took.
Gemini CLI
The Gemini CLI and Google's agent surfaces speak MCP. Support in the Gemini chat app is the least settled thing on this page — check Google's current documentation before assuming it works.
- Add the server:
gemini mcp add --transport http life https://life.rasoi.io/mcp - Start
geminiand authenticate. It opens a browser for the sign-in and the approval./mcp auth life - Or write it into
~/.gemini/settings.jsonyourself:{ "mcpServers": { "life": { "httpUrl": "https://life.rasoi.io/mcp" } } }
Taking it back
In life, Settings → AI connections. Every assistant you have connected is listed with what it may do and when it last did anything, and everything it has done is listed underneath — which action, on what, and whether it changed anything, with an Undo beside the ones that can be taken back. Disconnect ends it immediately: the tokens stop working on the next call rather than when they would have expired.
Nothing you write here trains anything, and an assistant connected this way reads what you can read and writes what you ticked, and nothing else.