Skip to main content
Glama
10xtechnology

mytinytodo-mcp

README.md
# mytinytodo-mcp

MCP server for [myTinyTodo](https://www.mytinytodo.net/). It talks to a running myTinyTodo instance over its JSON HTTP API so MCP clients can list, create, edit, and complete tasks.

## Requirements

- Python 3.10+
- [uv](https://docs.astral.sh/uv/)
- A myTinyTodo v1.8+ instance reachable over HTTP

## Install

```bash
uv sync
```

For tests:

```bash
uv sync --extra dev
uv run pytest
```

## Configuration

| Variable | Required | Description |
|---|---|---|
| `MYTINYTODO_URL` | Yes | Base URL, e.g. `http://localhost:8000` |
| `MYTINYTODO_PASSWORD` | No | Password when the instance is protected |

Auth uses the `mtt-token` cookie plus the `MTT-Token` header (required by myTinyTodo). The client bootstraps these automatically.

## Run

```bash
export MYTINYTODO_URL=http://localhost:8000
uv run python -m mytinytodo_mcp
```

Or the console script:

```bash
uv run mytinytodo-mcp
```

## MCP client config

Claude Desktop / Cursor example:

```json
{
  "mcpServers": {
    "mytinytodo": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/mytinytodo-mcp-server",
        "python",
        "-m",
        "mytinytodo_mcp"
      ],
      "env": {
        "MYTINYTODO_URL": "http://localhost:8000"
      }
    }
  }
}
```

## Tools

**Lists:** `list_lists`, `create_list`, `rename_list`, `delete_list`, `clear_completed`

**Tasks:** `list_tasks`, `create_task`, `edit_task`, `complete_task`, `set_task_note`, `set_task_priority`, `move_task`, `delete_task`

**Tags:** `tag_cloud`, `suggest_tags`

## Example prompts

- List my todo lists
- Show open tasks on Todo
- Add “Buy milk” to list 1
- Mark task 42 complete

## Notes

- List id `-1` is the synthetic All tasks view.
- Simple `create_task` calls use myTinyTodo smart syntax (`±prio`, `#tag`, `@duedate`).
- `move_task` needs both `from_list` and `to_list`.