macOS日历提醒与备忘录MCP服务器

这是一个面向macOS日历、提醒事项和备忘录的统一MCP服务器,提供24个工具,让Claude Code等MCP客户端可以直接操作原生macOS应用,实现日程、任务和笔记管理自动化。

  • by jbkjr
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jbkjr/macos-mcp

使用说明

macos-mcp

Unified MCP server for macOS Calendar, Reminders, and Notes. Provides 24 tools for interacting with native macOS apps.

Requirements

  • macOS 12.0+
  • Node.js 22.23.4+, 24.22.1+ or 26.12.1+ (the October 2026 security releases)
  • Swift 5.9+ (included with Xcode)

Installation

git clone https://github.com/jbkjr/macos-mcp.git
cd macos-mcp
npm install
npm run build:all  # Builds both TypeScript and Swift

Usage

Add to your Claude Code configuration (~/.claude.json):

{
  "mcpServers": {
    "macos": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/macos-mcp/build/index.js"]
    }
  }
}

Replace /path/to/macos-mcp with the actual path where you cloned the repository.

Tools

Calendar (6 tools)

  • list_calendars - List all calendars
  • list_calendar_events - List events (filters: calendar, search, date range)
  • get_calendar_event - Get single event by ID
  • create_calendar_event - Create event
  • update_calendar_event - Update event by ID
  • delete_calendar_event - Delete event by ID

Reminders (9 tools)

  • list_reminder_lists - List all reminder lists
  • create_reminder_list - Create new list
  • rename_reminder_list - Rename existing list
  • delete_reminder_list - Delete list
  • list_reminders - List reminders (filters: list, completed, search, due date)
  • get_reminder - Get single reminder by ID
  • create_reminder - Create reminder
  • update_reminder - Update reminder
  • delete_reminder - Delete reminder by ID

Notes (9 tools)

  • list_note_folders - List all folders
  • create_note_folder - Create new folder
  • delete_note_folder - Delete folder
  • list_notes - List notes (filters: folder, limit)
  • get_note - Get note content by title
  • create_note - Create note (supports Markdown)
  • update_note - Update note content
  • delete_note - Delete note
  • search_notes - Search notes by query

Architecture

┌─────────────────────────────────────────┐
│         TypeScript MCP Server           │
│  (@modelcontextprotocol/sdk + Zod)      │
└─────────────────┬───────────────────────┘
                  │
    ┌─────────────┼─────────────┐
    │             │             │
    ▼             ▼             ▼
┌─────────┐ ┌─────────┐ ┌─────────────┐
│ Swift   │ │ Swift   │ │ AppleScript │
│ CLI     │ │ CLI     │ │ (via Node)  │
│         │ │         │ │             │
│ Calendar│ │Reminders│ │   Notes     │
│EventKit │ │EventKit │ │             │
└─────────┘ └─────────┘ └─────────────┘

Development

npm test           # Run tests
npm run dev        # Watch mode
npm run build      # Build TypeScript only
npm run build:swift  # Build Swift only

Permissions

On first use, macOS will prompt for Calendar and Reminders access. Grant these in:

  • System Settings > Privacy & Security > Calendars
  • System Settings > Privacy & Security > Reminders

Notes access is granted via Automation permissions for osascript.

License

MIT