tasklist-port
README.md
# tasklist-port
Todoist tasks as MCP tools, talking to the Todoist REST API v1.
tasklist-port is a clean-room rebuild of the core surface of the
Todoist MCP server, under a new name: fresh code, no copied branding.
## Tools (core subset, 12)
`list_tasks`, `get_task`, `create_task`, `update_task`, `close_task`,
`reopen_task`, `delete_task`, `list_projects`, `get_project`,
`create_project`, `list_labels`, `list_sections`.
Not in this subset: comments, shared labels, collaborators/sharing,
reminders, activity log, completed-items history, project
collaborators admin, user/productivity stats, Sync API incremental
sync, backups, templates import/export, quick-add parsing endpoint.
## Setup
Create an API token in Todoist (Settings → Integrations → Developer)
and set it:
```bash
export TODOIST_API_TOKEN=0123456789abcdef...
```
Optionally override the API base with `TODOIST_API_BASE_URL`
(default `https://api.todoist.com/api/v1`). Without the token, every
tool call fails with an error naming the missing variable. Note:
Todoist list endpoints return either a bare array or a
`{results:[...]}` envelope depending on version — tasklist-port
returns the parsed payload as-is.
## CLI
```bash
npx @reneturcios/tasklist-port list_tasks '{"project_id":"p1"}'
npx @reneturcios/tasklist-port mcp # stdio MCP server
```
Each tool name is a subcommand taking one JSON object argument.
## MCP client config
```json
{
"mcpServers": {
"tasklist-port": {
"command": "npx",
"args": ["-y", "@reneturcios/tasklist-port", "mcp"],
"env": { "TODOIST_API_TOKEN": "0123456789abcdef..." }
}
}
}
```
## Docker
```bash
docker run -i -e TODOIST_API_TOKEN ghcr.io/cloudcorprecords/tasklist-port
```
## Development
```bash
npm install
npm run build
npm test
```
## License
MIT
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues