AI News HubLIVE
站内改写1 分钟阅读

Show HN: Apple Contacts MCP – 本地AI访问macOS通讯录

一款新的本地优先MCP服务器,通过AppleScript自动化,让AI代理安全地搜索、编辑和管理macOS通讯录,写入默认使用试运行模式,注重隐私。

来源Hacker News AI作者: luwo

近日,一个名为 Apple Contacts MCP 的开源项目在Hacker News上发布,它为AI代理提供了一种本地优先的方式,通过macOS上的Contacts.app安全地搜索、编辑和管理通讯录。该项目使用AppleScript自动化,无需云凭据,而是依赖macOS的隐私提示。默认情况下,所有写操作都是试运行(dry-run),需要用户明确确认才能实际执行。

该MCP服务器提供多种工具,包括contacts_status(检查访问权限和总数)、search_contacts(按姓名、组织等搜索)、create_contact、update_contact、append_contact_note(追加有日期的交互日志)、delete_contact以及test_roundtrip(创建、编辑、验证并删除一个测试联系人)。删除操作还需要确认短语“delete contact”。

安装要求macOS系统安装了Contacts.app和Node.js 18或更新版本。克隆仓库后,运行npm test和npm run smoke进行验证。对于Codex和Claude Desktop等代理,可以通过MCP配置添加。例如,在Claude Desktop的配置文件中添加一个stdio MCP服务器,指向bin/apple-contacts-mcp.cjs的绝对路径。

权限方面,首次实时调用可能触发macOS的通讯录或自动化权限提示,用户需要批准。如果Contacts.app未运行,可以先打开该应用。写操作的安全性设计包括两步确认:dryRun设为false且confirm设为true,删除还需要confirmPhrase。append_contact_note适用于CRM风格的交互记录,而不是覆盖整个备注字段。

隐私是该项目的一个重点。服务器在本地Mac上运行,不会调用云API或自行上传通讯录。但代理能够看到它要求返回的数据,因此建议使用字段过滤和脱敏。通讯录可能通过iCloud、Google或Exchange同步,因此本地写入可能会传播到这些服务。目前后端使用AppleScript,未来可能提供基于Swift的签名助手,通过Contacts.framework实现更结构化的访问。项目有意不支持直接SQLite写入AddressBook数据库。

该项目采用MIT许可证,当前在GitHub上获得1颗星,代码完全用JavaScript编写。