Skip to main content
Glama

To Do List MCP

A minimal Model Context Protocol server that exposes a personal to-do list backed by SQLite. Built with the official Python mcp SDK.

Tools

Tool

Description

Arguments

task_add

Add a task, or a list of tasks in one call

task_name: str | list[str]

task_get

List all incomplete tasks

—

task_update

Rename a task and/or set its status

task_id: int, task_name: str, task_status: bool = False

task_complete

Mark a task complete

task_id: int

Tasks are stored in todolist.db (SQLite), created automatically on first run in the server's working directory.

Related MCP server: TodoSQLite MCP Server

Requirements

  • Python >= 3.13

  • uv

Installation

Clone the repo and install dependencies with uv:

uv sync

Usage

Claude Desktop

Add the server to your claude_desktop_config.json (Claude menu → Settings → Developer → Edit Config), or install it automatically with the MCP CLI:

uv run mcp install src/to_do_list_mcp/server.py --name "To Do List"

This adds an entry like the following:

{
  "mcpServers": {
    "To Do List": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/absolute/path/to/to_do_list_mcp/src/to_do_list_mcp/server.py"
      ]
    }
  }
}

Restart Claude Desktop afterwards for the server to be picked up.

Development

Run the server directly with the MCP Inspector for interactive testing:

uv run mcp dev src/to_do_list_mcp/server.py

License

No license specified.

Available Tools

4 tools
task_addD

Inputs: task_name (required).

task_completeD

Inputs: task_id (required). Returns: result

task_getD

Inputs: no named parameters.

task_updateD

Inputs: task_id (required), task_name (required), task_status. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    D1.9/5.0

    Scored across 4 tools

    Disambiguation4/5

    task_add, task_update, task_complete, and task_get target reasonably distinct actions on a task. However, task_complete overlaps with task_update (completing is a specialized update), and the absence of descriptions leaves boundaries somewhat implicit.

    Naming Consistency5/5

    All four tools follow a strict task_<verb> snake_case pattern with no deviations. The convention is predictable and immediately readable.

    Tool Count4/5

    Four tools is a sensible, well-scoped surface for a simple to-do list server. It is on the lean side but each tool maps to a clear operation.

    Completeness3/5

    The set covers create, read, update, and complete, but lacks a list/query-all operation and a delete/remove operation. These are notable gaps for a to-do domain that will force agents to work around missing lifecycle steps.

    Related MCP Connectors

    Related MCP Servers