MCP Reference
agent_reminder_upsert
Create or Update Agent Reminder
Beschreibung
Schedules a follow-up prompt for yourself, or updates one you already scheduled. Use this whenever the right next step isn't "do it now" but "check back later" — e.g. you DM'd a user about a missed standup and want to re-check in 2 hours, or you asked a teammate for an estimate and want to escalate if it's still missing tomorrow.
Two modes, decided by whether id is set:
- Without id → create. prompt and due_at required.
Returns the new reminder's id (arem_…). Repeated calls
without id create new rows (not idempotent — use a stable
subject to dedupe yourself).
- With id → update. Only the fields you pass are changed.
Use this to:
- push the reminder out: pass id + a new due_at
- mark it handled: pass id + completed: true (idempotent)
- re-open: pass id + completed: false
- rewrite the prompt as the situation evolves.
Workflow: at session start, call agent_reminder_list_due
first to find what's due, do the work, then call this tool
with id + completed: true to clear it.
due_at accepts several formats — pick whichever is easiest:
- Relative offset (most convenient for "in X"): +30m,
+2h, +1d, +1w (units: s/m/h/d/w; minutes / hours /
days / weeks). No spaces.
- ISO 8601 datetime: 2026-05-07T10:00:00Z or
2026-05-07T12:00:00+02:00 (timezone offset preserved).
- Date only: 2026-05-07 (becomes 00:00 in your timezone).
- Space-separated: 2026-05-07 10:00 or
2026-05-07 10:00:00.
- Unix epoch seconds: 1746604800.
Negative offsets are rejected (reminders are always for the
future). Bad input returns an error that lists every accepted
format.
Use the same subject and tags conventions as the logbook
("task:ENG-123", ["standup-followup"]) — they make the
inbox filterable. Reminders auto-expire 14 days after creation
if not completed (they stop appearing in list_due), so don't
use this for long-horizon planning.
Scoped to (you, this account); other users can't see or update
your reminders. prompt ≤ 8 KB; subject ≤ 200 chars.
Example (create, relative): prompt: "Did @max submit
standup? If not, DM @lead.", due_at: "+2h",
subject: "standup:user_max:2026-05-07",
tags: ["standup-followup"].
Example (create, ISO): same prompt, due_at:
"2026-05-07T10:00:00Z".
Example (push out 1 day): id: "arem_abc123", due_at: "+1d".
Example (complete): id: "arem_abc123", completed: true.
Zugriff
Zugriffsprofil: gated. Module: none.
Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
account_id |
string | Ja | |
id |
string | Nein | Reminder prefix id (arem_…). Omit to create. |
prompt |
string | Nein | What you want yourself to do later. Required on create. ≤ 8 KB. |
due_at |
string | Nein | When the reminder becomes due. Required on create. Accepts relative offset ('+30m', '+2h', '+1d', '+1w'), ISO 8601 ('2026-05-07T10:00:00Z'), date-only ('2026-05-07'), space-separated ('2026-05-07 10:00'), or Unix epoch seconds. See tool description for full list. |
subject |
string / null | Nein | Optional stable identifier, e.g. 'task:ENG-123'. |
tags |
array | Nein | Optional short labels. |
completed |
boolean | Nein | true → mark handled (idempotent); false → re-open. |
Eingabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"account_id": {
"type": "string"
},
"id": {
"type": "string",
"description": "Reminder prefix id (arem_…). Omit to create."
},
"prompt": {
"type": "string",
"description": "What you want yourself to do later. Required on create. ≤ 8 KB."
},
"due_at": {
"type": "string",
"description": "When the reminder becomes due. Required on create. Accepts relative offset ('+30m', '+2h', '+1d', '+1w'), ISO 8601 ('2026-05-07T10:00:00Z'), date-only ('2026-05-07'), space-separated ('2026-05-07 10:00'), or Unix epoch seconds. See tool description for full list."
},
"subject": {
"type": [
"string",
"null"
],
"description": "Optional stable identifier, e.g. 'task:ENG-123'."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional short labels."
},
"completed": {
"type": "boolean",
"description": "true → mark handled (idempotent); false → re-open."
}
},
"required": [
"account_id"
],
"type": "object"
}
Ausgabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"reminder": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"prompt": {
"type": "string"
},
"subject": {
"type": [
"string",
"null"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"due_at": {
"type": "string"
},
"completed_at": {
"type": [
"string",
"null"
]
},
"created_at": {
"type": "string"
}
},
"required": [
"id",
"prompt",
"tags",
"due_at",
"created_at"
]
}
},
"required": [
"reminder"
],
"type": "object"
}