mcpField
I
imsg

imsg

github.com/letta-ai生産性152209 回インストール4 週間前に更新
リポジトリ

imsg について

`imsg` は Messages.app を介して iMessage と SMS を読み書きする macOS 向けコマンドラインツールです。ターミナルでメッセージを扱う用途に向き、履歴確認、新着監視、添付ファイル送信に対応しますが、グループメンバーの管理には対応しません。

主な機能

  1. 01チャット一覧と履歴の確認
  2. 02新着メッセージの監視
  3. 03iMessage または SMS の送信
  4. 04ファイル添付の送信
  5. 05日付によるメッセージ絞り込み

活用シーン

  1. 01連絡先に対応するチャットの検索
  2. 02チャット内の最近のメッセージ確認
  3. 03チャットへの新着メッセージの監視
  4. 04連絡先へのテキストやファイルの送信

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/letta-ai/skills --skill imsg

インストール後、Claude Code で/imsgを入力して読み込まれたか確認します。

同梱ファイルassets/imsg-small.svgLICENSE

詳細

imsg

imsg を使用して、macOS の Messages.app 経由で iMessage/SMS を読み取ったり送信したりできます。

制限事項

  • グループチャットの管理(メンバーの追加/削除)には対応していません
  • macOS のみ対応しています

要件

  • Messages.app にサインイン済みの macOS
  • ターミナルにフルディスクアクセスが付与されていること
  • Messages.app のオートメーション権限(送信時)

よく使うコマンド

チャット一覧を表示
imsg chats --limit 10 --json
履歴を表示
# By chat ID
imsg history --chat-id 1 --limit 20 --json

# With attachments info
imsg history --chat-id 1 --limit 20 --attachments --json

# Filter by date
imsg history --chat-id 1 --start 2026-01-01T00:00:00Z --json
新しいメッセージを監視
imsg watch --chat-id 1 --attachments
imsg watch --chat-id 1 --debounce 250ms
メッセージを送信
# Send to phone number
imsg send --to "+14155551212" --text "Hello!"

# Send to existing chat by ID (useful for replies)
imsg send --chat-id 86 --text "Hello!"

# With attachment
imsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg

# Specify service
imsg send --to "+14155551212" --text "Hi" --service imessage
imsg send --to "+14155551212" --text "Hi" --service sms

サービスのオプション

  • --service imessage — iMessage を強制します(受信者が iMessage を利用できる必要があります)
  • --service sms — SMS を強制します(緑色の吹き出し)
  • --service auto — Messages.app に任せます(デフォルト)

安全ルール

  1. 送信前に、受信者とメッセージの内容を必ず確認してください
  2. ユーザーの明示的な承認なしに、知らない電話番号へ送信しないでください
  3. 添付ファイルには注意してください — ファイルパスが存在することを確認してください
  4. 送信頻度を制限してください — スパムを送信しないでください

ワークフローの例

ユーザー:「遅れるってママにメッセージして」

# 1. Find mom's chat
imsg chats --limit 20 --json | jq '.[] | select(.displayName | contains("Mom"))'

# 2. Confirm with user
# "Found Mom at +1555123456. Send 'I'll be late' via iMessage?"

# 3. Send after confirmation
imsg send --to "+1555123456" --text "I'll be late"

コメント