---
title: "Todoist Integration"
description: "Manage Todoist tasks, projects, and labels"
---
The Todoist integration provides access to manage Todoist tasks, projects, and labels through the Integrate MCP server.

## Installation

The Todoist integration is included with the SDK:

```typescript
import { todoistIntegration } from "integrate-sdk/server";
```

## Setup

### 1. Create a Todoist OAuth App

1. Go to [Todoist App Console](https://developer.todoist.com/appconsole.html)
2. Create a new OAuth application
3. Configure your redirect URI
4. Note your Client ID and Client Secret

### 2. Configure the Integration on Your Server

Add the Todoist integration to your server configuration. The integration automatically reads `TODOIST_CLIENT_ID` and `TODOIST_CLIENT_SECRET` from your environment variables:

```typescript
import { createMCPServer, todoistIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    todoistIntegration({
    }),
  ],
});
```

You can override the environment variables by passing explicit values:

```typescript
todoistIntegration({
  clientId: process.env.CUSTOM_TODOIST_ID,
  clientSecret: process.env.CUSTOM_TODOIST_SECRET,
});
```

### 3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

```typescript
import { client } from "integrate-sdk";

await client.authorize("todoist");
const result = await client.todoist.listProjects({});

console.log(result);
```

If you're using a custom client, add the integration to the integrations array:

```typescript
import { createMCPClient, todoistIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [todoistIntegration()],
});
```

## Configuration Options

<AutoTypeTable
  path="../src/integrations/todoist.ts"
  name="TodoistIntegrationConfig"
/>


## Tools

### `todoist_list_projects`

List all projects

_No parameters._

### `todoist_get_project`

Get details of a specific project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistGetProjectParams"
/>

### `todoist_create_project`

Create a new project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistCreateProjectParams"
/>

### `todoist_update_project`

Update an existing project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistUpdateProjectParams"
/>

### `todoist_delete_project`

Delete a project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistDeleteProjectParams"
/>

### `todoist_archive_project`

Archive a project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistArchiveProjectParams"
/>

### `todoist_list_tasks`

List active tasks with optional filters

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistListTasksParams"
/>

### `todoist_get_task`

Get details of a specific task

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistGetTaskParams"
/>

### `todoist_create_task`

Create a new task

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistCreateTaskParams"
/>

### `todoist_update_task`

Update an existing task

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistUpdateTaskParams"
/>

### `todoist_complete_task`

Mark a task as complete

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistCompleteTaskParams"
/>

### `todoist_delete_task`

Delete a task permanently

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistDeleteTaskParams"
/>

### `todoist_reopen_task`

Reopen a completed task

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistReopenTaskParams"
/>

### `todoist_move_task`

Move a task to a different project, section, or parent

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistMoveTaskParams"
/>

### `todoist_quick_add_task`

Add a task using natural language

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistQuickAddTaskParams"
/>

### `todoist_get_completed_tasks`

Get completed tasks

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistGetCompletedTasksParams"
/>

### `todoist_filter_tasks`

Get tasks matching a Todoist filter expression

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistFilterTasksParams"
/>

### `todoist_list_sections`

List sections, optionally filtered by project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistListSectionsParams"
/>

### `todoist_create_section`

Create a new section in a project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistCreateSectionParams"
/>

### `todoist_get_section`

Get details of a specific section

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistGetSectionParams"
/>

### `todoist_update_section`

Rename a section

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistUpdateSectionParams"
/>

### `todoist_delete_section`

Delete a section (and all tasks in it)

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistDeleteSectionParams"
/>

### `todoist_list_comments`

List comments on a task or project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistListCommentsParams"
/>

### `todoist_create_comment`

Add a comment to a task or project

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistCreateCommentParams"
/>

### `todoist_get_comment`

Get details of a specific comment

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistGetCommentParams"
/>

### `todoist_update_comment`

Update a comment's text

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistUpdateCommentParams"
/>

### `todoist_delete_comment`

Delete a comment

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistDeleteCommentParams"
/>

### `todoist_list_labels`

List all personal labels

_No parameters._

### `todoist_create_label`

Create a new label

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistCreateLabelParams"
/>

### `todoist_update_label`

Update a label

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistUpdateLabelParams"
/>

### `todoist_delete_label`

Delete a label

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistDeleteLabelParams"
/>

### `todoist_list_reminders`

List all reminders

_No parameters._

### `todoist_create_reminder`

Create a reminder for a task

<AutoTypeTable
  path="generated/tool-params/todoist.ts"
  name="TodoistCreateReminderParams"
/>

## Notes

- Category: Productivity
- Authentication mode: OAuth
