Task / To-Do Manager
by laibaafreen
README.md
# Task / To-Do Manager — MCP Server
A small MCP server that lets an AI assistant manage a simple to-do list.
Tasks are stored in `tasks.json` in this folder — no database required.
## Setup
```bash
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
```
## Running the server
```bash
python server.py
```
The server talks over **stdio** (standard input/output), so it's meant to be
launched by an MCP client (like MCP Inspector, or an AI assistant configured
to use it) — not run and watched directly in a plain terminal.
To test it by hand, run:
```bash
mcp dev server.py
```
and open the URL Inspector prints. From there you can click each tool below
and try it yourself.
## Tools
| Tool | What it does | Example call |
|---|---|---|
| `add_task(title)` | Adds a new task | `add_task("Buy groceries")` → `{"id": 1, "title": "Buy groceries", "done": false}` |
| `list_tasks()` | Lists every task | `list_tasks()` → `[{"id": 1, "title": "Buy groceries", "done": false}]` |
| `get_task(task_id)` | Gets one task by id | `get_task(1)` → `{"id": 1, "title": "Buy groceries", "done": false}` |
| `complete_task(task_id)` | Marks a task done | `complete_task(1)` → `{"id": 1, "title": "Buy groceries", "done": true}` |
| `delete_task(task_id)` | Deletes a task | `delete_task(1)` → `{"deleted": 1}` |
## Bonus resource
`tasks://pending` — a read-only JSON list of every task that isn't done yet.
Unlike a tool, it never changes any data; it only displays it.
## Error handling
Every tool checks its input first. Missing or invalid data (an empty title,
or an id that doesn't exist) returns a clear `{"error": "..."}` message
instead of crashing the server.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues