imsg について
imsgは、imsg CLIを使ってターミナルからiMessageとSMSを読み書きするスキルです。Messages.appを使うワークフロー向けに、チャット一覧、履歴、受信監視、添付ファイルの操作と、権限や送信確認の注意点を示します。
主な機能
- 01チャット一覧とメッセージ履歴の取得
- 02新着メッセージと添付の監視
- 03メールアドレスや電話番号への送信
- 04ファイル添付の送信
- 05権限要件と送信時の安全ルール
活用シーン
- 01チャット履歴をJSON形式で読む
- 02チャットの新着メッセージを監視する
- 03メッセージやファイルを送信する
MCP 対応
READMEには、Flagg上でExecutor経由でiMessage MCPサービスを使い、状態、チャット、履歴、送信を扱う方法も記載されています。送信ツールでは宛先と本文の明示的な承認が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ joelhooks/ joelclaw --skill imsgインストール後、Claude Code で/imsgを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
iMessage
imsg CLI を使って、ターミナルから iMessage と SMS を読み取り、送信します。
セットアップ(Panda)
- Messages.app のサインイン先:エージェントの Apple ID(USER.md を参照)
- Joel の iMessage アドレス:USER.md →
imessageを参照 - 読み取り操作(
chats、history、watch)には、ターミナルへのフルディスクアクセスの許可が必要です - 送信には、Messages.app のオートメーション許可が必要です
imsg sendは楽観的に"sent"を返します。これは AppleScript が実行されたことを意味し、配信が確認されたことを意味するものではありません
コマンド
チャットの一覧表示
imsg chats --limit 10 --json
履歴の読み取り
imsg history --chat-id <id> --limit 20 --attachments --json
新しいメッセージの監視
imsg watch --chat-id <id> --attachments
送信
# By email (iMessage)
imsg send --to "[email protected]" --text "hello"
# By phone number (iMessage or SMS)
imsg send --to "+18005551234" --text "hello"
# With file attachment
imsg send --to "[email protected]" --text "see attached" --file /path/to/file.jpg
配信に関する注意事項
- CLI の
"sent"は、AppleScript が Messages.app に正常に処理を引き渡したことを意味します - Messages.app の「未配信」は、実際の配信失敗(認証の問題、受信者がオフラインなど)を意味します
- フルディスクアクセスが許可されていない場合、読み取りコマンドは
permissionDeniedで失敗します。AppleScript 経由の送信は引き続き機能します - メッセージは Joel からではなく、エージェントの Apple ID から送信されたように表示されます
Joel への送信
Joel の iMessage アドレスは USER.md の imessage フィールドにあります。これを使って Joel に直接通知します。
imsg send --to "<joel-imessage>" --text "your message"
安全性
- デフォルトでは読み取り専用です。送信前に
chatsとhistoryを使ってください imsg sendの前に、受信者とメッセージ本文を必ず確認してください- すべての読み取り操作では、決定的な解析が可能な
--jsonフラグを推奨します
インストール
brew install steipete/tap/imsg
クレジット
CLI は steipete によるものです。ADR-0067 に従って採用されました。
Flagg:Executor 経由の imsg
Flagg では、読み取りのためにターミナルから imsg を呼び出さないでください。フルディスクアクセスの許可を保持する署名済みサービスを実行する、Executor の保存済み接続を使用してください。
- アドレス:
tools.imsg.org.flaggImsg.<tool>。tools.search({ namespace: "imsg", query: "" })で確認してください。 - ツール:
imsg_status、imsg_chats、imsg_group、imsg_history、imsg_send。最初にimsg_statusを呼び出してください。 - サービス:
127.0.0.1:4793上の LaunchAgentcom.joel.imsg-mcp。コードはpackages/imsg-mcp、バンドルは/Applications/imsg-mcp.appにあります。 imsg_sendには、受信者とテキストについて Joel の明示的な承認が必要です。Executor では、組織のrequire_approvalポリシーが適用される想定です。Tools タブを確認してください。添付ファイルは~/.joelclaw/imsg-outboxまたは/tmpからのみ指定できます。送信プロセスが強制終了された場合は「結果不明」となるため、再試行する前に Messages.app を確認してください。- ヘルスチェック:
curl -s http://127.0.0.1:4793/healthzおよびlaunchctl print gui/501/com.joel.imsg-mcp。launchctl kickstart -k gui/501/com.joel.imsg-mcpで再起動できます。 - Bearer:agent-secrets 内の
imsg_mcp_bearer_token。決して出力しないでください。 - Joel 専用の許可:
/Applications/imsg-mcp.appへのフルディスクアクセス(再署名するたびに許可を切り替え直してください)と、初回送信時の Messages.app に対するオートメーションの確認ダイアログへの許可。
完全な記録:~/Code/joelhooks/dark-wizard/.brain/projects/imsg-mcp-executor-2026-09.svx。
コメント
Markdown 対応