mcpField
I
imessage

imessage

github.com/nousresearch生産性258.1k465 回インストール今日更新
リポジトリ

imessage について

macOSのMessages.appを介してiMessageまたはSMSを読み書きするコマンドラインツール`imsg`の利用を案内するスキルです。チャット検索、履歴確認、添付ファイルの扱い、送信前の宛先と内容の確認を扱います。

主な機能

  1. 01最近のチャットをJSONで一覧表示
  2. 02会話履歴の確認
  3. 03添付ファイル情報の表示
  4. 04テキストとファイルの送信
  5. 05チャットの新着メッセージ監視
  6. 06iMessage、SMS、自動サービスの選択

活用シーン

  1. 01送信前に連絡先のチャットを探す
  2. 02最近の会話履歴を確認する
  3. 03添付ファイル付きメッセージを送る
  4. 04チャットの新着メッセージを監視する

インストール

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

$npx skills add https://github.com/nousresearch/hermes-agent --skill imessage

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

詳細

iMessage

imsg を使って、macOS のメッセージ.app で iMessage/SMS を読み取り、送信します。

前提条件

  • メッセージ.app にサインイン済みの macOS
  • インストール:brew install steipete/tap/imsg
  • ターミナルにフルディスクアクセスを許可します(システム設定 → プライバシーとセキュリティ → フルディスクアクセス)
  • プロンプトが表示されたら、メッセージ.app にオートメーションのアクセス許可を与えます

使用する場面

  • iMessage またはテキストメッセージの送信をユーザーから依頼された場合
  • iMessage の会話履歴を読む場合
  • メッセージ.app の最近のチャットを確認する場合
  • 電話番号または Apple ID に送信する場合

使用しない場面

  • Telegram/Discord/Slack/WhatsApp のメッセージ → 適切なゲートウェイチャネルを使用します
  • グループチャットの管理(メンバーの追加/削除)→ 対応していません
  • 一斉送信/大量送信 → 必ず事前にユーザーに確認します

クイックリファレンス

チャット一覧
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
メッセージを送信
# Text only
imsg send --to "+14155551212" --text "Hello!"

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

# Force iMessage or SMS
imsg send --to "+14155551212" --text "Hi" --service imessage
imsg send --to "+14155551212" --text "Hi" --service sms
新着メッセージを監視
imsg watch --chat-id 1 --attachments

サービスオプション

  • --service imessage — iMessage を強制します(宛先が iMessage を利用できる必要があります)
  • --service sms — SMS を強制します(緑色の吹き出し)
  • --service auto — メッセージ.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"

コメント