fradser/mcp-server-apple-reminders

fradser/mcp-server-apple-reminders

от fradser
MCP сервер для управления Apple Reminders и Calendar на macOS. Создавайте, обновляйте и удаляйте напоминания с приоритетами, повторениями, тегами, подзадачами и геозонами, а также календарные событ...

Apple Events MCP Server Version 1.6.0 License: MIT

X Follow

English | 简体中文

A Model Context Protocol (MCP) server providing native integration with Apple Reminders and Calendar on macOS via the EventKit framework. Exposes reminders, lists, subtasks, and calendar events through a standardized interface with full CRUD operations.

The EventKit backend is the standalone event Swift CLI, vendored as a git submodule and built into bin/event during pnpm install — no separate brew install required. See docs/migration-to-event-cli.md for the v1.5.0 backend swap and the list of write fields not yet exposed by event.

Table of Contents

Features

  • Full CRUD for reminders, subtasks, reminder lists, and calendar events
  • Priority (high/medium/low/none), tags, and checklist subtasks with progress tracking
  • Multi-criteria filtering: completion, due-date range, priority, tags, full-text search, recurring, location-based
  • Flexible date formats (YYYY-MM-DD, YYYY-MM-DD HH:mm:ss, ISO 8601) with timezone awareness
  • Native macOS integration via EventKit — values configured in Reminders.app / Calendar.app round-trip through read responses
  • Automatic macOS permission discovery and prompting
  • Full Unicode support with comprehensive input validation

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

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

Читает коллекции календарей. Применяется для просмотра доступных календарей перед созданием или обновлением событий. Без диапазона дат возвращает все календари, о которых сообщает EventKit, каждый со своим источником (так два одноимённых календаря остаются различимыми) и сведения о том, разрешает ли он изменение содержимого. Необязательные фильтры по диапазону дат возвращают только календари с событиями в этом диапазоне.

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

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

  • endDatestring

    Необязательный конец диапазона для поиска календарей в заданной области. Значение только с датой или неполуночное значение включает указанный день; полуночное значение задаёт исключающую границу. При использовании вместе с startDate возвращаются только календари, в которых есть хотя бы одно событие в диапазоне, и каждый снабжается пометкой о количестве событий в диапазоне (повторяющиеся события считаются по одному за экземпляр). endDate должен быть не раньше startDate.

  • startDatestring

    Необязательное начало диапазона для поиска календарей в заданной области. Формат: 'YYYY-MM-DD', 'YYYY-MM-DD HH:mm:ss' или ISO 8601. CLI использует границы только по дате, поэтому время или часовой пояс усекаются до префикса даты. Если указан только один из startDate/endDate, второй подставляется так, чтобы получилось 14-дневное окно.

calendar_events

Управляет событиями календаря (тайм-блоками). Поддерживает чтение, создание, обновление и удаление событий. URL, структурированное местоположение, переключатель «весь день», доступность, будильники и правила повторения доступны только для чтения через этот инструмент; настраивайте их в Calendar.app. События на весь день определяются по формату даты («YYYY-MM-DD» без указания времени).

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

    Выполняемая операция.

  • attendeesstring[]

    Только обновление. Адреса электронной почты для приглашения на существующее событие. Добавление участника заставляет iCloud отправить настоящее приглашение и связывает событие так, что последующие перемещения и удаления распространяются на них.

  • availabilityenum

    Фильтр только для чтения: сужает результаты чтения по доступности событий. Его нельзя задать при создании или обновлении; настраивается в Calendar.app.

  • endDatestring

    Дата и время окончания. РЕКОМЕНДУЕМЫЙ формат: 'YYYY-MM-DD HH:mm:ss' (местное время). Для событий на весь день используйте 'YYYY-MM-DD' (без времени). Также поддерживается 'YYYY-MM-DDTHH:mm:ss' или ISO 8601 с часовым поясом. Для action='read' CLI использует границы только по дате: окончание, заданное только датой или не в полночь, включает свой указанный день, а окончание в полночь служит исключающей границей. Если endDate опущен и startDate опущен, по умолчанию берётся сегодняшняя дата + 14 дней; если указан только startDate, endDate по умолчанию равен startDate + 14 дней.

  • filterCalendarstring

    Фильтрует события по конкретному названию календаря.

  • idstring

    Уникальный идентификатор события (ОБЯЗАТЕЛЕН для update, delete; необязателен для read, чтобы получить одно событие). Чтение по id находит событие напрямую через EventKit и не требует диапазона дат.

  • locationstring

    Текст местоположения для события.

  • notestring

    Дополнительные заметки для мероприятия.

  • occurrenceDatestring

    Только удаление. Начало отдельного вхождения, которое нужно исключить из повторяющейся серии, например 2026-09-21T09:00:00. Без него удаление этого события может исключить только начало серии.

  • searchstring

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

  • spanenum

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

  • startDatestring

    Дата и время начала. РЕКОМЕНДУЕМЫЙ формат: 'YYYY-MM-DD HH:mm:ss' (местное время, например, '2025-11-04 09:00:00'). Для событий на весь день используйте 'YYYY-MM-DD' (без времени). Также поддерживает 'YYYY-MM-DDTHH:mm:ss' или ISO 8601 с часовым поясом. Для action='read' CLI использует границы только по дате, поэтому любое время или часовой пояс обрезается до префикса даты. Если startDate не указан и endDate не указан, по умолчанию берётся сегодняшняя дата; если указан только endDate, startDate по умолчанию задаётся как 14-дневный интервал, заканчивающийся на этой границе.

  • targetCalendarstring

    Имя календаря для действия создания. События нельзя перемещать между календарями через обновление. Вместо этого удалите и создайте заново.

  • timezonestring

    Идентификатор часового пояса IANA для события с указанием времени (например, 'America/New_York', 'Asia/Shanghai'). Время начала и окончания событий с указанием времени интерпретируется в этом часовом поясе. События на весь день игнорируют этот параметр.

  • titlestring

    Название события (ОБЯЗАТЕЛЬНО для создания, необязательно для обновления).

reminders_lists

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

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

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

  • namestring

    Текущее имя списка (для обновления, удаления) или новое имя списка (для создания).

  • newNamestring

    Новое имя для списка (для обновления).

reminders_subtasks

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

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

    Операция для выполнения: читать (показать подзадачи), создать (добавить новую), обновить (изменить), удалить (убрать), переключить (изменить статус завершения), переупорядочить (изменить порядок).

  • completedboolean

    Статус завершения подзадачи (для обновления).

  • orderstring[]

    Массив идентификаторов подзадач в нужном порядке (ОБЯЗАТЕЛЬНО для переупорядочивания). Должен включать все идентификаторы подзадач.

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

    Уникальный идентификатор родительского напоминания (ОБЯЗАТЕЛЬНО для всех операций).

  • subtaskIdstring

    Уникальный идентификатор подзадачи (ОБЯЗАТЕЛЕН для обновления, удаления, переключения).

  • titlestring

    Название подзадачи (обязательно для создания, необязательно для обновления).

reminders_tasks

Управляет напоминаниями. Поддерживает чтение, создание, обновление и удаление напоминаний. Будильники, правила повторения и триггеры на основе местоположения доступны только для чтения через этот инструмент; настройте их в Reminders.app.

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

    Выполняемая операция.

  • addTagsstring[]

    Теги для добавления к напоминанию (при обновлении). Объединяется с существующими тегами. Пример: ["followup"]

  • completedboolean

    Отметь напоминание как выполненное/невыполненное (только обновление).

  • dueDatestring

    Дата выполнения. Используйте 'YYYY-MM-DD' (без времени) для напоминания на весь день, которое Reminders.app показывает как день без времени. Для конкретного времени используйте 'YYYY-MM-DD HH:mm:ss' (местное время без часового пояса, например, '2025-11-04 18:00:00'). Также поддерживает 'YYYY-MM-DDTHH:mm:ss' или ISO 8601 с часовым поясом (например, '2025-10-30T04:00:00Z'). Если часовой пояс не указан, время трактуется как местное.

  • dueWithinenum

    Фильтрует напоминания по диапазону дат выполнения (применяется в TS после получения данных).

  • endDatestring

    Конец окна дат (только для чтения, action='read'). Передаётся в CLI как --end; конечный день не включается. Используется только часть с датой - любая составляющая времени/часового пояса отбрасывается до префикса даты (точность до дня). Если указана только одна из дат startDate/endDate, другая заполняется как окно в 14 дней.

  • filterListstring

    Фильтрует напоминания по конкретному названию списка.

  • filterLocationBasedboolean

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

  • filterPriorityenum

    Фильтруйте напоминания по уровню приоритета.

  • filterRecurringboolean

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

  • filterTagsstring[]

    Фильтровать напоминания по тегам (должны иметь ВСЕ указанные теги). Пример: ["work", "urgent"]

  • idstring

    Уникальный идентификатор напоминания (ОБЯЗАТЕЛЕН для обновления, удаления; необязателен для чтения, чтобы получить одно напоминание).

  • notestring

    Дополнительные заметки к напоминанию.

  • priorityenum

    Уровень приоритета: 0=нет, 1=высокий, 5=средний, 9=низкий (для создания/обновления).

  • removeTagsstring[]

    Теги для удаления из напоминания (для обновления). Пример: ["срочно"]

  • searchstring

    Поисковый запрос для фильтрации напоминаний по заголовку или заметкам (применяется в TypeScript после получения данных).

  • showCompletedboolean

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

  • startDatestring

    Дата начала. Когда action='update': задаёт дату начала напоминания (CLI не может задать её при создании) - 'YYYY-MM-DD' (без времени) оставляет напоминание на весь день, 'YYYY-MM-DD HH:mm:ss' или ISO 8601 задают время. Когда action='read': начало окна сроков, передаётся в CLI как --start (начальный день включительно). Для read используется только часть с датой - любой компонент времени/зоны усекается до префикса даты, поэтому окно вычисляется с точностью до дня. Если для read передан только один из startDate/endDate, второй заполняется как 14-дневное окно.

  • subtasksstring[]

    Исходные подзадачи для создания с напоминанием (для действия создания). Укажите массив заголовков подзадач. Пример: ["Купить молоко", "Взять яйца", "Забрать хлеб"]

  • tagsstring[]

    Теги для установки на напоминание (при создании). Заменяет все существующие теги. Пример: ["работа", "срочно"]

  • targetListstring

    Название списка для создания или обновления.

  • titlestring

    Название напоминания (ОБЯЗАТЕЛЬНО для создания, необязательно для обновления).

  • urlstring

    URL, который нужно связать с напоминанием. Этот параметр задаёт поле URL в EventKit, которое Reminders.app не показывает в заметке; оно видно клиентам EventKit и Shortcut, который CLI может вызвать.

1.6.1основная
1.6.0
1.5.0
1.4.0
1.2.0

Выберите клиент, чтобы установить fradser/mcp-server-apple-reminders:

Любой клиент

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

{
  "mcpServers": {
    "fradser-mcp-server-apple-reminders-dh4ov2chot": {
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "command": "npx"
    }
  }
}
CursorCursor

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

{
  "mcpServers": {
    "fradser-mcp-server-apple-reminders-dh4ov2chot": {
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "command": "npx"
    }
  }
}
VS Code

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

{
  "servers": {
    "fradser-mcp-server-apple-reminders-dh4ov2chot": {
      "type": "stdio",
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "command": "npx"
    }
  }
}

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

code --add-mcp "{\"name\":\"fradser-mcp-server-apple-reminders-dh4ov2chot\",\"type\":\"stdio\",\"args\":[\"-y\",\"mcp-server-apple-events\"],\"command\":\"npx\"}"
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": {
    "fradser-mcp-server-apple-reminders-dh4ov2chot": {
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "command": "npx"
    }
  }
}
Claude CodeClaude Code

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

claude mcp add fradser-mcp-server-apple-reminders-dh4ov2chot -- npx -y mcp-server-apple-events

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

claude mcp add-json fradser-mcp-server-apple-reminders-dh4ov2chot "{\"args\":[\"-y\",\"mcp-server-apple-events\"],\"command\":\"npx\"}"
CodexCodex

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

codex mcp add fradser-mcp-server-apple-reminders-dh4ov2chot -- npx -y mcp-server-apple-events

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

[mcp_servers.fradser-mcp-server-apple-reminders-dh4ov2chot]
command = "npx"
args = ["-y", "mcp-server-apple-events"]
PerplexityPerplexity

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

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

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

WindsurfWindsurf

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

{
  "mcpServers": {
    "fradser-mcp-server-apple-reminders-dh4ov2chot": {
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "command": "npx"
    }
  }
}
ClineCline

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

{
  "mcpServers": {
    "fradser-mcp-server-apple-reminders-dh4ov2chot": {
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "command": "npx",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

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

mcpServers:
  - name: fradser-mcp-server-apple-reminders-dh4ov2chot
    command: npx
    args:
      - "-y"
      - "mcp-server-apple-events"
Zed

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

{
  "context_servers": {
    "fradser-mcp-server-apple-reminders-dh4ov2chot": {
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "command": "npx"
    }
  }
}

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

madbonez/caldav-mcp

madbonez/caldav-mcp

от madbonez

MCP сервер для работы с любыми CalDAV-календарями. Позволяет создавать, получать и удалять события с напоминаниями и участниками. Полезен для автоматизации календарей в MCP-клиентах.

Python⭐ 15
takumi0706/google-calendar-mcp

takumi0706/google-calendar-mcp

от takumi0706

MCP-сервер для интеграции Google Календаря с Claude Desktop. Управляйте событиями через естественный язык: создавайте, редактируйте, удаляйте встречи, настраивайте повторения и цвета. Безопасная ау...

TypeScript⭐ 59
jen6/ticktick-mcp

jen6/ticktick-mcp

от jen6

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

Python⭐ 67
Pingfyr/mcp

Pingfyr/mcp

от pingfyr

MCP-сервер для управления напоминаниями через Pingfyr на естественном языке. Отправляйте в email, Slack и Telegram — без внешних cron-задач. Полезен разработчикам AI-ассистентов для автоматизации у...

JavaScript⭐ 1
Google Calendar MCP

Google Calendar MCP

от nspady

Управляет Google Calendar: создаёт и редактирует события, находит пересечения и свободные окна, импортирует встречи из изображений и ссылок.

TypeScript⭐ 1201
henilcalagiya/mcp-apple-notes

henilcalagiya/mcp-apple-notes

от henilcalagiya

MCP-сервер для автоматизации Apple Notes на macOS. Создавайте, редактируйте и удаляйте заметки и папки, ищите по ключевым словам. Работает с MCP-клиентами (Continue.dev, Claude Desktop). Основан на...

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

Лука Никитин