Apple MCP Tools

by wearesage

Integrations

  • Provides tools for interacting with various Apple applications including Contacts, Notes, Messages, Mail, Reminders, Calendar, and Maps, allowing users to search, create, and manage content within these native macOS applications.

  • Allows web searches using DuckDuckGo's search engine and retrieval of content from search results.

  • Enables integration with macOS applications and services, providing access to system features through AppleScript for managing personal information and communication.

Apple MCP(模型上下文协议)工具

一组工具,允许像 Claude 这样的 AI 助手通过模型上下文协议 (MCP) 与 Apple 应用程序和服务进行交互。

概述

该软件包提供了用于与各种 Apple 应用程序和服务交互的 MCP 工具,包括:

  • 联系人:从 Apple 通讯录应用中搜索和检索联系人
  • 笔记:在 Apple Notes 应用中搜索、检索、创建笔记和列出文件夹
  • 信息:发送、阅读、安排信息和检查未读信息
  • 邮件:阅读未读邮件、搜索邮件、发送电子邮件
  • 提醒事项:在 Apple 提醒事项应用中搜索、创建和打开提醒事项
  • 日历:在 Apple 日历应用中搜索、创建和打开日历事件
  • 地图:搜索位置、管理指南、保存收藏夹和获取路线
  • 网络搜索:使用 DuckDuckGo 搜索网络并从搜索结果中检索内容

安装

# Install with npm npm install @sage/mcp-apple # Install with yarn yarn add @sage/mcp-apple # Install with bun bun add @sage/mcp-apple

要求

  • macOS 操作系统
  • Node.js 18+ 或 Bun 运行时
  • 访问 Apple 应用程序(联系人、备忘录、信息、邮件等)的适当权限

用法

启动 MCP 服务器

# Using the CLI npx apple-mcp # Using bun bun run dev

连接到克劳德

要将这些工具与 Claude 结合使用,您需要将 MCP 服务器连接到 Claude。您可以使用 MCP 代理或直接通过 Claude 界面(如有)进行连接。

# Example using mcp-proxy mcp-proxy --server "bun run /path/to/apple-mcp/index.ts"

工具示例

联系方式
// Search for a contact by name { "operation": "contacts", "name": "John Doe" } // List all contacts { "operation": "contacts" }
笔记
// Search for notes containing specific text { "operation": "notes", "operation": "search", "searchText": "meeting notes" } // Create a new note { "operation": "notes", "operation": "create", "title": "Shopping List", "body": "- Milk\n- Eggs\n- Bread", "folderName": "Personal" } // List all notes in a folder { "operation": "notes", "operation": "list", "folderName": "Work" } // List all folders { "operation": "notes", "operation": "listFolders" } // Create a new folder { "operation": "notes", "operation": "createFolder", "folderName": "Projects" }
消息
// Send a message { "operation": "messages", "operation": "send", "phoneNumber": "+1234567890", "message": "Hello, how are you?" } // Read messages from a contact { "operation": "messages", "operation": "read", "phoneNumber": "+1234567890", "limit": 5 } // Schedule a message { "operation": "messages", "operation": "schedule", "phoneNumber": "+1234567890", "message": "Don't forget our meeting tomorrow!", "scheduledTime": "2023-12-01T09:00:00Z" } // Check unread messages { "operation": "messages", "operation": "unread" }
邮件
// Check unread emails { "operation": "mail", "operation": "unread", "limit": 10 } // Search emails { "operation": "mail", "operation": "search", "searchTerm": "invoice", "limit": 5 } // Send an email { "operation": "mail", "operation": "send", "to": "recipient@example.com", "subject": "Meeting Agenda", "body": "Here's the agenda for our meeting tomorrow...", "cc": "colleague@example.com" } // List mailboxes { "operation": "mail", "operation": "mailboxes" } // List accounts { "operation": "mail", "operation": "accounts" }
提醒事项
// List all reminders { "operation": "reminders", "operation": "list" } // Search for reminders { "operation": "reminders", "operation": "search", "searchText": "groceries" } // Create a reminder { "operation": "reminders", "operation": "create", "name": "Buy milk", "listName": "Shopping", "notes": "Get organic milk", "dueDate": "2023-12-01T18:00:00Z" } // Open a reminder { "operation": "reminders", "operation": "open", "searchText": "Buy milk" } // List reminders by list ID { "operation": "reminders", "operation": "listById", "listId": "x-apple-reminder://list/123456" }
日历
// Search for events { "operation": "calendar", "operation": "search", "searchText": "meeting", "fromDate": "2023-12-01T00:00:00Z", "toDate": "2023-12-31T23:59:59Z" } // List upcoming events { "operation": "calendar", "operation": "list", "limit": 5 } // Create an event { "operation": "calendar", "operation": "create", "title": "Team Meeting", "startDate": "2023-12-05T14:00:00Z", "endDate": "2023-12-05T15:00:00Z", "location": "Conference Room A", "notes": "Quarterly review meeting", "isAllDay": false, "calendarName": "Work" } // Open an event { "operation": "calendar", "operation": "open", "eventId": "x-apple-calendar://event/123456" }
地图
// Search for locations { "operation": "maps", "operation": "search", "query": "coffee shops near me", "limit": 5 } // Save a location { "operation": "maps", "operation": "save", "name": "Favorite Coffee Shop", "address": "123 Main St, Anytown, USA" } // Get directions { "operation": "maps", "operation": "directions", "fromAddress": "123 Main St, Anytown, USA", "toAddress": "456 Oak Ave, Anytown, USA", "transportType": "driving" } // Drop a pin { "operation": "maps", "operation": "pin", "name": "Meeting Point", "address": "Central Park, New York, NY" } // List guides { "operation": "maps", "operation": "listGuides" } // Create a guide { "operation": "maps", "operation": "createGuide", "guideName": "Favorite Restaurants" } // Add to guide { "operation": "maps", "operation": "addToGuide", "guideName": "Favorite Restaurants", "address": "789 Pine St, Anytown, USA" } // Get map center coordinates { "operation": "maps", "operation": "getCenter" } // Set map center coordinates { "operation": "maps", "operation": "setCenter", "latitude": 37.7749, "longitude": -122.4194 }
网页搜索
// Search the web { "operation": "webSearch", "query": "how to make chocolate chip cookies" }

建筑学

Apple MCP 工具采用模块化架构构建:

  • index.ts :设置 MCP 服务器并注册工具的主入口点
  • tools.ts :定义工具模式和描述
  • src/handlers/ :包含每个工具的处理函数
  • src/scripts/ :包含用于与 Apple 应用程序交互的 AppleScript 脚本
  • utils/ :包含每个 Apple 服务的实用程序模块

该工具使用延迟加载来提高性能,仅在需要时加载模块。

安全和权限

此工具需要访问各种 Apple 应用程序和服务。您需要在 macOS 提示时授予权限。您可以在“系统偏好设置”>“安全和隐私”>“隐私”中管理这些权限。

发展

设置

# Clone the repository git clone https://github.com/yourusername/apple-mcp.git cd apple-mcp # Install dependencies bun install

以开发模式运行

bun run dev

代码风格

  • 使用两个空格缩进
  • 保持行数不超过 100 个字符
  • 对函数参数和返回使用显式类型注释
  • 类型、接口和工具常量遵循 PascalCase
  • 对变量和函数使用驼峰命名法

贡献

欢迎贡献代码!欢迎提交 Pull 请求。

  1. 分叉存储库
  2. 创建你的功能分支( git checkout -b feature/amazing-feature
  3. 提交您的更改( git commit -m 'Add some amazing feature'
  4. 推送到分支( git push origin feature/amazing-feature
  5. 打开拉取请求

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

一组工具,使 AI 助手能够通过模型上下文协议与 Apple 应用程序和服务(包括联系人、备忘录、信息、邮件、提醒事项、日历、地图和网络搜索)进行交互。

  1. 概述
    1. 安装
      1. 要求
        1. 用法
          1. 启动 MCP 服务器
          2. 连接到克劳德
          3. 工具示例
        2. 建筑学
          1. 安全和权限
            1. 发展
              1. 设置
              2. 以开发模式运行
              3. 代码风格
            2. 贡献

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that enables semantic search and retrieval of Apple Notes content, allowing AI assistants to access, search, and create notes using on-device embeddings.
                Last updated -
                TypeScript
                • Apple
              • -
                security
                F
                license
                -
                quality
                A versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.
                Last updated -
                2
                Python
                • Apple
                • Linux
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that enables semantic search and RAG over your Apple Notes, allowing AI assistants like Claude to search and reference your notes during conversations.
                Last updated -
                6
                TypeScript
                • Apple
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server that enables AI assistants to interact with Apple Reminders on macOS, allowing users to view lists, retrieve, create, complete, and delete reminders through natural language.
                Last updated -
                TypeScript
                • Apple

              View all related MCP servers

              ID: jmws7e3qs4