Todoist MCP

Todoist MCP

от doist
Создаёт, завершает и ищет задачи в Todoist, работает с личными и командными проектами. Официальный сервер от создателей Todoist.

Todoist MCP Server

Library for connecting AI agents to Todoist. Includes tools that can be integrated into LLMs, enabling them to access and modify a Todoist account on the user's behalf.

These tools can be used both through an MCP server, or imported directly in other projects to integrate them to your own AI conversational interfaces.

Using tools

1. Add this repository as a dependency
npm install @doist/todoist-mcp
2. Import the tools and plug them to an AI

Here's an example using Vercel's AI SDK.

import { findTasksByDate, addTasks } from '@doist/todoist-mcp'
import { TodoistApi } from '@doist/todoist-sdk'
import { streamText } from 'ai'

// Create Todoist API client
const client = new TodoistApi(process.env.TODOIST_API_KEY)

// Helper to wrap tools with the client
function wrapTool(tool, todoistClient) {
    return {
        ...tool,
        execute(args) {
            return tool.execute(args, todoistClient)
        },
    }
}

const result = streamText({
    model: yourModel,
    system: 'You are a helpful Todoist assistant',
    tools: {
        findTasksByDate: wrapTool(findTasksByDate, client),
        addTasks: wrapTool(addTasks, client),
    },
})

Часто задаваемые вопросы

Инструменты были проиндексированы:
add-comments

Добавляет несколько комментариев к задачам или проектам, при необходимости уведомляя участников. Каждый комментарий должен указывать либо taskId, либо projectId.

Параметры
  • commentsobject[]обязательный

    Массив комментариев для добавления.

add-filters

Добавляет один или несколько новых личных фильтров. Фильтры - это сохранённые пользовательские представления, использующие синтаксис запросов для упорядочивания задач.

Параметры
  • filtersobject[]обязательный

    Массив фильтров для добавления.

add-labels

Добавляет одну или несколько новых личных меток.

Параметры
  • labelsobject[]обязательный

    Массив меток для добавления.

add-projects

Добавляет один или несколько новых проектов.

Параметры
  • projectsobject[]обязательный

    Массив проектов для добавления.

add-reminders

Добавляет напоминания к задачам. Поддерживает три типа: "relative" (за сколько минут до срока), "absolute" (конкретная дата/время) или "location" (срабатывание по геозоне). Каждое напоминание должно указывать taskId.

Параметры
  • remindersobject[]обязательный

    Массив напоминаний для создания (максимум 25). Каждое напоминание должно указывать тип: "relative" (за сколько минут до срока), "absolute" (конкретная дата/время) или "location" (срабатывание по геозоне).

add-sections

Добавляет один или несколько новых разделов в проекты.

Параметры
  • sectionsobject[]обязательный

    Массив разделов для добавления.

add-tasks

Добавляет одну или несколько задач в проект, раздел или родительскую задачу. Поддерживает назначение участникам проекта.

Параметры
  • tasksobject[]обязательный

    Массив задач для добавления (максимум 25).

analyze-project-healthидемпотентный

Запускает новый анализ состояния проекта. Используйте этот инструмент, когда данные о состоянии устарели или вы хотите получить свежую оценку. Анализ может занять время: используйте get-project-health после, чтобы увидеть обновлённые результаты.

Параметры
  • projectIdstringобязательный

    ID проекта для анализа. Это запускает новый анализ работоспособности, выполнение которого может занять некоторое время.

complete-tasks

Выполняет одну или несколько задач по их идентификаторам.

Параметры
  • idsstring[]обязательный

    Идентификаторы задач, которые нужно выполнить.

delete-objectидемпотентный

Удаляет проект, раздел, задачу, комментарий, метку, фильтр, напоминание или location_reminder по ID. Проекты можно удалять независимо от того, активны они или заархивированы (найти архивные можно через find-projects с параметром archivedStatus); обратите внимание, что проект рабочего пространства перед удалением необходимо заархивировать, а личные проекты можно удалять в любом случае.

Параметры
  • idstringобязательный

    ID сущности для удаления.

  • typeenumобязательный

    Тип сущности для удаления.

export-project-templateтолько чтениеидемпотентный

Экспортирует существующий проект как шаблон Todoist: либо в виде CSV-контента, либо в виде публичной ссылки. Используйте его, чтобы дублировать проект, поделиться его структурой или передать CSV в import-project-template. Чтобы прочитать проект, а не экспортировать его, используйте find-tasks: он возвращает структурированные задачи, а не сырой CSV. Ничего не изменяется.

Параметры
  • formatenum

    Как вернуть шаблон. "file" возвращает содержимое CSV, которое можно сразу передать обратно в import-project-template. "url" вместо этого возвращает ссылку для скачивания, которой можно поделиться, и это лучший вариант для больших проектов, потому что не возвращает весь файл.

  • projectIdstringобязательный

    Идентификатор проекта для экспорта в качестве шаблона.

  • useRelativeDatesboolean

    Экспортирует сроки выполнения относительно даты импорта (например, "day 3") вместо абсолютных дат. По умолчанию false.

fetchтолько чтениеидемпотентный

Получает полное содержимое задачи или проекта по его ID. Идентификатор должен быть в формате "task:{id}" или "project:{id}". (Комментарии могут быть; используйте find-comments, чтобы получить их.)

Параметры
  • idstringобязательный

    Уникальный идентификатор документа в формате "task:{id}" или "project:{id}".

fetch-objectтолько чтениеидемпотентный

Получает одну задачу, проект, комментарий или раздел по его ID. Используйте это, когда у вас есть конкретный ID объекта и вы хотите получить его полные данные. Установите includeChildren, чтобы также получить его прямые подзадачи или подпроекты.

Параметры
  • idstringобязательный

    Уникальный ID объекта, который нужно получить.

  • includeChildrenboolean

    Также возвращает прямые дочерние элементы объекта: подзадачи для задачи, подпроекты для проекта. Возвращает childCount и компактный список, помечая каждый дочерний элемент, у которого есть свои дочерние элементы. Помогает проверить, скрывает ли задача подзадачи, вместо предположительного поиска через find-tasks. Для комментариев и разделов игнорируется.

  • typeenumобязательный

    Тип извлекаемого объекта.

find-activityтолько чтениеидемпотентный

Получает журналы активности для мониторинга и аудита изменений в Todoist. Показывает события всех пользователей по умолчанию (используйте initiatorId для фильтрации по конкретному пользователю). Чтобы ответить, что кто-то выполнил за период, включая повторяющиеся выполнения задач, используйте objectType "task", eventType "completed" и dateFrom/dateTo. Для вопроса от первого лица («что я сделал») также укажите initiatorId текущего пользователя из user-info, иначе ответ будет включать выполнения соавторов. Отслеживает выполнения задач, обновления, удаления, изменения проектов и многое другое с гибкой фильтрацией. Доступность и срок хранения истории активности зависят от тарифного плана пользователя.

Параметры
  • cursorstring

    Курсор пагинации для получения следующей страницы результатов.

  • dateFromstring

    Начало диапазона активности включительно, в формате даты или даты-времени ISO 8601. Для всех событий за один локальный календарный день используйте начало этого дня, например "2026-08-02T00:00:00-04:00". Даты на естественном языке, такие как "завтра", не поддерживаются.

  • dateTostring

    Исключающая конечная граница диапазона активности в формате даты или даты-времени ISO 8601. Для всех событий за 2026-08-02 используйте "2026-08-03T00:00:00-04:00". Даты на естественном языке, например "tomorrow", не поддерживаются.

  • eventTypeenum

    Тип события для фильтрации.

  • initiatorIdstring

    Фильтрует по ID пользователя, который инициировал событие. Вопрос от первого лица («что я завершил») требует этого: без него результаты охватывают всех соавторов. Получает ID из user-info, если его ещё нет.

  • limitinteger

    Максимальное число событий активности для возврата.

  • objectIdstring

    Фильтрует по конкретному ID объекта (задачи, проекта или комментария).

  • objectTypeenum

    Тип объекта для фильтрации.

  • projectIdstring

    Фильтрует события по ID родительского проекта.

  • taskIdstring

    Фильтрует события по ID родительской задачи (для событий подзадач).

find-commentsтолько чтениеидемпотентный

Находит комментарии по задаче, проекту или возвращает конкретный комментарий по ID. Ровно один из параметров taskId, projectId или commentId должен быть указан.

Параметры
  • commentIdstring

    Получает конкретный комментарий по ID.

  • cursorstring

    Курсор пагинации для получения дополнительных результатов.

  • limitinteger

    Максимальное количество возвращаемых комментариев

  • projectIdstring

    Находит комментарии для конкретного проекта. Идентификатор проекта должен быть строкой ID или текстом "inbox" для задач из входящих.

  • taskIdstring

    Находит комментарии для конкретной задачи.

find-completed-tasksтолько чтениеидемпотентный

Получает выполненные задачи в диапазоне дат. Для вопросов вида «что я завершил/сделал» используйте find-activity вместо него: он сообщает о событиях завершения, включая каждое вхождение повторяющейся задачи, чего этот инструмент не делает. since/until необязательны и по умолчанию задают окно в 7 дней, если они опущены. По умолчанию включает всех соавторов. Запросы, относящиеся к конкретному человеку (сводки, планы, отчёты), требуют responsibleUser.

Параметры
  • cursorstring

    Курсор для получения следующей страницы задач (курсор берётся из предыдущего вызова этого инструмента с теми же параметрами).

  • getByenum

    Метод для получения задач: "completion" - получает задачи по дате завершения (то есть когда задача была фактически завершена), "due" - получает задачи по сроку выполнения (то есть к какому моменту задачу нужно было завершить).

  • labelsstring[]

    Метки для фильтрации задач

  • labelsOperatorenum

    Оператор, который используется при фильтрации по меткам. От него зависит, должна ли задача иметь все метки или только некоторые из них. По умолчанию: "or".

  • limitinteger

    Максимальное количество возвращаемых задач.

  • parentIdstring

    ID родительской задачи, для которой нужно получить задачи.

  • projectIdstring

    ID проекта, для которого нужно получить задачи. ID проекта должен быть строкой идентификатора или текстом "inbox" для входящих задач.

  • responsibleUserstring

    Фильтрует выполненные задачи, назначенные на этого пользователя. ID пользователя, имя или email. Для персональных запросов (сводки, планы, отчёты) укажите текущего пользователя из user-info, чтобы исключить соавторов. По умолчанию: все соавторы.

  • sectionIdstring

    ID раздела, для которого нужно получить задачи.

  • sincestring

    Необязательная дата начала для завершённых задач. Формат: YYYY-MM-DD. По умолчанию берётся 6 дней до until (или сегодня, если until не указан), так что окно получается 7 дней.

  • untilstring

    Необязательная конечная дата для выполненных задач. Формат: YYYY-MM-DD. По умолчанию: 6 дней после since (или сегодня, если since не указан), в итоге получается окно в 7 дней.

  • workspaceIdstring

    ID рабочей области, задачи которой запрашиваются.

find-filtersтолько чтениеидемпотентный

Перечисляет все личные фильтры или ищет фильтры по имени. Фильтры - это сохранённые пользовательские представления, которые используют синтаксис запросов для организации задач (например, "today & p1", "#Work & overdue").

Параметры
  • searchstring

    Ищет фильтр по имени (частичное совпадение без учёта регистра). Если параметр не указан, возвращаются все фильтры.

find-labelsтолько чтениеидемпотентный

Перечисляет личные и общие метки. Личные метки содержат полные метаданные (id, name, color, order, isFavorite) и поддерживают постраничную выдачу и поиск по имени (частичное совпадение, без учёта регистра). Общие метки применяются в задачах, которыми с вами поделились. Они возвращаются только в виде имён (без ID и метаданных). При поиске все подходящие личные метки извлекаются со всех страниц и возвращаются единым набором результатов (limit и cursor игнорируются). Когда поиск не выполняется, личные метки возвращаются с постраничной разбивкой.

Параметры
  • cursorstring

    Курсор для получения следующей страницы меток (курсор берётся из предыдущего вызова этого инструмента с теми же параметрами). Игнорируется, если указан searchText.

  • limitinteger

    Максимальное количество меток для возврата.

  • searchTextstring

    Ищет метку по имени (частичное совпадение без учёта регистра). Поддерживает подстановочные знаки (например, "work*" для совпадения по префиксу). Используйте "*" для буквальной звёздочки. Если не указать, возвращает все метки.

find-project-collaboratorsтолько чтениеидемпотентный

Находит пользователей Todoist (соавторов, коллег) по имени или email, чтобы узнать их идентификатор пользователя. Используйте этот инструмент всякий раз, когда пользователь просит найти, разыскать или идентифицировать человека, например «найди идентификатор пользователя Carrie», «кто такой Ernesto», «найди пользователя». Когда projectId не указан, ищет среди соавторов всех общих проектов, к которым у аутентифицированного пользователя есть доступ, и среди самого аутентифицированного пользователя. Пустой результат означает, что человек не соавтор ни в одном общем с вами проекте, но это не обязательно значит, что его нет в Todoist. Когда projectId указан, ищет только в этом проекте. Совпадение по имени и email частичное, без учёта регистра.

Параметры
  • projectIdstring

    Необязательный. Если указан, ищет только среди участников этого проекта. Если не указан, ищет среди участников всех общих проектов, доступных аутентифицированному пользователю (плюс сам аутентифицированный пользователь) - используйте это для общих поисков в стиле "найти пользователя" / "кто такой X".

  • searchTermstring

    Ищет пользователя по имени или email (частичное совпадение без учёта регистра). Если параметр не указан, возвращает всех пользователей.

find-projectsтолько чтениеидемпотентный

Перечисляет все проекты или ищет проекты по имени. По умолчанию возвращаются только активные проекты; используйте archivedStatus ('archived' или 'all'), чтобы включить архивные проекты. При поиске или когда archivedStatus имеет значение 'all', возвращаются все соответствующие проекты (пагинация игнорируется). В противном случае проекты возвращаются с пагинацией.

Параметры
  • archivedStatusenum

    Какие проекты возвращать по статусу архива: 'active' (по умолчанию, только неархивированные), 'archived' (только архивированные) или 'all' (и активные, и архивированные). Каждый проект содержит поле isArchived. Архивированные проекты можно удалить с помощью инструмента delete-object (type: 'project').

  • cursorstring

    Курсор для получения следующей страницы проектов (курсор берётся из предыдущего вызова этого инструмента с теми же параметрами).

  • limitinteger

    Максимальное количество проектов для возврата.

  • searchTextstring

    Ищет проект по имени (частичное совпадение без учёта регистра). Поддерживает подстановочные знаки (например, "work*" для совпадения по префиксу). Для буквальной звёздочки использует "*". Если имя не указано, возвращает все проекты.

find-remindersтолько чтениеидемпотентный

Находит напоминания по идентификатору задачи (возвращает все типы напоминаний) или получает конкретное напоминание по его идентификатору. Используйте reminderId для временных напоминаний и locationReminderId для напоминаний о местоположении.

Параметры
  • locationReminderIdstring

    Получает конкретное напоминание о местоположении по его ID.

  • reminderIdstring

    Получает конкретное напоминание, привязанное ко времени (относительное или абсолютное), по его ID.

  • taskIdstring

    Находит все напоминания для конкретной задачи. Возвращает как напоминания по времени, так и напоминания по местоположению.

find-sectionsтолько чтениеидемпотентный

Ищет разделы по названию или другим критериям в проекте. При поиске использует серверный поиск, чтобы избежать загрузки всех разделов.

Параметры
  • projectIdstringобязательный

    ID проекта, в котором нужно искать секции. Project ID должен быть строкой ID или текстом "inbox" для задач входящих.

  • searchTextstring

    Ищет раздел по имени (частичное совпадение без учёта регистра). Поддерживает подстановочные знаки (например, "work*" для совпадения по префиксу). Для совпадения с самой звёздочкой использует "*". Если имя не указано, возвращает все разделы в проекте.

find-tasksтолько чтениеидемпотентный

Находит задачи по текстовому поиску, проекту/разделу/родительскому контейнеру, ответственному пользователю, меткам, необработанной строке фильтра Todoist или сохранённому фильтру по ID или имени (filterIdOrName). Должен быть указан хотя бы один фильтр.

Параметры
  • cursorstring

    Курсор для получения следующей страницы задач (курсор берётся из предыдущего вызова этого инструмента с теми же параметрами).

  • filterstring

    Строка запроса фильтра Todoist в исходном виде (например, "today", "p1", "##Work", "(today | overdue) & p1"). Объединяется с другими фильтрами через AND. Нельзя использовать вместе с projectId, sectionId, parentId или filterIdOrName.

  • filterIdOrNamestring

    ID или имя сохранённого фильтра Todoist. Запрос фильтра будет получен и использован для поиска задач. Нельзя использовать вместе с параметром filter, projectId, sectionId или parentId.

  • labelsstring[]

    Метки для фильтрации задач

  • labelsOperatorenum

    Оператор, который используется при фильтрации по меткам. От него зависит, должна ли задача иметь все метки или только некоторые из них. По умолчанию: "or".

  • limitinteger

    Максимальное количество возвращаемых задач.

  • parentIdstring

    Находит подзадачи этой родительской задачи.

  • projectIdstring

    Находит задачи в этом проекте. Project ID должен быть строкой ID или текстом "inbox" для входящих задач.

  • responsibleUserstring

    Находит задачи, назначенные этому пользователю. Может быть идентификатором пользователя, именем или адресом электронной почты. Для текущего пользователя также включает неназначенные задачи.

  • responsibleUserFilteringenum

    Как фильтровать по ответственному пользователю, когда responsibleUser не указан. "assigned" = только задачи, назначенные другим; "unassignedOrMe" = только неназначенные задачи или задачи, назначенные мне; "all" = все задачи независимо от назначения. Значение по умолчанию: unassignedOrMe.

  • searchTextstring

    Текст для поиска в задачах.

  • sectionIdstring

    Находит задачи в этом разделе.

find-tasks-by-dateтолько чтениеидемпотентный

Получает задачи по диапазону дат. startDate='today' включает просроченные элементы. По умолчанию responsibleUserFiltering='unassignedOrMe' исключает задачи других.

Параметры
  • cursorstring

    Курсор для получения следующей страницы задач (курсор берётся из предыдущего вызова этого инструмента с теми же параметрами).

  • daysCountinteger

    Количество дней, за которые нужно получить задачи, начиная с даты начала. По умолчанию 1, то есть только задачи за дату начала.

  • labelsstring[]

    Метки для фильтрации задач

  • labelsOperatorenum

    Оператор, который используется при фильтрации по меткам. От него зависит, должна ли задача иметь все метки или только некоторые из них. По умолчанию: "or".

  • limitinteger

    Максимальное количество задач для возврата. По умолчанию - 10.

  • overdueOptionenum

    Как обрабатывать просроченные задачи. 'overdue-only' - получить только просроченные задачи, 'include-overdue' - включить просроченные задачи вместе с задачами на указанную дату (даты), 'exclude-overdue' - исключить просроченные задачи. По умолчанию - 'include-overdue'.

  • responsibleUserstring

    Фильтрует задачи, назначенные на этого пользователя. ID пользователя, имя или email. Текущий пользователь также включает неназначенные задачи.

  • responsibleUserFilteringenum

    Фильтрует, когда responsibleUser не указан. 'assigned' = назначенные другим; 'unassignedOrMe' = не назначенные + мои; 'all' = все. По умолчанию: 'unassignedOrMe'.

  • startDatestring

    Начальная дата, с которой нужно получить задачи. Формат: YYYY-MM-DD или 'today', при этом 'today' по умолчанию также включает просроченные задачи.

get-overviewтолько чтениеидемпотентный

Получает обзор в Markdown. При вызове без projectId возвращает только структуру проектов и разделов аккаунта, без задач, для навигации. Передайте projectId (или "inbox" для Inbox), чтобы получить задачи этого проекта, сгруппированные по разделам.

Параметры
  • projectIdstring

    Необязательный ID проекта. Для Inbox используйте "inbox". Если указан, возвращает задачи этого проекта, сгруппированные по разделам. Если не указан, возвращает структуру проектов и разделов для всего аккаунта без задач.

get-productivity-statsтолько чтениеидемпотентный

Получает полную статистику продуктивности, включая разбивку выполнения по дням и неделям, серии целей (текущую, последнюю, максимальную), баллы кармы и тенденции, а также исторические данные кармы. Полезен для анализа продуктивности и отслеживания прогресса целей. Возвращает только счётчики, серии и карму, никогда сами задачи, для запроса «что я завершил» используйте find-activity.

Параметры

Без параметров.

get-project-activity-statsтолько чтениеидемпотентный

Получает ежедневные и, по желанию, еженедельные показатели выполнения задач для проекта за настраиваемый период времени (1-12 недель). Полезен для выявления тенденций и закономерностей в выполнении задач.

Параметры
  • includeWeeklyCountsboolean

    Включает недельные сводные счётчики наряду с дневными.

  • projectIdstringобязательный

    ID проекта, для которого запрашивается статистика активности.

  • weeksinteger

    Количество недель данных об активности, которые нужно получить (1-12, по умолчанию 2).

get-project-healthтолько чтениеидемпотентный

Получает комплексную оценку состояния проекта, включающую прогресс выполнения, статус здоровья (EXCELLENT, ON_TRACK, AT_RISK, CRITICAL) и опциональный подробный контекст с метриками проекта и данными на уровне задач. Использует includeContext=true для получения этой полной информации.

Параметры
  • includeContextboolean

    Включает подробный контекст состояния вместе с метриками проекта и данными по задачам. Может выдавать большой объём вывода для проектов с большим числом задач.

  • projectIdstringобязательный

    ID проекта, для которого проверяется работоспособность.

get-workspace-insightsтолько чтениеидемпотентный

Получает агрегированные сведения о состоянии и прогрессе по всем проектам в рабочей области. Принимает имя или ID рабочей области, с опциональной фильтрацией по ID проекта. Полезен для общего обзора состояния проектов.

Параметры
  • projectIdsstring[]

    Необязательный список ID проектов, чтобы ограничить аналитику конкретными проектами.

  • workspaceIdOrNamestringобязательный

    ID или имя рабочей области. Поддерживает точное совпадение по ID, точное совпадение по имени (без учёта регистра) или уникальное частичное совпадение по имени.

import-project-template

Импортирует шаблон в существующий проект, добавляя его задачи, разделы и комментарии к уже имеющемуся содержимому. Шаблон указывается по ID/URL или через CSV-содержимое из export-project-template. Чтобы начать новый проект из шаблона, сначала создайте проект с помощью add-projects, затем импортируйте в него. Это записывается немедленно и не может быть отменено, поэтому запускайте только для проекта, указанного пользователем.

Параметры
  • csvFileContentstring

    Необработанное содержимое CSV-шаблона, как его создаёт export-project-template. Указывает либо это, либо templateId, но не оба.

  • localestring

    Локаль импортируемого контента при использовании templateId. По умолчанию - "en".

  • projectIdstringобязательный

    ID существующего проекта, в который импортируется шаблон.

  • templateIdstring

    Шаблон для импорта: либо slug галереи ("product-launch"), либо идентификатор личного шаблона ("UT_28Ex..."), либо полный URL шаблона Todoist, который автоматически сокращается до ID. Шаблоны галереи работают для всех; личные шаблоны - только для аккаунта, который ими владеет. Через этот сервер нельзя получить список шаблонов, поэтому используйте только ID или URL, которые предоставил пользователь. Укажите либо это, либо csvFileContent, но не оба.

list-workspacesтолько чтениеидемпотентный

Получает все рабочие области для аутентифицированного пользователя. Возвращает сведения о рабочей области, включая ID, название, тип плана (STARTER/BUSINESS), роль пользователя (ADMIN/MEMBER/GUEST), настройки общего доступа по ссылке, разрешения гостей, дату создания и ID создателя.

Параметры

Без параметров.

manage-assignments

Массовые операции назначения для нескольких задач. Поддерживает операции assign, unassign и reassign с атомарным откатом при сбоях.

Параметры
  • dryRunboolean

    Если true, проверяет операции, не выполняя их.

  • fromAssigneeUserstring

    Для операций переназначения: текущий исполнитель, с которого переназначают. Может быть ID пользователя, имя или email. Необязательно - если не указан, переназначение идёт с любого текущего исполнителя.

  • operationenumобязательный

    Операция присваивания, которую нужно выполнить.

  • responsibleUserstring

    Пользователь, которому назначаются задачи. Может быть "me" (назначает текущему пользователю), ID пользователя, именем или email. Обязателен для операций assign и reassign.

  • taskIdsstring[]обязательный

    Идентификаторы задач, с которыми нужно работать (максимум 50).

project-managementидемпотентный

Архивирует или разархивирует проект по его ID.

Параметры
  • actionenumобязательный

    Действие, которое нужно выполнить над проектом.

  • projectIdstringобязательный

    Идентификатор проекта.

project-moveидемпотентный

Перемещает проект между личным и рабочим контекстами.

Параметры
  • actionenumобязательный

    Действие, которое нужно выполнить над проектом.

  • folderIdstring

    Необязательный ID целевой папки в рабочей области.

  • projectIdstringобязательный

    ID проекта, который нужно переместить.

  • visibilityenum

    Необязательная видимость доступа для проекта в рабочей области (restricted, team или public).

  • workspaceIdstring

    Целевой идентификатор рабочего пространства. Обязателен, когда action принимает значение move-to-workspace.

reorder-objectsидемпотентный

Переупорядочивает соседние проекты или разделы и при необходимости перемещает проекты в новый родительский элемент. Для проектов: задайте order, чтобы переупорядочить соседние элементы, и/или задайте parentId, чтобы переместить в новый родительский элемент (используйте "root" для верхнего уровня). Для разделов: задайте order, чтобы переупорядочить элементы внутри проекта.

Параметры
  • itemsobject[]обязательный

    Элементы для изменения порядка или перемещения. У каждого элемента должен быть хотя бы order или parentId. Сначала перемещаются элементы с parentId, затем переупорядочиваются элементы с order. Все элементы, у которых меняется порядок, должны быть siblings для предсказуемых результатов.

  • typeenumобязательный

    Тип сущности, для которой меняется порядок. "project" меняет порядок проектов одного уровня в пределах одного родителя (и может переносить проекты к новому родителю). "section" меняет порядок секций внутри одного проекта.

reschedule-tasks

Переносит задачи на новые даты, сохраняя регулярные расписания. В отличие от update-tasks (который заменяет всю строку due и может удалить правила повторения), этот инструмент меняет только дату, оставляя паттерны повторения без изменений. Используйте его, когда нужно перенести повторяющиеся задачи на другую дату, не меняя их схему повторения.

Параметры
  • tasksobject[]обязательный

    Задачи для переноса с их новыми датами.

searchтолько чтениеидемпотентный

Ищет по задачам и проектам в Todoist. Возвращает список релевантных результатов с идентификаторами, названиями и URL-адресами.

Параметры
  • querystringобязательный

    Строка поискового запроса для поиска задач и проектов.

uncomplete-tasks

Возобновляет (открывает заново) одну или несколько завершённых задач по их идентификаторам.

Параметры
  • idsstring[]обязательный

    Идентификаторы задач, которые нужно вернуть в незавершённое состояние.

update-comments

Обновляет несколько существующих комментариев новым содержимым.

Параметры
  • commentsobject[]обязательный

    Комментарии для обновления.

update-filters

Обновляет один или несколько существующих персональных фильтров новыми значениями.

Параметры
  • filtersobject[]обязательный

    Фильтры для обновления.

update-labels

Обновляет одну или несколько существующих меток. У личных меток (идентифицируемых по ID) можно обновить имя, цвет, порядок и флаг избранного. Общие метки (идентифицируемые по имени) можно только переименовывать.

Параметры
  • labelsobject[]обязательный

    Метки для обновления. Используйте labelType="personal" с ID, чтобы обновить личную метку, или labelType="shared" с name+newName, чтобы переименовать общую метку.

update-projects

Обновляет несколько существующих проектов новыми значениями.

Параметры
  • projectsobject[]обязательный

    Проекты для обновления.

update-remindersидемпотентный

Обновляет существующие напоминания. Каждое напоминание должно указывать свой тип ("relative", "absolute" или "location") и ID. Включайте только те поля, которые нужно изменить.

Параметры
  • remindersobject[]обязательный

    Массив напоминаний для обновления (макс. 25). Каждый должен включать тип напоминания и ID. Включайте только поля, которые нужно изменить.

update-sections

Обновляет несколько существующих разделов новыми значениями.

Параметры
  • sectionsobject[]обязательный

    Разделы для обновления.

update-tasks

Обновляет существующие задачи, включая содержимое, даты, приоритеты и назначения. Отправляет только изменённые поля.

Параметры
  • tasksobject[]обязательный

    Задачи для обновления (максимум 25).

user-infoтолько чтениеидемпотентный

Получает полную информацию о пользователе, включая идентификатор пользователя, полное имя, адрес электронной почты, часовой пояс с текущим местным временем, предпочтения по дню начала недели, даты текущей недели, прогресс по ежедневным/еженедельным целям и план пользователя (Free/Pro/Business).

Параметры

Без параметров.

view-attachmentтолько чтениеидемпотентный

Просматривает вложение из комментария Todoist. Передайте fileUrl из поля fileAttachment комментария. Поддерживает изображения (возвращаются встроенно), текстовые файлы (возвращаются как текст) и бинарные файлы, например PDF (возвращаются как встроенные ресурсы).

Параметры
  • fileUrlstringобязательный

    URL-адрес файла вложения для просмотра. Получает его из поля fileUrl в fileAttachment комментария.

Выберите клиент, чтобы установить Todoist MCP:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "doist-todoist-mcp-ge119llkj1": {
      "url": "https://ai.todoist.net/mcp",
      "type": "http"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "doist-todoist-mcp-ge119llkj1": {
      "url": "https://ai.todoist.net/mcp",
      "type": "http"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "doist-todoist-mcp-ge119llkj1": {
      "type": "http",
      "url": "https://ai.todoist.net/mcp"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"doist-todoist-mcp-ge119llkj1\",\"type\":\"http\",\"url\":\"https://ai.todoist.net/mcp\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "doist-todoist-mcp-ge119llkj1": {
      "url": "https://ai.todoist.net/mcp",
      "type": "http"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add --transport http doist-todoist-mcp-ge119llkj1 https://ai.todoist.net/mcp

Либо через JSON-конфиг:

claude mcp add-json doist-todoist-mcp-ge119llkj1 "{\"url\":\"https://ai.todoist.net/mcp\",\"type\":\"http\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add doist-todoist-mcp-ge119llkj1 --url https://ai.todoist.net/mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.doist-todoist-mcp-ge119llkj1]
url = "https://ai.todoist.net/mcp"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите Todoist MCP.

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "doist-todoist-mcp-ge119llkj1": {
      "url": "https://ai.todoist.net/mcp",
      "type": "http"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "doist-todoist-mcp-ge119llkj1": {
      "url": "https://ai.todoist.net/mcp",
      "type": "http",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например doist-todoist-mcp-ge119llkj1.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: doist-todoist-mcp-ge119llkj1
    type: http
    url: https://ai.todoist.net/mcp
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "doist-todoist-mcp-ge119llkj1": {
      "url": "https://ai.todoist.net/mcp",
      "type": "http"
    }
  }
}

Похожие MCP-сервера

stanislavlysenko0912/todoist-mcp-server

stanislavlysenko0912/todoist-mcp-server

от stanislavlysenko0912

MCP сервер для интеграции AI-ассистентов с Todoist. Управляйте задачами, проектами, метками и комментариями на естественном языке. Поддержка пакетной обработки, поиска по имени и умного контекста. Удобен для автоматизации планирования.

TypeScript⭐ 63
jimfilippou/things-mcp

jimfilippou/things-mcp

от jimfilippou

MCP сервер для интеграции AI-ассистентов с macOS-приложением Things. Создавайте и обновляйте задачи (todo) и проекты, управляйте тегами, сроками и чеклистами через URL-схему. Помогает автоматизировать личную продуктивность и планирование.

JavaScript⭐ 10
jen6/ticktick-mcp

jen6/ticktick-mcp

от jen6

MCP-сервер для интеграции TickTick с AI-ассистентами. Управляйте задачами с фильтрацией по приоритету, тегам и датам. Создавайте, обновляйте и завершайте задачи. Полезен для автоматизации работы че...

Python⭐ 67
dearlordylord/huly-mcp

dearlordylord/huly-mcp

от dearlordylord

MCP сервер для интеграции с Huly — платформой управления проектами и задачами. Позволяет создавать, обновлять и искать задачи, проекты, документы, комментарии. Полезен командам, использующим Huly в...

TypeScript⭐ 59
Lukaris/framedeck-mcp

Lukaris/framedeck-mcp

от lukaris

MCP сервер для Framedeck связывает AI-ассистентов с вашим конвейером производства контента. Управляйте идеями, этапами и задачами через Claude и ChatGPT - идеально для создателей контента и продакшн-менеджеров.

JavaScript⭐ 1
awwaiid/mcp-server-taskwarrior

awwaiid/mcp-server-taskwarrior

от awwaiid

Сервер MCP, подключающий TaskWarrior к AI: просмотр задач, фильтрация по проектам и тегам, добавление новых с описанием, сроком, приоритетом, отметка о выполнении. Упрощает управление задачами через естественный язык.

JavaScript⭐ 51
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин