Skip to main content

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 identifier
  • content: 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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
  5. Submit a pull request

Support

For issues and questions, please use the GitHub issue tracker.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

todolist_mcp_server-0.1.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

todolist_mcp_server-0.1.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

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

Hashes for todolist_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7194503610548b7c5d3908aded7680526eaf302f0ed81c0756007bdf68df114f
MD5 4b5c6e35b693d010c77ddeafc108c7ca
BLAKE2b-256 71ae8278d0b562da48ede045a84d5e7d329b19dc85dec3113eaaf18302fcfaa4

See more details on using hashes here.

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

Hashes for todolist_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f352b1829738690891bff160a622ea2b4d816530d616a5f45882a68e0e70a8e
MD5 84a57efefa6a67eb107f1e6b722c1bfc
BLAKE2b-256 4ff229b714a2001238ad7cac9803f4b3567cffe2d7ac584183815f79ece8f4cd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page