MCP Server Apple Events vs Mjucius Cozi MCP

A side-by-side look at the MCP Server Apple Events and Mjucius Cozi MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

MCP Server Apple Events logoMCP Server Apple EventsWorkplace & Productivity · Local subprocess (stdio)MCP server providing native macOS integration with Apple Reminders and Calendar via EventKit64GoodAuth: no auth requiredMjucius Cozi MCP logoMjucius Cozi MCPWorkplace & Productivity · Local subprocess (stdio)Manage your family's calendars and lists in Cozi. View, create, and update appointments; organize…63GoodAuth: not declared

Verdict: choose MCP Server Apple Events for workplace & productivity work as a local process; choose Mjucius Cozi MCP for workplace & productivity as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

MCP Server Apple Events logoChoose MCP Server Apple Events when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You have the keys it needs: EVENTKIT_CLI_TIMEOUT_MS, EVENT_PERMISSION_TIMEOUT_MS.
  • You want tools like reminders_tasks, reminders_subtasks, reminders_lists.
Explore MCP Server Apple Events

Mjucius Cozi MCP logoChoose Mjucius Cozi MCP when

  • You need dedicated capabilities in the Workplace & Productivity domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like family_members, get_lists, get_list_items.
Explore Mjucius Cozi MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMCP Server Apple Events logoMCP Server Apple EventsMjucius Cozi MCP logoMjucius Cozi MCP
CategoryWorkplace & ProductivityWorkplace & Productivity
Quality signal64/100 · Good63/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredNot declared
PricingFreeNot declared
Required env varsEVENTKIT_CLI_TIMEOUT_MSEVENT_PERMISSION_TIMEOUT_MSNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars2276
Directory activity 1 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools515

Tools & capabilities

MCP Server Apple Events tools 5

  • reminders_tasksPriority, tags, subtasks. `startDate` is set via `update`, not `create`; on `read` it scopes the due-date window alongside `endDate`. Cross-list moves unsupported.
  • reminders_subtasksStored in the notes field (human-readable in Reminders.app).
  • reminders_listsRename via `name` → `newName`.
  • calendar_eventsAll-day inferred from date format. Cross-calendar moves unsupported. `span` scopes recurring deletes. `attendees` (update) invites addresses; `occurrenceDate` (delete) excepts one occurrence of a series — both need extra setup, see [Attendees and single occurrences](#attendees-and-single-occurrence…
  • calendar_calendarsWithout a date range, every calendar EventKit reports, with its `source` and write permission. With `startDate`/`endDate`, calendars holding ≥1 event in the window, annotated with an event count.

Mjucius Cozi MCP tools 15

  • family_membersList family members. Use the `id` for appointment attendees. Returns: [{id, name, color?}].
  • get_listsSummarize all lists (no items). Optionally filter by 'shopping' or 'todo'. Returns: [{id, title, type, item_count, completed_count}].
  • get_list_itemsItems in one list. Excludes completed items by default. Returns: [{id, text, status, position?}].
  • create_listCreate a list ('shopping' or 'todo'). Returns: {id, title, type}.
  • rename_listRename a list; its items stay as they are. Returns: {id, title, type}.
  • delete_listDelete a list. Returns true on success.
  • add_itemAdd an item to a list. Returns: {id, text}.
  • update_itemUpdate an item's text and/or completion status. Pass `text`, `completed`, or both. When both are provided the text is updated first then status is updated as a separate request — these are NOT atomic. Returns: {id, text, status}.
  • remove_itemsRemove items from a list. Returns true on success.
  • get_calendarAppointments for one month. Returns: [{id, subject, day, all_day, start?, end?, end_day?, attendees?, location?, notes?, reminders?, kind?, read_only?, source?, recurring?, recurrence?, series_start?, series_end?, skipped_days?}]. `day` is the day the entry happens; `end_day` appears only on multi-day events, which are listed in every month they overlap, so `day` may fall outside the month asked for. A recurring series (`recurring: true`) is listed once per occurrence in the month, as Cozi itself expands it: each entry carries the series `id`, its own `day` (and `end_day` when the occurrence spans days), and `series_start`. Occurrences deleted in Cozi are already left out (and named in `skipped_days`); a series with no occurrence left in the month is not listed. `kind` marks items that are not plain appointments (e.g. "birthday"); `read_only` items (holidays, subscribed calendars, with `source` naming the calendar) cannot be changed. `reminders` are minutes before the start.
  • search_calendarFind appointments by words in their subject, across months (Cozi's own search, the one in its app). Use it for "when is the dentist?" instead of paging through months. Returns: {appointments: [{...same fields as get_calendar, last_day?, next_days?}], more?}. A recurring series is one entry with `last_day` (latest past occurrence) and `next_days` (up to 10 upcoming). Cozi searches from a few years back onward, and an appointment created in the last few seconds may not be found yet; `more: true` means it found more than this first page, so narrow the query.
  • todayCurrent date, weekday and time on the user's machine. Returns: {date, weekday, time, timezone}. Call it before turning 'tomorrow' or 'this Saturday' into the ISO dates the calendar tools take when you have not called another Cozi tool yet; every Cozi tool result also carries this time.
  • +3 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

MCP Server Apple Events

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mcp-server-apple-events": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-apple-events"
      ],
      "env": {
        "EVENTKIT_CLI_TIMEOUT_MS": "YOUR_EVENTKIT_CLI_TIMEOUT_MS_HERE",
        "EVENT_PERMISSION_TIMEOUT_MS": "YOUR_EVENT_PERMISSION_TIMEOUT_MS_HERE"
      }
    }
  }
}

Mjucius Cozi MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "mjucius-cozi-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mjucius/cozi-mcp"
      ]
    }
  }
}

Frequently asked questions

MCP Server Apple Events is categorized under Workplace & Productivity and uses a local stdio subprocess. Mjucius Cozi MCP belongs to Workplace & Productivity and uses a local stdio subprocess. Pick MCP Server Apple Events for workplace & productivity work and Mjucius Cozi MCP for workplace & productivity.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

MCP Server Apple Events is listed as free. Auth: no auth required. Mjucius Cozi MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add mcp-server-apple-events and mjucius-cozi-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, MCP Server Apple Events has a quality signal of 64/100 (Good) with 1 views, 0 installs and 227 GitHub stars. Mjucius Cozi MCP has 63/100 (Good) with 1 views, 0 installs and 6 GitHub stars.