mcpField
I
imsg

imsg

github.com/joelhooks生産性6541 回インストール2 日前に更新
リポジトリ

imsg について

imsgは、imsg CLIを使ってターミナルからiMessageとSMSを読み書きするスキルです。Messages.appを使うワークフロー向けに、チャット一覧、履歴、受信監視、添付ファイルの操作と、権限や送信確認の注意点を示します。

主な機能

  1. 01チャット一覧とメッセージ履歴の取得
  2. 02新着メッセージと添付の監視
  3. 03メールアドレスや電話番号への送信
  4. 04ファイル添付の送信
  5. 05権限要件と送信時の安全ルール

活用シーン

  1. 01チャット履歴をJSON形式で読む
  2. 02チャットの新着メッセージを監視する
  3. 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 上の LaunchAgent com.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。

コメント