Plan with your AI over MCP
Kriyan runs a hosted MCP server. Connect it once and your assistant can read your day and week, capture tasks, and propose plans you accept in the app.
https://kriyan.app/mcpIt speaks streamable HTTP, protocol 2026-07-28, and the 2025 versions older clients use. There is nothing to install.
Connect
Claude and ChatGPT
Add a custom connector with the address above. When asked, sign in to Kriyan and allow access. The connector acts as you and only ever sees your own plan.
Claude Code
claude mcp add --transport http --scope user kriyan https://kriyan.app/mcpThen run /mcp in Claude Code and choose Kriyan to sign in.
Cursor
Add this to ~/.cursor/mcp.json, or to .cursor/mcp.json in one project.
{
"mcpServers": {
"kriyan": {
"url": "https://kriyan.app/mcp"
}
}
}VS Code
Add this to .vscode/mcp.json.
{
"servers": {
"kriyan": {
"type": "http",
"url": "https://kriyan.app/mcp"
}
}
}Use a personal access token
Clients that can't sign in, and your own scripts, can send a token instead. Create one in Kriyan under Settings, name it after where you'll use it, and send it as a bearer token. You can revoke it there at any time.
{
"mcpServers": {
"kriyan": {
"url": "https://kriyan.app/mcp",
"headers": {
"Authorization": "Bearer kriyan_..."
}
}
}
}claude mcp add --transport http --scope user kriyan https://kriyan.app/mcp --header "Authorization: Bearer kriyan_..."Keep tokens out of shared files and repositories: anyone with a token can read and change your plan.
How agents plan with you
- Agents read first. The server tells them to call
get_todayorget_weekbefore suggesting anything about your time. - Plans arrive as proposals.
propose_planputs blocks on Today and Upcoming with Accept and Discard, and names the agent. Nothing moves until you accept, unless you turn on “Let agents edit directly” in Settings. - Agents never guess how long something takes. A length is only set when you said one.
- Captured tasks use the same words as quick add, so an agent can pass your sentence as it is. See Quick add.
Tools
One tool for each operation of the agent API. Read tools are marked read-only, so clients can run them without asking.
| Tool | What it does |
|---|---|
get_today | Read the person's plan for a day (today by default): scheduled blocks, anytime tasks, done tasks, tasks left from earlier days, and habits. Read this before planning. Read-only. |
get_week | Read seven days starting on a date (Monday of this week by default): each day's blocks, deadlines and planned hours against capacity, plus the inbox and unscheduled tasks. Read-only. |
get_inbox | Read tasks captured without a date or a space. Read-only. |
get_space | Read one space: its next and later tasks, child spaces, goals, note and stats. Read-only. |
list_spaces | List every space as a tree, with ids, colours and paths like 'Work / Kriyan'. Read-only. |
get_progress | Read time done this week and this year, time by space, goals against pace and habits. Read-only. |
add_task | Add a task. Either pass `text` as one sentence the way a person types it ('essay fri 5pm #school every week remind 1h before') or pass the fields. Only the title is required. Never invent a length. |
update_task | Change fields of a task. Pass null to clear a field. Changing the date of a repeating task moves the whole series. |
complete_task | Tick a task off. A repeating task moves to its next date. |
reopen_task | Mark a finished task as not done. |
delete_task | Delete a task. The person can restore it from the app. |
move_tasks | Move tasks to a date, optionally at a time. Pass date null to unschedule. |
add_space | Add a space, optionally inside another one. Colour defaults to the parent's. |
update_space | Rename a space, change its colour or parent, or replace its Markdown note. |
add_habit | Add a habit with a weekly target (1 to 7 times a week). |
check_habit | Mark a habit done or not done on a day (today by default). |
add_goal | Add a goal: a number to reach (kind 'number', e.g. 100 km) or a count of linked tasks to finish (kind 'tasks'). |
update_goal | Update a goal's progress (`current`), target, unit or due date. |
propose_plan | Propose new time blocks. They appear in the app as proposals the person accepts or discards, so use this for plans rather than add_task. Each block is a new task with a date, a time and a length. |
Things to ask
- “What's on my plate today, and what's next?”
- “Does my week fit? Move what doesn't to next week.”
- “Plan time for the essay before Friday around my classes.”
- “Add: Mum's birthday 16 oct every year, remind day before at 20:00.”
If it doesn't connect
- 401 from the server: the sign-in expired or the token was revoked. Connect again, or create a new token in Settings.
- The client can't find sign-in: it reads
/.well-known/oauth-protected-resource/mcpto find Kriyan's sign-in server. Use a token if your client doesn't support MCP sign-in yet. - Opening the address in a browser brings you to this page. MCP clients connect with POST.