TodoList MCP Server
A Model Context Protocol (MCP) server for managing todo lists with intelligent task tracking and auto-clear functionality.
Features
- In-memory todo storage with session-based persistence
- Intelligent auto-clear - automatically clears completed tasks
- Task validation with duplicate ID prevention
- Priority levels (high, medium, low) and status tracking
- MCP-compliant tools for seamless integration
Installation
Requirements
- Python 3.12+
- Poetry (recommended) or pip
Setup
# Clone the repository
git clone https://github.com/hicaosen/todolist.git
cd todolist
# Install dependencies
poetry install
# or with pip
pip install -e .
Usage
Running the Server
# Using the installed script
todolist-mcp-server
# Or directly with Python
python -m src.server
MCP Tools
The server provides two main tools:
todo_read
Returns the current todo list. Use frequently to track progress.
# No parameters required
todos = todo_read()
todo_write
Creates and manages todo items. Use for complex multi-step tasks.
todos = [
{
"id": "task-1",
"content": "Implement user authentication",
"priority": "high",
"status": "pending"
},
{
"id": "task-2",
"content": "Write unit tests",
"priority": "medium",
"status": "in_progress"
}
]
todo_write(todos)
Todo Item Structure
Each todo item must contain:
id: Unique string identifiercontent: Task description (non-empty string)priority: One of "high", "medium", "low"status: One of "pending", "in_progress", "completed"
Auto-Clear Behavior
When all todos reach "completed" status, the list automatically clears to maintain a clean workspace.
Development
Code Quality Tools
# Lint code
ruff check
# Format code
ruff format
# Type checking
pyright
Project Structure
todolist/
├── src/
│ ├── __init__.py
│ └── server.py # Main MCP server implementation
├── pyproject.toml # Project configuration
├── poetry.lock # Dependency lock file
└── README.md
Configuration
The server uses the following configuration:
- Line length: 88 characters
- Python version: 3.12+
- Code style: Ruff with comprehensive rule set
- Type checking: Pyright with strict mode
License
This project is licensed under the MIT License.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
Support
For issues and questions, please use the GitHub issue tracker.
Metadata
Release files for todolist-mcp-server 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| todolist_mcp_server-0.1.1.tar.gz | 5.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| todolist_mcp_server-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.3 kB
Release files / todolist_mcp_server-0.1.1.tar.gz
| Download URL | todolist_mcp_server-0.1.1.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7194503610548b7c5d3908aded7680526eaf302f0ed81c0756007bdf68df114f
|
|
BLAKE2b-256 checksum How to use checksums |
71ae8278d0b562da48ede045a84d5e7d329b19dc85dec3113eaaf18302fcfaa4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2
|
Release files / todolist_mcp_server-0.1.1-py3-none-any.whl
| Download URL | todolist_mcp_server-0.1.1-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3f352b1829738690891bff160a622ea2b4d816530d616a5f45882a68e0e70a8e
|
|
BLAKE2b-256 checksum How to use checksums |
4ff229b714a2001238ad7cac9803f4b3567cffe2d7ac584183815f79ece8f4cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.3 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2
|
Security for todolist-mcp-server 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.