TodoList MCP Server - A Model Context Protocol server for managing todo lists
Project description
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.
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 todolist_mcp_server-0.1.1.tar.gz.
File metadata
- Download URL: todolist_mcp_server-0.1.1.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7194503610548b7c5d3908aded7680526eaf302f0ed81c0756007bdf68df114f
|
|
| MD5 |
4b5c6e35b693d010c77ddeafc108c7ca
|
|
| BLAKE2b-256 |
71ae8278d0b562da48ede045a84d5e7d329b19dc85dec3113eaaf18302fcfaa4
|
File details
Details for the file todolist_mcp_server-0.1.1-py3-none-any.whl.
File metadata
- Download URL: todolist_mcp_server-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.3 Linux/6.6.87.2-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f352b1829738690891bff160a622ea2b4d816530d616a5f45882a68e0e70a8e
|
|
| MD5 |
84a57efefa6a67eb107f1e6b722c1bfc
|
|
| BLAKE2b-256 |
4ff229b714a2001238ad7cac9803f4b3567cffe2d7ac584183815f79ece8f4cd
|