claude-todo
claude-todo is an MCP server for managing a persistent SQLite-backed todo list through Claude Code.
List todos with filters for limit, order, date range, status, and importance.
Search todos by case-insensitive substring across slug and prompt.
Add todos with a unique kebab-case slug, prompt, optional date, and importance.
Update an existing todo’s prompt, date (or clear it), and importance; slugs cannot be changed.
Mark todos as done (idempotent) or permanently delete them.
Use natural date inputs like today, tomorrow, +3d, or ISO 8601 datetimes.
Todos persist across restarts and are safe for simultaneous Claude sessions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@claude-todo add a todo to review the auth PR tomorrow, high importance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
claude-todo
A lightweight MCP server that gives Claude Code a persistent todo list. Todos are stored in SQLite (built-in node:sqlite, WAL mode), so they survive restarts and are safe to use from several Claude sessions at once.
Requirements
Node.js >= 22.13
Related MCP server: Notion MCP Integration
Setup
npm installRegister it in .mcp.json (project) or ~/.claude/.mcp.json (user):
{
"mcpServers": {
"todo": {
"command": "node",
"args": ["/absolute/path/to/claude-todo/src/index.js"]
}
}
}Tools
Tool | Input | Output |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Actions return a one-line confirmation and don't echo the todo back. When todo_add or todo_update was given a date, a second line Date: <resolved> follows, since inputs like +3d or tomorrow 09:30 are resolved by the server.
todo_list and todo_search return Markdown. Each todo is a section with the checkbox and slug in the heading, one meta item per line, then the prompt as the body:
# Todos (2 open, 3 total)
## [ ] iiot-examen-pratique-1
Importance: high
Date: 2026-09-28 08:10
Study chapters 3-5.
Redo the Modbus lab.
## [ ] write-docs
Importance: medium
Date: 2026-10-01
Write the README.
## [x] old-task
Importance: low
Date: none
Old thing[ ]open,[x]done.DateisYYYY-MM-DDfor all-day todos, localYYYY-MM-DD HH:MMfor timed ones, ornone.The heading counts cover everything matched;
, showing Nis appended whenlimitcut the results.
Errors return isError: true with Error <CODE>: <message>, where CODE is one of NOT_FOUND, SLUG_EXISTS, INVALID_DATE, INVALID_INPUT.
Behavior
Preview:
todo_previewis the cheap look-ahead. It prints one line per dated todo (- [ ] slug — date, importance — first line of the prompt, cut at 80 chars) and never the body.todayandweekinclude overdue todos;tomorrowandnext_week(next Monday–Sunday) are exact windows;upcomingis everything dated and not yet due.Ordering: by date (undated last), then importance (high first), then creation time.
Ranges:
day= due today or earlier,week= due by the end of this week (Monday–Sunday) or earlier. Overdue todos are always included; undated todos only appear withany.Dates: input without a timezone is taken in the local machine timezone.
All-day:
today,tomorrow,YYYY-MM-DDTimed:
HH:MM[:SS](today),today 14:00,tomorrow 09:30,YYYY-MM-DD HH:MM[:SS],YYYY-MM-DDTHH:MM[:SS]Relative:
+30m,+2h,+1d,+1wISO 8601 with
Zor an offset keeps its own zone; it is stored converted to local time.
Slugs: unique among open todos. Adding a slug that belongs to a done todo replaces it. Slugs cannot be changed after creation.
Updates: only the fields passed change. Done todos can be updated too and stay done.
Search: case-insensitive substring match on slug and prompt.
Configuration
Var | Default | Meaning |
|
| Directory holding |
Available Tools
6 toolstodo_addA
Create a todo. Fails with SLUG_EXISTS if an open todo already uses the slug; a done todo with the same slug is replaced.
Inputs: slug (required), prompt (required), date, importance.
todo_deleteBDestructive
Permanently delete a todo, open or done.
Inputs: slug (required).
todo_doneAIdempotent
Mark a todo as done. Calling it on an already-done todo is a no-op and reports already_done: true.
Inputs: slug (required).
todo_listBRead-only
List todos ordered by date (undated last), then by importance (high first).
Inputs: limit, order, range, status, +1 more.
todo_searchCRead-only
Case-insensitive substring search over todo slugs and prompts.
Inputs: query (required), limit, status.
todo_updateA
Update an existing todo, open or done. Only the fields you pass change. The slug cannot be changed.
Inputs: slug (required), date, prompt, importance.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct operation (list, search, add, delete, update, done) with no meaningful overlap; an agent can pick the right one unambiguously.
All names follow a consistent todo_ prefix with a short verb suffix, forming a predictable pattern throughout. The only slight quirk is todo_done being a state rather than a verb, but the convention is uniform.
Six tools is well-scoped for a todo manager, covering the core lifecycle without redundancy or bloat.
CRUD plus search and completion are covered, but there is no explicit reopen/un-done operation or single-item get, leaving a minor gap agents must work around.
Related MCP Connectors
Notes, tasks, habits, journal and 6 more tools Claude can read and change, with undo. Free.
Simple, fast todo app: manage tasks, projects and tags from Claude and other MCP clients.
AI-powered to-do list: add, list, complete and organise tasks across lists from any assistant.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Claude to manage todo lists with full CRUD operations including creating, listing, toggling completion status, deleting, and searching todos. Uses SQLite database with Prisma ORM for reliable data persistence and includes optional due date functionality.1-
- AlicenseNot gradedqualityDmaintenanceEnables Claude to manage a personal todo list in Notion, with capabilities to add, view, and complete tasks.9MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to manage Todoist tasks and projects, including creating, listing, updating, completing tasks, and managing projects with natural language.51 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables users to manage a personal todo list with CRUD operations, keyword search, and local SQLite storage. Designed for AI agent productivity tools.MIT