ToDo-List MCP Server
Todo List MCP Server
A simple, beginner-friendly Model Context Protocol (MCP) server written in Python. It lets any MCP-compatible AI client (like Claude Desktop) manage a to-do list on your computer through five tools: add, view, get by ID, complete, and delete.
Built with the official MCP Python SDK (mcp[cli]) and its high-level FastMCP interface.
Data is stored locally in a plain JSON file — no database required.
1. What This Project Does
This MCP server exposes 5 tools to any connected AI client:
Tool | What it does |
| Adds a new todo |
| Returns every todo currently saved |
| Returns one todo by its ID |
| Marks a todo as completed |
| Removes a todo permanently |
All data lives in todos.json, created automatically the first time you add a todo.
Related MCP server: Task MCP Server
2. Project Structure
todo-mcp-server/
├── server.py # Main MCP server — defines the 5 tools
├── storage.py # Handles reading/writing todos.json
├── todos.json # Auto-created data file (not committed to git)
├── requirements.txt # Python dependencies
├── .gitignore # Files Git should ignore
└── README.md 3. Setup
Prerequisites
Python 3.10 or newer
pip (comes with Python)
Steps
# 1. Clone or download this project, then move into it
cd todo-mcp-server
# 2. Create a virtual environment
python -m venv venv
# 3. Activate it
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# 4. Install dependencies
pip install -r requirements.txt4. Running the Server
Option A — MCP Inspector (recommended for testing):
mcp dev server.pyThis opens a browser-based UI where you can call each tool manually and see the JSON responses.
Option B — Install into Claude Desktop:
mcp install server.py --name "Todo List MCP Server"This registers the server so Claude Desktop starts it automatically.
Option C — Run directly:
python server.py5. Testing / Example Prompts (in Claude Desktop)
Once connected in Claude Desktop, try:
"Add a todo: Buy groceries, with description Milk, eggs, and bread"
"Show me all my todos"
"Get the todo with ID 1"
"Mark todo 1 as completed"
"Delete todo 2"
6. Architecture
MCP Client (Claude Desktop)
│ (stdio / JSON-RPC)
▼
server.py (FastMCP tools)
│
▼
storage.py (reads/writes JSON)
│
▼
todos.json (local data file)The client never touches the JSON file directly — it only calls tools, and the server decides how the data is stored. This separation is a core MCP design idea: the client doesn't need to know how a tool works internally, only what it does.
7. Learning Outcomes
Through this project I learned:
What the Model Context Protocol (MCP) is and how it standardizes tool access for LLMs
The difference between an MCP server, client, and tools/resources/prompts
How to use the official Python SDK's
FastMCPinterface to build tools quickly from plain Python functions and type hintsHow to store and manage data locally with a JSON file
How to connect and test a custom MCP server inside Claude Desktop
How to package, document, and publish a small Python project on GitHub
The basics of publishing an MCP server to a marketplace like Smithery
License
MIT — free to use, modify, and share.
Author
Haseeba Yasin
If you found this project helpful, feel free to ⭐ the repository.
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list through Claude.209MIT
- FlicenseBqualityDmaintenanceA simple task management server that allows users to add, list, complete, and delete tasks directly within Claude Desktop. It provides a suite of tools for efficient personal task organization using the Model Context Protocol.4-
- AlicenseNot gradedqualityDmaintenanceA small MCP server for managing todos, enabling assistants like Claude to create, update, and query task lists through natural conversation. Stores everything in a local SQLite database.7 npm1ISC
- FlicenseAqualityCmaintenanceA small Model Context Protocol (MCP) server that gives an AI a personal notes/todo store. Built for learning.5-