Todoist MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Todoist MCP or direct API to create tasks, update deadlines, fetch project lists, and manage reminders through natural language.

Todoist logoTodoist
Oauth2

Todoist is a task management app for to-do lists, projects, and reminders. Stay organized and on track with easy deadlines, collaboration, and cross-platform syncing.

76 Tools1 Triggers

Try Todoist now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Todoist
Try asking
TOOLS & TRIGGERS

Supported Tools and Triggers

Every Todoist action and event your agent gets out of the box.

Add Workspace

Tool to create a new workspace in Todoist.

Archive Project (API v1)

Tool to archive a project using Todoist API v1.

Bulk Create Tasks

Create many tasks in one request using Todoist's Sync batching.

Close Task (API v1)

Tool to close (complete) a task in Todoist using API v1.

Create Comment (API v1)

Tool to create a new comment on a project or task using Todoist API v1.

Create Label (API v1)

Tool to create a new personal label using API v1.

Create Project (API v1)

Tool to create a new project in Todoist using the unified API v1.

Create Section (API v1)

Tool to create a new section within a project using API v1.

Create task

Create a new task in Todoist using the unified API v1.

Delete Comment

Tool to delete a specific comment from Todoist by its ID.

Delete Label (V1)

Tool to delete a personal label using API v1.

Delete Project (API v1)

Tool to delete a project and all of its sections and tasks using Todoist API v1.

Delete Section (v1)

Tool to delete a section and all tasks within it.

Delete Task

Tool to delete a specific task from Todoist.

Delete Upload

Tool to delete an uploaded file from Todoist.

Export Template As File

Tool to export a Todoist project as a CSV template file.

Export Template As URL

Tool to export a Todoist project as a shareable template URL.

Filter Tasks

Tool to get all tasks matching the filter.

Get All Comments

This tool retrieves all comments associated with a specific task or project in Todoist.

Get all projects

Get all projects from a user's Todoist account.

Get All Tasks

Fetches all INCOMPLETE tasks from Todoist and returns their details.

Get Backups

Tool to list all available backup archives for the user.

Get Comment (V1)

Tool to retrieve a single comment by ID using the v1 API.

Get Completed Tasks By Completion Date

Tool to retrieve completed tasks within a specified completion date window.

Get ID Mappings

Tool to translate IDs between Todoist API v1 and v2.

Get Personal Label

Tool to retrieve a personal label by its ID.

Get Productivity Stats

Tool to retrieve comprehensive productivity statistics for the authenticated user.

Get Project (API v1)

Tool to retrieve a specific project by its ID using Todoist API v1.

Get Full Project Data

Tool to retrieve full project data including all sections, tasks, and collaborators.

Get Project Permissions

Tool to retrieve all available roles and their associated actions in Todoist projects.

Get Section (v1 API)

Tool to retrieve a specific section by its ID using Todoist v1 API.

Get Special Backups

Tool to list special backup archives for the authenticated user's projects.

Get Task (API v1)

Tool to retrieve a single active (non-completed) task by ID using API v1.

Get User

Tool to retrieve information about the currently authenticated user.

Get Workspace Plan Details

Tool to retrieve details about a workspace's current plan and usage.

Import Template Into Project By ID

Tool to import a template from Todoist's template gallery into an existing project.

Import Template Into Project From File

Tool to import a CSV template into an existing Todoist project from a file.

Invite Project Collaborator

Tool to invite a collaborator to a Todoist project by email.

List Activities

Tool to get activity logs from Todoist.

List All Workspace Invitations

Tool to return a list containing details of all pending invitations to a workspace.

List Archived Projects

Tool to get all archived projects from Todoist.

List Archived Sections

Tool to retrieve all archived sections for a specific project in Todoist.

List Archived Workspace Projects

Tool to list all archived projects in a workspace.

List Completed Tasks

Tool to retrieve all completed tasks with optional project filtering.

List Completed Tasks By Due Date

Tool to retrieve completed tasks within a specified due date range (up to 6 weeks).

List Filters

Tool to list all filters for the authenticated user.

List Joinable Workspaces

Tool to get workspaces the user can join.

List Labels

Tool to get all user labels with pagination support.

List Pending Workspace Invitations

Tool to list pending invitation emails in a workspace.

List Project Collaborators

Tool to get all collaborators for a given project with cursor-based pagination.

List Sections

Tool to get all active sections for the user, with optional filtering by project.

List Shared Labels

Tool to retrieve shared label names from active tasks with pagination support.

List Workspace Active Projects

Tool to list all active workspace projects.

List Workspace Archived Projects

Tool to get archived projects in a workspace.

List Workspace Invitations

Tool to list user emails with pending invitations to a workspace.

List Workspace Users

Tool to list users in workspace(s).

Move Task

Tool to move a task to another project, section, or parent task while preserving task identity and metadata.

Move Task (REST API)

Tool to move a task to another project, section, or parent task using the REST API.

Quick Add Task

Tool to add tasks using natural language parsing similar to the official Todoist clients.

Remove Shared Label (API v1)

Tool to remove a shared label from all active tasks using API v1.

Rename Shared Labels (API v1)

Tool to rename a shared label across all active tasks using API v1.

Reopen Task (API v1)

Tool to reopen a completed task in Todoist using API v1.

Reorder Tasks

Reorder tasks deterministically by updating child_order in bulk via the Sync API item_reorder command.

Search Labels

Tool to search user labels by name with case-insensitive matching.

Search Projects

Search active user projects by name with support for wildcards and pagination.

Search Sections

Tool to search active sections by name, optionally filtered by project.

Todoist Sync

Tool to sync data with Todoist server, supporting both read and write operations.

Unarchive Project (API v1)

Tool to unarchive a previously archived Todoist project using API v1.

Update Comment (v1)

Tool to update a comment by ID and return its content via v1 API.

Update Label (API v1)

Tool to update an existing label using API v1.

Update Notification Setting

Tool to update notification settings for the current user.

Update Project (API v1)

Tool to update a project's properties using Todoist API v1.

Update Section (v1)

Tool to update an existing section by its ID using Todoist v1 API.

Update Task

Tool to update an existing task's properties.

Update Workspace Logo

Tool to upload an image as the workspace logo or delete the existing logo.

Upload File

Tool to upload a file to Todoist.

SETUP GUIDE

Connect Todoist MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["todoist"],
  mcp: true,
});
Create a session scoped to Todoist and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Add a new task to my Inbox with a due date tomorrow",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a Todoist request
SETUP GUIDE

Connect Todoist API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["todoist"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to Todoist
3

Run Todoist tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Add a new task to my Inbox with a due date tomorrow" }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the Todoist tool calls through the session, and print the final answer

Why Use Composio?

AI Native Todoist Integration

  • Supports both Todoist MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Todoist data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Todoist access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Todoist
  • Scoped, least privilege access to Todoist resources
  • Full audit trail of agent actions to support review and compliance

Rolling this out across your team?

Give your team centralized access control across every framework with Composio’s MCP Gateway.

EXPLORE MCP GATEWAY
FAQ

Frequently asked questions

No. Composio provides a managed OAuth app for Todoist, so you sign in with your normal Todoist account and approve access. If you later want the consent screen to show your own company name, you can add your own Todoist OAuth app in the Composio dashboard, and every connection after that uses it.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Todoist connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a Todoist account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Todoist as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Exactly the ones Todoist lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your Todoist administrator may need to approve the app first, and you can revoke the access inside Todoist whenever you want.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Todoist connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio refreshes Todoist tokens automatically, so day to day you do nothing. If you revoke access inside Todoist, or Todoist invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free Hobby plan includes 100,000 tool calls per month with no credit card, and up to 20,000 of those can run through Composio-managed apps like Todoist. Personal Todoist use rarely gets near that. Paid plans add higher limits and team features, and Todoist's own pricing is unaffected.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Todoist accounts).

With Composio, you connect Todoist once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Todoist.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Todoist tool your agent needs.Free to start.

Start building