2cd4b34347aa6c4f068bf7183d4ec13f1e25af4b
Todo
A todo CLI with a built-in MCP server. The main idea is that you can tell an MCP-compatible AI assistant "add this to todo" while you're in the middle of something else, and it just works.
Todos are stored in a local SQLite database and can be organized with priorities, tags, and automatic git project association.
Install
Requires Rust 1.85+ (edition 2024).
cargo install --path .
Configuration
Set TODO_DB to override the default database path (~/.local/share/todo/todos.db).
Usage
# add a todo
todo add "fix the login bug"
# add with priority and tags
todo add "refactor auth module" -p high -t backend -t tech-debt
# add without associating to the current git repo
todo add "something general" --no-project
# list open todos
todo ls
# list todos for the current repo only
todo ls --here
# filter by tag or priority
todo ls -t backend
todo ls -p critical
# search
todo ls -s "auth"
# mark as done
todo done 3
# edit text, priority, or tags
todo edit 3 "updated description"
todo edit 3 -p low
todo edit 3 -t new-tag --untag old-tag
# remove permanently
todo rm 3
# show all tags in use
todo tags
# clean up completed todos
todo purge
Claude Setup
Todo ships with an MCP server that lets Claude manage your todos. Add this to your Claude MCP config:
{
"mcpServers": {
"todo": {
"command": "todo",
"args": ["mcp-serve"]
}
}
}
This gives Claude access to all todo operations — adding, listing, completing, editing, removing, and purging.
Description
Languages
Rust
99.3%
Dockerfile
0.7%