AI-Agent First TODO List Tracker with MCP and CLI interfaces
Project description
ai-todo
AI-native task management for coding agents
Simple, persistent, version-controlled TODO tracking that works naturally with AI agents like Cursor, Claude, and Copilot.
Quick Start
Add this to your project's .cursor/mcp.json:
{
"mcpServers": {
"ai-todo": {
"command": "uvx",
"args": ["ai-todo", "serve", "--root", "${workspaceFolder}"]
}
}
}
Then enable the server in Cursor Settings → MCP Servers → toggle ai-todo on.
That's it! Your AI agent can now manage tasks directly. No installation required.
Try it: Ask your agent to "create a task for implementing user authentication"
Why ai-todo?
AI agents track tasks internally, but this creates a closed system that gets lost after sessions end. ai-todo provides a permanent, version-controlled record in your Git repository.
- Persistent — Tasks survive across sessions, restarts, and time
- Version Controlled — Tracked in Git alongside your code
- AI-Native — MCP integration for direct agent interaction
- Human Readable — Plain Markdown in standard TODO.md format
- Zero Config — Works immediately, no setup required
- Instant & Local — No API calls, authentication, or rate limits
Installation Options
Option A: Zero-Install MCP (Recommended)
For AI agent integration via Cursor or similar IDEs. Uses uvx to run on-demand without permanent installation.
Project-specific setup (.cursor/mcp.json):
{
"mcpServers": {
"ai-todo": {
"command": "uvx",
"args": ["ai-todo", "serve", "--root", "${workspaceFolder}"]
}
}
}
Requires uv to be installed (curl -LsSf https://astral.sh/uv/install.sh | sh).
Option B: System Installation
For CLI usage or permanent MCP server setup. Requires Python 3.10+.
# Install globally (recommended)
uv tool install ai-todo
# Or with pipx
pipx install ai-todo
CLI Usage: ai-todo [command] (e.g., ai-todo add "My task", ai-todo list)
MCP Server: ai-todo serve (for Cursor integration)
For Humans
With ai-todo, you simply tell your AI agent what you want in plain English:
- "Create a task for implementing user authentication"
- "Break down the auth feature into subtasks"
- "Mark task 1 as complete"
- "Show me all tasks tagged with #bug"
- "Archive completed tasks"
- "Fix the issue from #123" — Reference GitHub Issues in tasks
Your agent handles the technical details. All tasks are stored in TODO.md in your repository.
See It In Action
This repository uses ai-todo for its own development! Check TODO.md to see:
- Task hierarchies with subtasks
- Tag-based organization (
#feature,#bug,#documentation) - Completion tracking and archiving
- Real development workflow in action
Documentation
- MCP Setup Guide — Detailed Cursor integration
- Migration Guide — Upgrading from v2.x shell script
- Getting Started — Complete setup walkthrough
- FAQ — Common questions answered
- Full Documentation — All guides and references
License
Apache License 2.0 — See LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_todo-3.0.2.tar.gz.
File metadata
- Download URL: ai_todo-3.0.2.tar.gz
- Upload date:
- Size: 54.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0860b9a6e5a45e383bcbd16debc4dffe98f11ae8682401009ffff4929cee2789
|
|
| MD5 |
9b42e53ab580db50ed05849630406bd8
|
|
| BLAKE2b-256 |
f10aafc40060ff23ca549a7d227386b301204fb2d74f3e0496759df2b664a344
|
Provenance
The following attestation bundles were made for ai_todo-3.0.2.tar.gz:
Publisher:
ci-cd.yml on fxstein/ai-todo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_todo-3.0.2.tar.gz -
Subject digest:
0860b9a6e5a45e383bcbd16debc4dffe98f11ae8682401009ffff4929cee2789 - Sigstore transparency entry: 858693686
- Sigstore integration time:
-
Permalink:
fxstein/ai-todo@24a925dc607f0a1706f34b8982b059de462a7564 -
Branch / Tag:
refs/tags/v3.0.2 - Owner: https://github.com/fxstein
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-cd.yml@24a925dc607f0a1706f34b8982b059de462a7564 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ai_todo-3.0.2-py3-none-any.whl.
File metadata
- Download URL: ai_todo-3.0.2-py3-none-any.whl
- Upload date:
- Size: 60.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b161b58e55e77a72b9249ad2bab2aa9aa857122000be80e9d22cbb80ffa73918
|
|
| MD5 |
27568a7f07901862e4ee8fc44cb6775c
|
|
| BLAKE2b-256 |
1cdb5b6f4d3ea5140e62970992f08b39880a026ca57b46e8dfa584a3eb2d7ea4
|
Provenance
The following attestation bundles were made for ai_todo-3.0.2-py3-none-any.whl:
Publisher:
ci-cd.yml on fxstein/ai-todo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ai_todo-3.0.2-py3-none-any.whl -
Subject digest:
b161b58e55e77a72b9249ad2bab2aa9aa857122000be80e9d22cbb80ffa73918 - Sigstore transparency entry: 858693739
- Sigstore integration time:
-
Permalink:
fxstein/ai-todo@24a925dc607f0a1706f34b8982b059de462a7564 -
Branch / Tag:
refs/tags/v3.0.2 - Owner: https://github.com/fxstein
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-cd.yml@24a925dc607f0a1706f34b8982b059de462a7564 -
Trigger Event:
push
-
Statement type: