Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TODOIST_API_TOKENYesYour Todoist API token

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_todoist_projectsA

List all Todoist projects.

Returns every project in the user's account with its ID and name. Use this to discover valid project names for other tools.

Example: list_todoist_projects()

Returns: [{"id": "12345", "name": "Inbox"}, {"id": "67890", "name": "Work Tasks"}, ...]

get_project_tasksA

Get all tasks from a Todoist project.

Returns tasks with: id, content, description, labels, due, priority, project_id.

list_todoist_labelsA

List all personal Todoist labels.

Returns every label with its ID, name, and color. Labels are referenced by name in task operations.

Example: list_todoist_labels()

Returns: [{"id": "111", "name": "Home", "color": "blue"}, ...]

get_completed_tasksA

Get completed tasks from Todoist within a date range.

Returns tasks completed between since and until (inclusive). Ideal for weekly review metrics — see how many tasks were completed and when.

Example: get_completed_tasks(since="2026-03-12", until="2026-03-19")

Returns: [{"id": "123", "content": "Buy milk", "project_id": "456", ...}, ...]

create_taskA

Create a new task in Todoist.

Creates a task with the given content in the specified project. Optionally attach labels, a due date, and a description.

update_taskA

Update fields on an existing Todoist task.

Only specified fields are changed; others remain untouched. Note: setting labels replaces all existing labels on the task.

move_taskB

Move a task to a different Todoist project.

complete_taskA

Mark a Todoist task as complete.

The task will be moved to completed status. For recurring tasks, this advances to the next occurrence.

delete_taskA

Permanently delete a Todoist task.

This action is irreversible. Consider complete_task() instead if you want to keep a record of the task.

batch_update_tasksA

Batch update multiple Todoist tasks in a single API call.

Uses the Todoist Sync API for efficiency — processes all operations in one request. Each operation can update fields and/or move a task to a different project. This is ideal for triage workflows where you need to process many tasks at once.

get_task_commentsA

Get all comments on a Todoist task.

Returns all comments attached to the specified task, ordered by creation time.

add_task_commentA

Add a comment to a Todoist task.

Creates a new comment on the specified task. Supports Markdown formatting.

create_todoist_labelB

Create a new personal label in Todoist.

rename_todoist_labelB

Rename an existing Todoist label.

delete_todoist_labelA

Permanently delete a Todoist label.

This removes the label from all tasks that have it. This action is irreversible.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stevesimpson418/todoist-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server