Show HN: Apple Contacts MCP – macOSの連絡先にローカルAIアクセス
ローカルファーストのMCPサーバーで、AIエージェントがAppleScript自動化を通じてmacOSの連絡先を安全に検索・編集・保守できます。書き込みはデフォルトでドライラン、プライバシー重視。
最近、Apple Contacts MCPというオープンソースプロジェクトがHacker Newsで公開されました。このプロジェクトは、AIエージェントがmacOSのContacts.appを介して連絡先を安全に検索、編集、管理するためのローカルファーストなMCPサーバーです。AppleScriptの自動化を利用し、クラウドの認証情報ではなくmacOSのプライバシープロンプトに依存します。デフォルトではすべての書き込み操作はドライラン(試運転)で、実際に実行するにはユーザーの明示的な確認が必要です。
この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の設定ファイルに、bin/apple-contacts-mcp.cjsへの絶対パスを指定したstdio MCPサーバーを追加します。
権限に関しては、初回のライブ呼び出しでmacOSの連絡先または自動化の許可プロンプトが表示される場合があり、ユーザーが承認する必要があります。Contacts.appが起動していない場合は、先にアプリを開いてください。書き込みの安全性は、dryRunをfalse、confirmをtrueとする2段階の確認で確保されており、削除にはさらにconfirmPhraseが必要です。append_contact_noteは、ノートフィールド全体を上書きするのではなく、CRMスタイルのインタラクションログを追記するのに適しています。
プライバシーはこのプロジェクトの重点事項です。サーバーはローカルのMac上で動作し、クラウドAPIを呼び出したり、自ら連絡先をアップロードしたりすることはありません。ただし、エージェントは要求したデータを参照できるため、フィールドフィルターやマスキングを使用することが推奨されます。連絡先はiCloud、Google、Exchangeなどを通じて同期される可能性があり、ローカルでの書き込みがこれらのサービスに伝播することがあります。現在のバックエンドはAppleScriptですが、将来は署名付きのSwiftヘルパーを使用してContacts.frameworkを介したより構造化されたアクセスを提供する可能性があります。プロジェクトはAddressBookデータベースへの直接SQLite書き込みを意図的にサポートしていません。
このプロジェクトはMITライセンスで提供され、現在GitHubで1スターを獲得しており、コードはすべてJavaScriptで記述されています。