MCP-first
Every tool, in the open.
Heardo is an MCP server. Any AI app can work your list.
Two ways in.
Apps that sign in. ChatGPT, Claude and other OAuth clients add capture-app.graviti.inc/mcp as a connector, then sign in with the account on your phone, or type a code from Settings → MCP.
Tools that use a token. Claude Code, Codex, Gemini CLI and Cursor get one from Settings → MCP, with a ready-made snippet for each.
Every connection is read-only or read & write, your choice. Step by step: capture-app.graviti.inc/connect
17 tools.
What an app can see, and what it may change. Everything it writes takes the same path as a change made on the phone, and reaches the phone at its next sync.
What it can see
get_overviewOverviewStart here. The person's day at a glance: today's date and time zone, counts (open, overdue, due today, this week, done today), the overdue and due-today tasks, what's coming up in the next seven days, and every category.
list_tasksFind tasksList tasks with filters: category, open/completed, due window (overdue, today, tomorrow, next 7 days, a date range, undated), text search across titles, notes and subtasks, minimum priority, and how they were captured. Paged; every task includes its category, due date (in the person's time zone, with 'today' / 'in 3 days' / overdue), priority, notes, subtasks, and alarm (true when it rings as an alarm on the phone at the due time until acknowledged).
get_taskTask detailsEverything stored about one task, including its subtasks, whether it rings as an alarm (alarm), and, for a task captured by voice, the transcript of what was said and when (get_recording has the audio).
list_recordingsVoice recordingsThe person's voice recordings, newest first: when each was said, how long it was, the transcript, whether the audio is still kept, and the tasks it became. Filter by day or by words said. Paged. get_recording gives the audio.
get_recordingPlay a recordingThe audio of one voice recording, by its id or by a task captured by voice: a link to the original sound that plays in any browser until expires_at (give it to the person as a link), with the transcript and the tasks it became. include_audio also embeds the sound in the result, for an app or model that can use audio.
list_categoriesCategoriesEvery category (the app's worlds), Inbox first, with its colour and how many open, overdue, due-today and completed tasks it holds.
What it can change
create_taskAdd a taskAdd a task, optionally with a category, due date, priority, notes, a checklist of subtasks, and alarm: true to ring as an alarm on the phone at the due time until acknowledged, only when the person asks for an alarm. It appears on the person's phone at the next sync. For several tasks at once, use create_tasks.
create_tasksAdd several tasksAdd up to 50 tasks to one category in a single call, each with its own due date, priority, notes, checklist, repeat rule and alarm flag (ring as an alarm on the phone at the due time until acknowledged). Omit the category for the Inbox; with create_category_if_missing, a category that doesn't exist yet is made for them.
update_taskEdit a taskChange a task's title, notes, due date, priority, category, repeat rule or alarm (true: ring as an alarm on the phone at the due time until acknowledged; false: an ordinary reminder). Only the fields you pass change; pass null for notes or due to clear them.
complete_tasksComplete tasksMark one or more tasks done. Already-completed tasks are left as they are.
reopen_tasksReopen tasksMark one or more completed tasks as not done again.
delete_tasksDelete tasksdestructiveDelete one or more tasks. Confirm with the person first.
edit_subtaskEdit a checklist itemAdd, rename, check, uncheck or remove one subtask of a task.
create_categoryAdd a categoryAdd a category with an optional description and colour. The description says what belongs in it; voice captures are filed by it.
update_categoryEdit a categoryRename a category, change its description, or change its colour.
delete_categoryDelete a categorydestructiveDelete a category AND every task in it, open or done. The Inbox cannot be deleted. Always confirm with the person first, saying how many tasks go with it.
add_to_dictionaryAdd to DictionaryAdd names, places, jargon or acronyms to the person's Dictionary so Heardo spells them right when it transcribes what they say. Give each word as it should be spelled, optionally with what Heardo wrongly types for it. A word already there is not added twice: new misspellings are added to it, and it is switched back on if it was off.
A read-only connection doesn’t see the write tools at all. Deleting anything asks the app to confirm with you first.
Ready-made asks.
Prompts a client offers as shortcuts. In Claude Code they show up as /mcp__heardo__plan_my_day; chat apps put them beside the message box.
plan_my_dayWhat's overdue, what's due today, and a realistic order to do it in.weekly_reviewWhat got done, what slipped, and what the next seven days hold.tidy_inboxFile each Inbox task into the right category, with dates where obvious.add_from_textTurn notes, an email or a list into Heardo tasks.
The full reference.
Every argument, every default, every result shape. It is generated from the server itself, so it cannot be out of date.
Download the PDFGenerated from the server at commit 257a2a8 on 26 September 2026.