todolist-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
TodoList MCP Server
Enhanced fork of the original MCP by ispyridis/todolist-mcp. Extended with 16 tools, backup/restore, stats, contract tests, and Diataxis documentation.
MCP server for managing ToDoList .tdl files. Tested with ToDoList 9.2.4.

Differences from the original
Original | This fork |
10 tools | 16 tools (complete_task, get_task_stats, backup_tdl, restore_tdl, delete_task, add_comment) |
No tests | 192 tests (80 unit + 112 contract MCP) |
No type checking | mypy + ruff + pyright clean |
Monolith | src/ modular (models, manager, tools) |
No docs | Diataxis (tutorial, how-to, explanation, reference) |
Related MCP server: Coding Todo Server
Quick start
git clone <repo-url>
cd todolist-mcp
python -m venv venv
venv\Scripts\pip install -r requirements.txt
python main.pyConfiguration
The server resolves the .tdl file with this priority:
$TODOLIST_FILE— environment variable (set by the MCP client)mcp_server.ini— local file withactive = yes/notoggle~/todolist.tdl— default fallback
MCP client (Native Pi)
To use this server with Pi's native MCP support, add it to your ~/.pi/agent/mcp.json file:
{
"mcpServers": {
"todolist": {
"command": "python",
"args": ["path/to/todolist-mcp/main.py"],
"env": {
"TODOLIST_FILE": "path/to/your-file.tdl"
},
"exposure": "codemode"
}
}
}Local development
# mcp_server.ini
[server]
active = yes
tdl_file = test-contract/test_contract.tdlDocumentation
Document | Type | Contents |
Tutorial | From zero to first command in 5 steps | |
How-to | Recipes: create, search, comment, backup... | |
How-to | Configure for Pi Native MCP | |
Explanation | Architecture, design decisions, .tdl format | |
Reference | Complete 16-tool API with all parameters |
Project structure
todolist-mcp/
├── main.py # Entry point
├── config.json.example # MCP config template
├── mcp_server.ini.example # Local override template
├── pyproject.toml # mypy + ruff + pyright
├── requirements.txt
├── src/
│ ├── models.py # Pydantic models
│ ├── manager.py # ToDoListManager (XML, CRUD, stats)
│ └── tools.py # 16 @mcp.tool() handlers
├── test/ # 80 unit tests
├── test-contract/ # 112 MCP contract tests
├── docs/
│ └── diataxis/ # Diataxis documentation
├── .agent/skills/
│ └── todolist-mcp/ # Agent skill
└── README.mdTests
pytest test/ test-contract/ -q # 192 tests
mypy src/ main.py test/ test-contract/ # Type checking
ruff check src/ main.py test/ test-contract/ # LintingLicense
Apache License 2.0 — see LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Official Todoist MCP server. Manage tasks and projects. Hosted, no API key needed.
ADHD-friendly task management MCP server for ChaTodo: organize tasks, lists, and priorities.
8 MCP servers, 104+ tools: memory, social, PDF, email, images, calendar, scheduler, files.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides tools for managing todo items, including creation, updating, completion, deletion, searching, and summarizing tasks.7 npm46MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.1-
- FlicenseNot gradedqualityDmaintenanceThis MCP server provides tools to manage a todo list with CRUD operations, enabling listing, creating, updating, and deleting todos.-
- AlicenseNot gradedqualityBmaintenanceMCP server that wraps TaskWarrior command-line tool. Provides 22 tools for task management, GTD workflow, and habit tracking.21 npm11MIT