Ready when your agent is.
One sentence connects Kept · your notes, tasks, and calendar · to any MCP-capable agent. Sign-in happens in your browser. Your agent never sees a password.
Fetch https://kept.do/agent-setup/prompt.md and follow its instructions to connect Kept (my notes, tasks, and calendar) to this agent over MCP.
Four calm steps
One sentence, on your clipboard. It points your agent at the published setup instructions · nothing hidden, nothing to install first.
Your agent fetches the instructions and walks the setup with you · a single MCP server entry, shown to you before it's added.
A browser opens; you type a 6-digit code from your inbox, then review the exact access your agent asked for before granting it. Your agent never sees a password and never approves for you · if you're new to Kept, that same step creates your account.
This is what makes your assistant reach for Kept without being asked. The connection already persists. This standing behavior does not, unless it lives in the agent's instructions. If your agent can edit files, it will offer to add the block itself. If it cannot, paste the block into its custom instructions, project instructions, or user preferences. To remove it, delete the same lines.
When you work with my Kept account:
- Every todo, follow-up, or commitment goes to kept_create_task. I have one list, and it lives in Kept.
- Meetings and dated events go to kept_create_event.
- Durable facts and preferences go to kept_remember.
- Before answering from guesses about my life or work, call kept_get_today and, for the topic, kept_recall.
- You are a guest in my memory. The full skill: https://kept.do/agent-setup/memory.mdYour agent, your way
Every path below is the same three lines your agent would follow · inspectable, standard config. The server is https://mcp.kept.do/mcp for all of them.
Claude Code
claude plugin marketplace add keptdo/skills
claude plugin install kept@keptThen, inside the session:
/reload-plugins --forceInstall, then activate it in the same conversation with /reload-plugins --force and sign in with /mcp. The --force matters: without it the reload stops with a warning and nothing loads. Inside a session you can run the whole thing as /plugin marketplace add keptdo/skills, /plugin install kept@kept, /reload-plugins --force, /mcp. Never add Kept with claude mcp add on top of the plugin · a directly-added server named kept shadows the plugin's own. Added it that way already? Run claude mcp remove kept first.
Claude (claude.ai or Claude Desktop)
https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Kept&connectorUrl=https%3A%2F%2Fmcp.kept.do%2FmcpAdding it by hand? The server URL:
https://mcp.kept.do/mcpOpen the install link and Claude opens Add custom connector with the name and URL already filled · you review it and confirm. Prefer the menu? Pro and Max: Settings → Customize → Connectors → + → Add custom connector. Team and Enterprise: only an Owner can add it, from Organization settings → Connectors.
ChatGPT
https://mcp.kept.do/mcpSettings → Security and login → enable Developer mode. Then Settings → Plugins → + → create a developer-mode app for the server URL. The + only appears once Developer mode is on. Pro, Plus, Business, Enterprise, and Education, on the web.
Codex
codex mcp add kept --url https://mcp.kept.do/mcp
codex mcp login keptCursor
In .cursor/mcp.json (or global ~/.cursor/mcp.json), add under "mcpServers":
"kept": { "url": "https://mcp.kept.do/mcp" }GitHub Copilot (VS Code)
In .vscode/mcp.json, add under "servers":
"kept": { "type": "http", "url": "https://mcp.kept.do/mcp" }Windsurf
In ~/.codeium/windsurf/mcp_config.json (note serverUrl), add under "mcpServers":
"kept": { "serverUrl": "https://mcp.kept.do/mcp" }OpenCode
In ~/.config/opencode/opencode.jsonc, add under "mcp":
"kept": { "type": "remote", "url": "https://mcp.kept.do/mcp", "enabled": true, "oauth": {} }Any other agent
https://mcp.kept.do/mcpPoint any MCP-capable client at the server URL: streamable HTTP, OAuth 2.1 with dynamic client registration. No pre-shared credentials.
Sixty-two tools, eight quiet families
Everything the Kept apps can do, your agent can do on your behalf · within the scopes you approve, with every call audited.
Say it once, it's filed · thoughts, errands, ideas land where they belong.
Create, complete, and reshape work · with subtasks and comments.
Keyword and semantic search, plus the knowledge graph · people, projects, decisions, threads.
Read the week, move events, send invites, answer RSVPs.
Check progress and log the next move on what matters most.
Mark the habits kept and see what's holding.
Remember the durable facts you'd rather not repeat.
Read today's plan, reshape it, and start tomorrow already sorted.
Built to be checked
A connection you can’t inspect or leave isn’t worth having. Here is exactly how this one works.
Dynamic client registration, proof-key exchange, audience-bound tokens. No pre-shared credentials, ever.
You enter your email and a one-time code on Kept's page · agents and config files never hold a password or API key.
Access tokens expire in one hour. Refresh tokens rotate on every use, and reuse is detected and revoked.
Scope-checked against exactly what you approved, rate-limited, and audited · a complete log of what was done.
Your agent asks for a specific set of permissions and you review that exact set before granting it · agents that ask for nothing specific get read-only, and you choose. No tool can delete anything; removals are reversible soft-archives.
Kept → Settings → AI Agents → Disconnect. Immediate, and it cascades to every token that agent holds.