Skip to main content
Glama
Azibagirramani

todo-mcp

README.md
# todo-mcp

A simple todo list [MCP](https://modelcontextprotocol.io) server written in TypeScript. It exposes tools for managing a todo list to any MCP client (Claude Desktop, Claude Code, etc.). Todos are persisted to a JSON file on disk.

## Tools

| Tool | Description |
| --- | --- |
| `add_todo` | Add a new item (`text`) |
| `list_todos` | List items, optional `filter`: `all` \| `active` \| `completed` |
| `complete_todo` | Mark an item done/undone (`id`, optional `done`) |
| `delete_todo` | Delete an item (`id`) |
| `clear_completed` | Remove all completed items |

## Setup

```bash
npm install
npm run build
```

This compiles to `build/index.js`. By default todos are stored in `~/.todo-mcp.json`; override with the `TODO_FILE` environment variable.

## Connecting a client

### Claude Code

```bash
claude mcp add todo -- node /Users/mansi/Documents/MCP/todo-list/build/index.js
```

### Claude Desktop

Add to `claude_desktop_config.json`
(`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json
{
  "mcpServers": {
    "todo": {
      "command": "node",
      "args": ["/Users/mansi/Documents/MCP/todo-list/build/index.js"]
    }
  }
}
```

Restart the client, then ask it to add, list, or complete todos.

## Development

```bash
npm run dev    # tsc --watch
```

Maintenance

ActivityInactive
ResponsivenessNo issues