Todo.txt MCP Server
A Model Context Protocol server that connects todo.txt files to AI assistants like Claude. Manage your tasks through natural language while keeping the simplicity and portability of plain text.
Installation
# Recommended
uv tool install todo-txt-mcp
# Or run directly without installing
uvx todo-txt-mcp
# Alternatives
pipx install todo-txt-mcp
pip install todo-txt-mcp
Configuration
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"todo-txt": {
"command": "uvx",
"args": [
"todo-txt-mcp"
]
}
}
}
Restart Claude Desktop. The tools icon confirms the server is connected.
Custom todo.txt location
{
"mcpServers": {
"todo-txt": {
"command": "uvx",
"args": [
"todo-txt-mcp",
"/path/to/your/todo.txt"
]
}
}
}
todo.sh integration
If you use todo.sh, the server automatically detects your config from
~/.todo/config, ~/.todo.cfg, or standard system locations.
Environment variables
TODO_MCP_TODO_FILE_PATH=/path/to/todo.txt
TODO_MCP_BACKUP_ENABLED=true
TODO_MCP_MAX_FILE_SIZE=10000000
Available Tools
| Tool | Description |
|---|---|
list_todos |
List todos with optional filters |
add_todo |
Create new todos |
complete_todo |
Mark todos as completed |
update_todo |
Modify existing todos |
delete_todo |
Remove todos |
search_todos |
Find todos by text |
filter_by_priority |
Filter by priority (A-Z) |
filter_by_project |
Filter by project (+tag) |
filter_by_context |
Filter by context (@tag) |
get_statistics |
Get todo statistics |
Todo.txt Format
Fully compatible with the todo.txt specification:
(A) Call Mom +family @phone
x 2025-05-31 2025-05-30 (B) Buy groceries +shopping @errands
Write project proposal +work @computer
Contributing
See CONTRIBUTING.md for guidelines. Bug reports and feature requests welcome via GitHub Issues.
License
MIT - see LICENSE.
Metadata
Release files for iflow-mcp_danielmeint-todo-txt-mcp 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_danielmeint_todo_txt_mcp-1.0.2.tar.gz | 99.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_danielmeint_todo_txt_mcp-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 116.9 kB
Release files / iflow_mcp_danielmeint_todo_txt_mcp-1.0.2.tar.gz
| Download URL | iflow_mcp_danielmeint_todo_txt_mcp-1.0.2.tar.gz |
|---|---|
| Size | 99.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
69beeec579bc55701ce9089aa6bc2b61fc582dc80f0e5a6dcec9455a9060362f
|
|
BLAKE2b-256 checksum How to use checksums |
9c0e4335a3ecbb0c05eb3e36e3f905fea7e4be48aed7cd1e85543d29cb8cf553
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_danielmeint_todo_txt_mcp-1.0.2-py3-none-any.whl
| Download URL | iflow_mcp_danielmeint_todo_txt_mcp-1.0.2-py3-none-any.whl |
|---|---|
| Size | 17.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
59a62800d80e572c4fdf2cc92a29be5ccd4c00fee11124bfe74834c2a99d49f7
|
|
BLAKE2b-256 checksum How to use checksums |
012ac168700850172bd2e9dfe4be09508189d6867833bf027b79a4b9bc54852b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|