MAG-Cie/mcp-microsoft-todo

MAG-Cie/mcp-microsoft-todo

от mag-cie
MCP-сервер для Microsoft To Do с любыми аккаунтами Microsoft, без настройки Azure, вход через device code. 28 инструментов для управления задачами: создание, поиск, групповые операции, экспорт в iC...

mcp-microsoft-todo

🇫🇷 Version française : README.fr.md

MCP server to drive Microsoft To Do from Claude Code, Claude Desktop, or any MCP-compatible client.

Works with any Microsoft account: personal (outlook.com, hotmail.com, live.com), Office 365 personal or business, Microsoft 365. Zero Azure setup required on the user side — just sign in via device code flow.

npm license


🏗 Built and maintained by MAG&Cie

This MCP server is open-source and free to use. It's also a showcase of our Création de MCP offering at MAG&Cie — we build custom MCP connectors for businesses that want to plug AI into their internal tools (CRM, ERP, custom APIs, internal databases).

If you'd like the same kind of connector for your tools — drop us a line at www.mag-cie.com/creation-mcp.


🚀 End-user installation

Prerequisites (all clients)
  • Node.js 20+ (nodejs.org)
  • A Microsoft account (free or paid)

No Azure account required, no App Registration to create, nothing to compile.


🟦 Claude Code (CLI)

Install (one command):

claude mcp add --transport stdio microsoft-todo -- npx -y @mag-cie/mcp-microsoft-todo

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

Инструменты были проиндексированы:
batch_complete_tasksидемпотентныйвнешний мир

Отмечает несколько задач как завершённые в одном $batch HTTP вызове (до 100 элементов).

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

batch_create_tasksвнешний мир

Создаёт несколько задач за один HTTP-вызов через Microsoft Graph $batch (до 100 элементов, автоматически разбивается на части по 20). Возвращает: статус + результат ИЛИ ошибку для каждого элемента, по порядку. Эффективнее N вызовов create_task.

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

batch_delete_tasksидемпотентныйвнешний мир

Удаляет несколько задач в одном HTTP-вызове $batch (до 100 элементов).

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

bulk_update_categoriesидемпотентныйвнешний мир

Добавляет/удаляет категории для нескольких задач за одну операцию. Двухфазный пакет: GET для чтения существующих категорий, затем PATCH с обновлённым набором. Поэлементные ошибки, без глобального сбоя.

Параметры
  • addstring[]
  • refsobject[]обязательный
  • removestring[]
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

complete_taskидемпотентныйвнешний мир

Ярлык для отметки задачи как выполненной.

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

create_checklist_itemвнешний мир

Добавляет подпункт (чек-лист) к задаче.

Параметры
  • display_namestringобязательный
  • is_checkedboolean
  • list_idstringобязательный
  • task_idstringобязательный
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

create_linked_resourceвнешний мир

Прикрепляет связанный ресурс (URL или внешнюю ссылку) к задаче.

Параметры
  • application_namestring
  • display_namestring
  • external_idstring
  • list_idstringобязательный
  • task_idstringобязательный
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

  • web_urlstring
create_taskвнешний мир

Создаёт новую задачу в списке To Do. Поддерживает повторение и напоминание.

Параметры
  • bodystring
  • categoriesstring[]
  • due_datestring

    ISO 8601

  • importanceenum
  • is_reminder_onboolean
  • list_idstringобязательный
  • recurrenceobject

    Microsoft Graph patternedRecurrence. Объединяет pattern (type, interval, ...) и range (type, startDate, ...).

  • reminder_date_timestring

    ISO 8601

  • reminder_time_zonestring
  • time_zonestring
  • titlestringобязательный
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

delete_checklist_itemидемпотентныйвнешний мир

Удаляет подэлемент.

Параметры
  • item_idstringобязательный
  • list_idstringобязательный
  • task_idstringобязательный
delete_extensionидемпотентныйвнешний мир

Удаляет открытое расширение из задачи.

Параметры
  • extension_namestringобязательный
  • list_idstringобязательный
  • task_idstringобязательный
delete_linked_resourceидемпотентныйвнешний мир

Удаляет связанный ресурс из задачи.

Параметры
  • list_idstringобязательный
  • resource_idstringобязательный
  • task_idstringобязательный
delete_taskидемпотентныйвнешний мир

Удаляет задачу навсегда.

Параметры
  • list_idstringобязательный
  • task_idstringобязательный
export_tasks_icsтолько чтениевнешний мир

Экспортирует задачи в формат iCalendar (text/calendar VTODO) для импорта в Google Calendar, Apple Calendar, Outlook, Thunderbird и другие. Преобразует повторения в RRULE, когда это возможно. Преобразует напоминания в VALARM.

Параметры
  • include_completedboolean
  • list_idsstring[]
  • top_per_listnumber
get_taskтолько чтениевнешний мир

Получает детали задачи по ID.

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

list_all_tasksтолько чтениевнешний мир

Получает все активные задачи из всех списков за один запрос (внутри использует Graph $batch). Используйте для вопроса «какие у меня все задачи?» вместо N×list_tasks вызовов. Необязательный параметр filter — это OData-фильтр, применяемый к каждому списку (например, importance eq 'high'). По умолчанию добавляется status ne 'completed', если только include_completed не равен true.

Параметры
  • filterstring
  • include_completedboolean
  • top_per_listnumber
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

list_checklist_itemsтолько чтениевнешний мир

Перечисляет подзадачи (контрольный список) задачи.

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

    Если true: следует по @odata.nextLink до 20 страниц (≈2000 элементов максимум). По умолчанию false. Используйте с осторожностью: большие наборы результатов могут исчерпать контекстное окно LLM.

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

list_extensionsтолько чтениевнешний мир

Перечисляет открытые расширения (пользовательские JSON-метаданные), прикреплённые к задаче.

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

    Если true: следует по @odata.nextLink до 20 страниц (≈2000 элементов максимум). По умолчанию false. Используйте с осторожностью: большие наборы результатов могут исчерпать контекстное окно LLM.

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

list_linked_resourcesтолько чтениевнешний мир

Перечисляет связанные ресурсы (внешние URL, ссылки на сторонние приложения) задачи.

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

    Если true: следует по @odata.nextLink до 20 страниц (≈2000 элементов максимум). По умолчанию false. Используйте с осторожностью: большие наборы результатов могут исчерпать контекстное окно LLM.

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

list_overdue_tasksтолько чтениевнешний мир

Перечисляет ВСЕ просроченные задачи (status ne completed и dueDateTime < today) по каждому списку. Объединяет через Promise.all.

Параметры
  • top_per_listnumber
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

list_task_listsтолько чтениевнешний мир

Выводит список всех To Do списков пользователя (Tasks, Inbox, пользовательские списки и т.д.).

Параметры
  • paginateboolean

    Если true: следует по @odata.nextLink до 20 страниц (≈2000 элементов максимум). По умолчанию false. Используйте с осторожностью: большие наборы результатов могут исчерпать контекстное окно LLM.

  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

list_tasksтолько чтениевнешний мир

Выводит список задач из списка To Do. Поддерживает OData filter, $orderby, $top и пагинацию.

Параметры
  • filterstring
  • list_idstringобязательный
  • orderbystring
  • paginateboolean

    Если true: следует по @odata.nextLink до 20 страниц (≈2000 элементов максимум). По умолчанию false. Используйте с осторожностью: большие наборы результатов могут исчерпать контекстное окно LLM.

  • topnumber
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

list_tasks_by_categoryтолько чтениевнешний мир

Перечисляет ВСЕ задачи, содержащие заданную категорию, во всех списках. Фильтр OData: categories/any(c: c eq '...').

Параметры
  • categorystringобязательный
  • include_completedboolean
  • top_per_listnumber
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

move_taskвнешний мир

Перемещает задачу из одного списка в другой. Воссоздаёт задачу в целевом списке (заголовок, описание, срок, периодичность, напоминание, категории сохраняются), затем удаляет оригинал. Примечание: checklistItems и linkedResources НЕ перемещаются (ограничение Graph). Идентификатор задачи изменяется.

Параметры
  • source_list_idstringобязательный
  • target_list_idstringобязательный
  • task_idstringобязательный
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

search_tasksтолько чтениевнешний мир

Ищет термин в названиях задач во ВСЕХ списках (с учётом регистра). По умолчанию исключает выполненные задачи.

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

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

set_extensionидемпотентныйвнешний мир

Создаёт или обновляет (upsert) открытое расширение в задаче. Прикрепляет произвольные JSON-метаданные (project_id, external_ref, custom flags...), которые сохраняются в Microsoft Graph.

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

    Произвольный JSON-объект для хранения.

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

    Уникальное имя, в идеале в формате reverse-DNS, например 'com.example.mydata'.

  • list_idstringобязательный
  • task_idstringобязательный
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

summarize_todayтолько чтениевнешний мир

Сводка задач на сегодня и просроченных, сгруппированных по спискам. Полезна для вопроса: «Что мне нужно сделать сегодня?»

Параметры
  • time_zonestring
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

update_checklist_itemидемпотентныйвнешний мир

Обновляет подпункт (переименовать или отметить/снять отметку).

Параметры
  • display_namestring
  • is_checkedboolean
  • item_idstringобязательный
  • list_idstringобязательный
  • task_idstringобязательный
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

update_taskидемпотентныйвнешний мир

Обновляет существующую задачу (название, статус, повторение, напоминание и т.д.).

Параметры
  • bodystring
  • categoriesstring[]
  • due_datestring

    ISO 8601

  • importanceenum
  • is_reminder_onboolean
  • list_idstringобязательный
  • recurrenceobject

    Microsoft Graph patternedRecurrence. Объединяет pattern (type, interval, ...) и range (type, startDate, ...).

  • reminder_date_timestring

    ISO 8601

  • reminder_time_zonestring
  • statusenum
  • task_idstringобязательный
  • time_zonestring
  • titlestring
  • verboseboolean

    Если true: возвращает полный JSON. В противном случае: компактный текстовый формат (по умолчанию, экономит токены).

1.2.2основная
1.2.1
1.2.0
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.1
1.0.0
0.5.0
0.4.0
0.3.0
0.2.0

Выберите клиент, чтобы установить MAG-Cie/mcp-microsoft-todo:

Любой клиент

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

{
  "mcpServers": {
    "mag-cie-mcp-microsoft-todo-q4crcnp6we": {
      "command": "npx",
      "args": [
        "-y",
        "@mag-cie/mcp-microsoft-todo"
      ]
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "mag-cie-mcp-microsoft-todo-q4crcnp6we": {
      "command": "npx",
      "args": [
        "-y",
        "@mag-cie/mcp-microsoft-todo"
      ]
    }
  }
}
VS Code

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

{
  "servers": {
    "mag-cie-mcp-microsoft-todo-q4crcnp6we": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@mag-cie/mcp-microsoft-todo"
      ]
    }
  }
}

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

code --add-mcp "{\"name\":\"mag-cie-mcp-microsoft-todo-q4crcnp6we\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@mag-cie/mcp-microsoft-todo\"]}"
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": {
    "mag-cie-mcp-microsoft-todo-q4crcnp6we": {
      "command": "npx",
      "args": [
        "-y",
        "@mag-cie/mcp-microsoft-todo"
      ]
    }
  }
}
Claude CodeClaude Code

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

claude mcp add mag-cie-mcp-microsoft-todo-q4crcnp6we -- npx -y @mag-cie/mcp-microsoft-todo

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

claude mcp add-json mag-cie-mcp-microsoft-todo-q4crcnp6we "{\"command\":\"npx\",\"args\":[\"-y\",\"@mag-cie/mcp-microsoft-todo\"]}"
CodexCodex

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

codex mcp add mag-cie-mcp-microsoft-todo-q4crcnp6we -- npx -y @mag-cie/mcp-microsoft-todo

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

[mcp_servers.mag-cie-mcp-microsoft-todo-q4crcnp6we]
command = "npx"
args = ["-y", "@mag-cie/mcp-microsoft-todo"]
PerplexityPerplexity

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

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите MAG-Cie/mcp-microsoft-todo, а в поле команды запуска — строку ниже:
npx -y @mag-cie/mcp-microsoft-todo

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "mag-cie-mcp-microsoft-todo-q4crcnp6we": {
      "command": "npx",
      "args": [
        "-y",
        "@mag-cie/mcp-microsoft-todo"
      ]
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "mag-cie-mcp-microsoft-todo-q4crcnp6we": {
      "command": "npx",
      "args": [
        "-y",
        "@mag-cie/mcp-microsoft-todo"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

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

mcpServers:
  - name: mag-cie-mcp-microsoft-todo-q4crcnp6we
    command: npx
    args:
      - "-y"
      - "@mag-cie/mcp-microsoft-todo"
Zed

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

{
  "context_servers": {
    "mag-cie-mcp-microsoft-todo-q4crcnp6we": {
      "command": "npx",
      "args": [
        "-y",
        "@mag-cie/mcp-microsoft-todo"
      ]
    }
  }
}

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

softeria/ms-365-mcp-server

softeria/ms-365-mcp-server

от softeria

MCP сервер для работы с Microsoft 365 через Graph API. Предоставляет 200+ инструментов для управления почтой, календарём и OneDrive, включая Teams и SharePoint. Автоматизируйте офисные задачи с ИИ-ассистентами.

TypeScript⭐ 1063
orellazi/coda-mcp

orellazi/coda-mcp

от orellazri

MCP сервер для работы с API Coda: управляйте страницами (создание, чтение, обновление, дублирование, переименование) и таблицами (строки, столбцы, вставка, обновление, удаление, кнопки). Инструмент полезен для интеграции AI-ассистентов с документами Coda и автоматизации рутинных операций.

TypeScript⭐ 62
henilcalagiya/google-sheets-mcp

henilcalagiya/google-sheets-mcp

от henilcalagiya

MCP-сервер для автоматизации Google Sheets: создание, чтение, обновление и удаление таблиц через MCP-клиенты. Использует сервисный аккаунт Google для безопасной интеграции. Полезен разработчикам, а...

Python⭐ 13
starecz/karea-mcp

starecz/karea-mcp

от starecz

MCP-сервер Karea добавляет 44 инструмента для управления задачами прямо из кода: от создания до закрытия, с заметками, Jira и сводками. Полезен разработчикам, работающим в Claude Code или Cursor.

TypeScript⭐ 1
HuntsDesk/ve-gws

HuntsDesk/ve-gws

от huntsdesk

MCP сервер для Google Workspace с 28 дополнительными инструментами авторской работы: создание слайдов, форматирование документов, управление таблицами и диском. Полный контроль над Gmail, Календарем, Чатами и Формами. Поддержка OAuth 2.1 и CLI.

Python⭐ 2
jen6/ticktick-mcp

jen6/ticktick-mcp

от jen6

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

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

Лука Никитин