Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TODOIST_API_TOKEN | Yes | Your Todoist API token. Get it from Todoist Settings → Integrations → Developer |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| todoist_list_projects | List all projects in your Todoist account.
Returns all projects including personal projects, shared projects, and sub-projects.
Use this to get project IDs for creating tasks in specific projects.
Args:
params: ListProjectsInput containing:
- response_format: 'markdown' or 'json'
Returns:
List of projects with their IDs, names, and metadata. |
| todoist_get_project | Get details of a specific project.
Args:
params: GetProjectInput containing:
- project_id: The project ID
- response_format: 'markdown' or 'json'
Returns:
Project details including name, color, and metadata. |
| todoist_create_project | Create a new project in Todoist.
Args:
params: CreateProjectInput containing:
- name: Project name
- parent_id: Optional parent project ID for sub-projects
- color: Optional color name
- is_favorite: Whether to mark as favorite
Returns:
Created project details including the new project ID. |
| todoist_list_tasks | List tasks from Todoist with optional filters.
Supports filtering by project, label, or using Todoist's filter syntax.
Common filters: 'today', 'tomorrow', 'overdue', 'p1', 'p2', 'no due date',
'due before: tomorrow', '7 days', '@label_name', '#project_name'.
Args:
params: ListTasksInput containing:
- project_id: Filter by project
- label: Filter by label name
- filter: Todoist filter query
- limit: Maximum tasks to return
- response_format: 'markdown' or 'json'
Returns:
List of tasks with their content, due dates, and priorities. |
| todoist_get_task | Get details of a specific task.
Args:
params: GetTaskInput containing:
- task_id: The task ID
- response_format: 'markdown' or 'json'
Returns:
Full task details including content, description, due date, and labels. |
| todoist_create_task | Create a new task in Todoist.
⚠️ TEMPORAL CHECK: Verify year in due_date matches current year from
system date. LLMs often default to training-data years (2023/2024).
Supports natural language due dates like 'tomorrow', 'next Monday', 'every week'.
Priority 4 is highest (red), priority 1 is lowest.
Args:
params: CreateTaskInput containing:
- content: Task title/content
- description: Optional detailed description
- project_id: Project to add to (defaults to Inbox)
- due_string: Natural language due date
- due_date: Due date in YYYY-MM-DD format
- priority: 1-4 (4 is highest)
- labels: List of label names
- parent_id: Parent task ID for subtasks
Returns:
Created task details including the new task ID. |
| todoist_update_task | Update an existing task in Todoist.
Only provided fields will be updated. To clear a due date, use the Todoist app.
Args:
params: UpdateTaskInput containing:
- task_id: The task ID to update
- content: New task title
- description: New description
- due_string: New due date (natural language)
- due_date: New due date (YYYY-MM-DD)
- priority: New priority (1-4)
- labels: New labels (replaces existing)
Returns:
Updated task confirmation. |
| todoist_complete_task | Mark a task as complete.
For recurring tasks, this will close the current occurrence and create the next one.
Args:
params: CompleteTaskInput containing:
- task_id: The task ID to complete
Returns:
Confirmation that the task was completed. |
| todoist_reopen_task | Reopen a completed task.
Args:
params: ReopenTaskInput containing:
- task_id: The task ID to reopen
Returns:
Confirmation that the task was reopened. |
| todoist_delete_task | Permanently delete a task.
⚠️ This action cannot be undone. The task will be permanently removed.
Args:
params: DeleteTaskInput containing:
- task_id: The task ID to delete
Returns:
Confirmation that the task was deleted. |
| todoist_list_labels | List all personal labels in your Todoist account.
Labels can be applied to tasks for organization and filtering.
Args:
params: ListLabelsInput containing:
- response_format: 'markdown' or 'json'
Returns:
List of labels with their names and colors. |
| todoist_create_label | Create a new label.
Labels help organize tasks across projects. Apply labels to tasks for easy filtering.
Args:
params: CreateLabelInput containing:
- name: Label name
- color: Optional color name
- is_favorite: Whether to mark as favorite
Returns:
Created label details including the new label ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |