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編寫。