Check with me
Changes are held as proposals. You see the exact diff first. Nothing lands until you say yes.
There's no chatbot inside Evidential. The assistant you already use talks to it over MCP, a standard way for AI apps to use another app's tools. It can read your list and plan with you. Every change waits for your yes.
Your assistant asks. The gate decides what happens next.
Looking at your list never changes it, so reads go straight through.
A change stops at the gate. You see the exact diff, then say yes or no.
Deleting is off for assistants. It's refused, not queued.
Pick one. Watch the real tool calls. When it wants to change something, you decide.
Every write, from every assistant, goes through the same gate. You pick how strict it is.
Changes are held as proposals. You see the exact diff first. Nothing lands until you say yes.
Changes land right away. Each one is logged with who made it, and comes back with an undo token.
Not applied. Your list is untouched.
Activity: claude-code · tasks.reschedule
undoToken 9D1F6C3A-…
Assistants can't delete, in either mode. They're told to complete it or park it in Someday instead.
Any write can be sent with dry_run. It runs for real, shows the real diff, then changes nothing.
plan_propose never applies itself, not even in Go wild. Nobody reshuffles your day behind your back.
Agent access can be shut for every assistant at once, without touching their setup. It has no screen yet.
This is the whole list. Nothing hidden, nothing extra.
Your assistant asks one sharp question instead of reading your whole list.
One line sets the date, time, length, priority, list and section.
It knows if the day fits, by how much it doesn't, and what could move.
Showing all 38
tasks_queryread onlyFind tasks with the filter language, a view, or plain text.
tasks_getread onlyOne task in full: sub-tasks, blockers, comments, time tracked.
tasks_createidempotentAdd up to 50 tasks, each one line of quick add.
tasks_updateidempotentChange only the fields you name, on one task or many.
tasks_rescheduleidempotentMove the due date. The deadline stays put, and it warns you if the new date slips past it.
tasks_completeidempotentTick tasks off. Repeats roll forward, and it tells you what just got unblocked.
tasks_uncompleteidempotentPut a finished task back on the list.
tasks_deletedestructiveDelete tasks softly, with an undo token. Off for assistants by default.
tasks_expandidempotentBreak a task into sub-tasks, in order.
lists_listread onlyEvery list, with counts, colour and nesting.
lists_createidempotentMake a list. Work/Clients makes the parent too.
lists_updateidempotentRename, recolour, archive, favourite, or change the default view.
lists_deletedestructiveDelete a list. Its tasks go to the Inbox unless you say otherwise.
sections_listread onlyThe sections of a list, in order.
sections_createidempotentAdd a section to a list.
sections_updateidempotentRename a section or move it.
sections_deletedestructiveDelete a section. Its tasks stay in the list.
segments_listread onlyYour parts of the day, their hours, and which one it is now.
segments_createidempotentAdd a part to the day. It can run past midnight.
segments_updateidempotentRename, move, recolour, reorder or switch off a part.
segments_deletedestructiveDelete a part of the day. Its tasks stay.
filters_listread onlyYour saved filters and what they say.
filters_createidempotentSave a filter. It's checked before it's stored.
filters_deletedestructiveDelete a saved filter. Tasks stay untouched.
filters_validateread onlyCheck a filter without running it. Shows where it breaks.
plan_todayread onlyDoes the day fit? How far over it is, and what to cut.
plan_workloadread onlyPlanned time against your capacity, up to 60 days ahead.
plan_proposeidempotentSuggest a set of moves. Always a proposal, in both modes.
review_weeklyread onlyThe weekly review: done, overdue, undated, blocked, waiting.
review_rotread onlyWhat's gone stale, with a verdict: drop, decompose or someday.
stats_summaryread onlyWhat you finished by day and list, your peak hours, how good your estimates are.
activity_logread onlyEverything that changed since last time, so it can catch up.
capture_brain_dumpread onlyTurn messy notes into task ideas. Writes nothing.
proposals_listread onlyChanges waiting on you, with their diffs.
proposals_acceptidempotentApply a proposal, only after you've said yes.
proposals_declineidempotentTurn a proposal down and note why.
undodestructiveReverse a write with its undo token. Works even with deleting off.
settings_getread onlyYour working day, capacity, days off, and whether writes are gated.
Nothing matches that. Try "task" or "plan".
Read only never changes anything. Idempotent writes are safe to send twice. Destructive removes or overwrites something you'd miss.
Today you build the server from source with one command. There's no signed download yet.
In the Evidential folder, on a Mac with Xcode.
./MCP/build.sh --releaseEvery setup below expects it here.
sudo cp build/evidential /usr/local/bin/evidentialPick yours below. Then ask it about your day.
Pick your appRun this once in your terminal. --scope user makes it work in every project.
claude mcp add evidential --scope user -- /usr/local/bin/evidential mcpOne click: build the bundle, then open build/evidential.mcpb with Claude Desktop, or drag it onto Settings, Extensions.
./MCP/package.shOr by hand: merge this into ~/Library/Application Support/Claude/claude_desktop_config.json.
{
"mcpServers": {
"evidential": {
"command": "/usr/local/bin/evidential",
"args": ["mcp"]
}
}
}The bundle is signed just for the Mac that built it. It isn't ready to hand to other people yet.
Goes in ~/.cursor/mcp.json, or .cursor/mcp.json inside one project.
{
"mcpServers": {
"evidential": {
"command": "/usr/local/bin/evidential",
"args": ["mcp"]
}
}
}Goes in .vscode/mcp.json in your workspace.
{
"servers": {
"evidential": {
"type": "stdio",
"command": "/usr/local/bin/evidential",
"args": ["mcp"]
}
}
}Goes in Zed's settings.json, under context_servers.
{
"context_servers": {
"evidential": {
"source": "custom",
"command": "/usr/local/bin/evidential",
"args": ["mcp"],
"env": {}
}
}
}Goes in ~/.codeium/windsurf/mcp_config.json.
{
"mcpServers": {
"evidential": {
"command": "/usr/local/bin/evidential",
"args": ["mcp"]
}
}
}In Raycast: AI, then MCP Servers, then Add. Paste this.
{
"mcpServers": {
"evidential": {
"command": "/usr/local/bin/evidential",
"args": ["mcp"]
}
}
}Using something else, like Codex? Any app that can launch a local MCP server works. Point it at /usr/local/bin/evidential with the argument mcp.
The same binary is a command line. Anything an assistant can do, a script can do. Click a command to run it.
--yes skips the gate, because you typed it. --json gives the raw answer for scripts.
$ evidential today 3 tasks · about 2.8h of work. Draft the board deck (today) 3F9A2C11 ! Renew passport (yesterday) 8B1E44D0 × Book the venue (today) 51AA0F3E
Output shape matches the real CLI. Titles and ids are made up.
Every operation is described once, in one list inside the app's code. The server and the command line are built from it, so they can't drift apart.
Manifest.swift38 operations, each marked read only, idempotent or destructiveFor your assistant. All 38, plus live views.
For you and your scripts. Same 38, same gate.
For Siri and Shortcuts. A smaller set today, moving onto the same list.
Open a view, a task or quick add. Same addresses as the live views.
More than tools. The server does the rest of MCP too.
Live views like evidential://today and evidential://plan/today.
plan-my-day, weekly-review, brain-dump, what-can-i-finish-in.
Fills in your real list and filter names as it types.
Two tasks share a name? It asks you which one instead of guessing.
list_changedTells your assistant when something changed, so it doesn't reread everything.
Straight status, so nothing here is a promise dressed up as a feature.
Early access is open to anyone who'll tell Adrian what's wrong with it. Not on the App Store yet.