Read tasks, habits, events and scheduling links; create and update Reclaim tasks and habits.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add scheduled time to a task. Reclaim REST: POST /api/planner/add-time/task/{id}.
The task id.
Minutes of time to add to the task (→ query param minutes).
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Add scheduled time to a task. Reclaim REST: POST /api/planner/add-time/task/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id. |
| minutes* | integer | Minutes of time to add to the task (→ query param minutes). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"minutes"
],
"properties": {
"id": {
"type": "string",
"description": "The task id."
},
"minutes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Minutes of time to add to the task (→ query param minutes)."
}
}
}Create a new task. Reclaim schedules it into your calendar automatically. Reclaim REST: POST /api/tasks.
| Argument | Type | Description |
|---|---|---|
| due | string | Due date/time (ISO-8601 Zulu datetime, e.g. 2026-07-20T17:00:00.000Z). |
| notes | string | Freeform notes / description for the task. |
| title* | string | The task title. |
| priority | string | Task priority — P1 (highest) … P4 (lowest). |
| snoozeUntil | string | Do not schedule before this time (ISO-8601 Zulu datetime). |
| maxChunkSize | integer | Maximum contiguous block, in 15-minute chunks. |
| minChunkSize | integer | Minimum contiguous block, in 15-minute chunks. |
| eventCategory | string | Task category — WORK or PERSONAL (default WORK). |
| timeChunksRequired | integer | Total scheduled time as a number of 15-minute chunks, e.g. 4 = 1 hour. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title"
],
"properties": {
"due": {
"type": "string",
"description": "Due date/time (ISO-8601 Zulu datetime, e.g. 2026-07-20T17:00:00.000Z)."
},
"notes": {
"type": "string",
"description": "Freeform notes / description for the task."
},
"title": {
"type": "string",
"description": "The task title."
},
"priority": {
"enum": [
"P1",
"P2",
"P3",
"P4"
],
"type": "string",
"description": "Task priority — P1 (highest) … P4 (lowest)."
},
"snoozeUntil": {
"type": "string",
"description": "Do not schedule before this time (ISO-8601 Zulu datetime)."
},
"maxChunkSize": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Maximum contiguous block, in 15-minute chunks."
},
"minChunkSize": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Minimum contiguous block, in 15-minute chunks."
},
"eventCategory": {
"enum": [
"WORK",
"PERSONAL"
],
"type": "string",
"description": "Task category — WORK or PERSONAL (default WORK)."
},
"timeChunksRequired": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Total scheduled time as a number of 15-minute chunks, e.g. 4 = 1 hour."
}
}
}Permanently delete a task. Reclaim REST: DELETE /api/tasks/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id to delete. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The task id to delete."
}
}
}Get the authenticated Reclaim user's profile. Reclaim REST: GET /api/users/me.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Get a single daily habit by id. Reclaim REST: GET /api/assist/habits/daily/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The habit id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The habit id."
}
}
}Get a single task by id. Reclaim REST: GET /api/tasks/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The task id."
}
}
}List calendar events. Reclaim REST: GET /api/events. Optional start/end window.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the calendar events window (ISO date/datetime string → query param end). |
| start | string | Start of the calendar events window (ISO date/datetime string → query param start). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"end": {
"type": "string",
"description": "End of the calendar events window (ISO date/datetime string → query param end)."
},
"start": {
"type": "string",
"description": "Start of the calendar events window (ISO date/datetime string → query param start)."
}
}
}List the authenticated user's daily habits. Reclaim REST: GET /api/assist/habits/daily.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the authenticated user's tasks. Reclaim REST: GET /api/tasks.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Log completed work time against a task. Reclaim REST: POST /api/planner/log-work/task/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id. |
| end | string | End time of the logged work (ISO-8601 Zulu datetime → query param end). |
| minutes* | integer | Minutes of work to log (→ query param minutes). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"minutes"
],
"properties": {
"id": {
"type": "string",
"description": "The task id."
},
"end": {
"type": "string",
"description": "End time of the logged work (ISO-8601 Zulu datetime → query param end)."
},
"minutes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Minutes of work to log (→ query param minutes)."
}
}
}Mark a task as done in the planner. Reclaim REST: POST /api/planner/done/task/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id to mark complete. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The task id to mark complete."
}
}
}Reopen a completed task (unarchive) in the planner. Reclaim REST: POST /api/planner/unarchive/task/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id to mark incomplete. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The task id to mark incomplete."
}
}
}Start time-tracking on a task now. Reclaim REST: POST /api/planner/start/task/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id to start. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The task id to start."
}
}
}Stop time-tracking on a task. Reclaim REST: POST /api/planner/stop/task/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id to stop. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The task id to stop."
}
}
}Update fields on an existing task. Only provided fields are changed. Reclaim REST: PATCH /api/tasks/{id}.
| Argument | Type | Description |
|---|---|---|
| id* | string | The task id to update. |
| due | string | Due date/time (ISO-8601 Zulu datetime). |
| notes | string | Freeform notes / description for the task. |
| title | string | The task title. |
| priority | string | Task priority — P1 (highest) … P4 (lowest). |
| snoozeUntil | string | Do not schedule before this time (ISO-8601 Zulu datetime). |
| maxChunkSize | integer | Maximum contiguous block, in 15-minute chunks. |
| minChunkSize | integer | Minimum contiguous block, in 15-minute chunks. |
| eventCategory | string | Task category — WORK or PERSONAL (default WORK). |
| timeChunksRequired |
| integer |
| Total scheduled time as a number of 15-minute chunks, e.g. 4 = 1 hour. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The task id to update."
},
"due": {
"type": "string",
"description": "Due date/time (ISO-8601 Zulu datetime)."
},
"notes": {
"type": "string",
"description": "Freeform notes / description for the task."
},
"title": {
"type": "string",
"description": "The task title."
},
"priority": {
"enum": [
"P1",
"P2",
"P3",
"P4"
],
"type": "string",
"description": "Task priority — P1 (highest) … P4 (lowest)."
},
"snoozeUntil": {
"type": "string",
"description": "Do not schedule before this time (ISO-8601 Zulu datetime)."
},
"maxChunkSize": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Maximum contiguous block, in 15-minute chunks."
},
"minChunkSize": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Minimum contiguous block, in 15-minute chunks."
},
"eventCategory": {
"enum": [
"WORK",
"PERSONAL"
],
"type": "string",
"description": "Task category — WORK or PERSONAL (default WORK)."
},
"timeChunksRequired": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Total scheduled time as a number of 15-minute chunks, e.g. 4 = 1 hour."
}
}
}