messages について
messagesは、Apple Messages(iMessage/SMS)を検索・閲覧するツールで、コマンドライン、Claude Codeプラグイン、MCPサーバーとして利用できます。全文検索とあいまい検索を組み合わせ、連絡先名の解決や一致箇所の前後の表示にも対応します。
主な機能
- 01タイプミスに強いあいまい検索
- 02最近のメッセージ、連絡先、会話の閲覧
- 03電話番号から連絡先名への変換
- 04一致したメッセージ前後の表示
- 05送信者や日付による絞り込み
- 06新着メッセージ検出時のインデックス再構築
活用シーン
- 01特定の語句を含む過去メッセージの検索
- 02連絡先から届いた最近のメッセージの確認
- 03連絡先の活動や会話スレッドの閲覧
MCP 対応
MCPサーバーとして、メッセージ検索、最近のメッセージ、連絡先、会話、スレッド、インデックス統計のツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| from | string | いいえ | 送信者の名前(例:"Mom"、"John Smith")または電話番号で絞り込みます。単独で使用した場合(query を指定しない場合)、この送信者からの最近のメッセージを返します。 |
| after | string | いいえ | YYYY-MM-DD 形式で、この日付より後のメッセージのみを表示します(任意) |
| limit | number | いいえ | 結果の最大数(デフォルト:10) |
| query | string | いいえ | メッセージ内容を検索するクエリです。あいまい検索と誤字に対応しています。"from" を指定した場合は省略できます。 |
| context | number | いいえ | 各結果の前後に表示するメッセージ数(デフォルト:2) |
詳細
messages
コマンドライン、Claude Code プラグイン、または MCP サーバーとして、Apple Messages(iMessage/SMS)をあいまい検索したり、閲覧したりできます。
特長
- あいまい検索:すべてのメッセージを、入力ミスに対応して検索します
- 最近の項目の閲覧:メッセージ、連絡先、会話を閲覧できます
- 連絡先の解決:電話番号の代わりに名前を表示します
- コンテキストの表示:一致したメッセージの前後を確認できます
- 送信者または日付範囲による絞り込み
- 自動インデックス作成:新しいメッセージが検出されると、インデックスを自動的に再構築します
- 複数のインターフェース:CLI、MCP サーバー、または Claude Code プラグイン
必要条件
- macOS(Apple Messages データベースを読み取ります)
- Node.js 22+
- ターミナルへのフルディスクアクセス権限(
~/Library/Messages/chat.dbの読み取りに必要です)
インストール
Homebrew
brew install cardmagic/tap/messages
npm
npm install -g @cardmagic/messages
Claude Code プラグイン(推奨)
プラグインとしてインストールすると、スキル(自動で呼び出されます)とスラッシュコマンドを利用できます。
# Add the marketplace
claude plugin marketplace add cardmagic/ai-marketplace
# Install the plugin
claude plugin install messages@cardmagic
これにより、次の機能を利用できます。
- スキル:テキストメッセージや iMessage について質問すると、Claude が自動的にメッセージを検索します
- スラッシュコマンド:
/messages:search、/messages:recent、/messages:fromなど
MCP サーバー
プラグインを使わずに MCP ツールへ直接アクセスする場合:
claude mcp add --transport stdio messages -- npx -y @cardmagic/messages --mcp
または、最初にグローバルインストールします。
npm install -g @cardmagic/messages
claude mcp add --transport stdio messages -- messages --mcp
ソースから
git clone https://github.com/cardmagic/messages.git
cd messages
make install
# Then add as plugin OR MCP server:
claude plugin marketplace add cardmagic/ai-marketplace
claude plugin install messages@cardmagic
# OR
claude mcp add --transport stdio messages -- messages --mcp
フルディスクアクセスの許可
このツールは、Messages データベース ~/Library/Messages/chat.db を読み取る必要があります。
- システム設定 > プライバシーとセキュリティ > フルディスクアクセスを開きます
- **+**をクリックし、ターミナルアプリ(Terminal.app、iTerm、Warp など)を追加します
- ターミナルを再起動します
使い方
CLI
閲覧コマンド
# Show most recent messages (who texted me?)
messages recent
# List contacts by recent activity
messages contacts --limit 10
# List conversations with message counts
messages conversations
# Show recent messages from someone
messages from "Mom"
# Show full conversation thread
messages thread "John" --after 2024-12-01
検索コマンド
# Search for messages (index auto-builds on first search)
messages search "coffee tomorrow"
# Filter by sender
messages search "dinner" --from "Mom"
# Filter by date
messages search "meeting" --after 2024-01-01
# Adjust result count and context
messages search "project" --limit 20 --context 5
# Show index statistics
messages stats
# Force rebuild the index
messages index
検索オプション
| オプション | 説明 |
|---|---|
-f, --from <sender> | 送信者名または電話番号で絞り込みます |
-a, --after <date> | 指定した日付以降のメッセージのみを対象にします(YYYY-MM-DD) |
-l, --limit <n> | 結果の最大数(デフォルト:10) |
-c, --context <n> | 前後のメッセージ数(デフォルト:2) |
Claude Code プラグイン
プラグインとしてインストールすると、次の機能を利用できます。
スキル(自動で呼び出されます):次のような質問をすると、Claude が自動的にメッセージを検索します。
- 「お母さんは夕食について何と言っていましたか?」
- 「最近、誰からメッセージが届きましたか?」
- 「旅行についてのメッセージを探して」
スラッシュコマンド:
| コマンド | 説明 |
|---|---|
/messages:search <query> | オプションで絞り込みを指定できるあいまい検索 |
/messages:recent | 最新のメッセージを表示します |
/messages:contacts | アクティビティ順に連絡先を一覧表示します |
/messages:conversations | メッセージ数とともに会話を一覧表示します |
/messages:from "Name" | 特定の相手からのメッセージ |
/messages:thread "Name" | 会話全体のスレッド |
/messages:browse <cmd> | 閲覧コマンドの別名 |
MCP サーバー
MCP サーバーとしてインストールすると、Claude Code は次のツールを使用できます。
| ツール | 説明 |
|---|---|
search_messages | あいまい一致でメッセージを検索します |
recent_messages | 最新のメッセージを取得します |
list_contacts | アクティビティ順に連絡先を一覧表示します |
list_conversations | メッセージ数とともに会話を一覧表示します |
get_thread | 連絡先との会話スレッドを取得します |
get_message_stats | インデックスの統計情報を取得します |
MCP の手動設定
Claude Desktop または VS Code では、MCP 設定に追加します。
{
"mcpServers": {
"messages": {
"command": "npx",
"args": ["-y", "@cardmagic/messages", "--mcp"]
}
}
}
仕組み
-
自動インデックス作成:初回検索時(または新しいメッセージが検出されたとき)、このツールは自動的に次の処理を行います。
- Apple Messages の SQLite データベースを読み取ります
- SQLite FTS5 の全文検索インデックスを構築します
- MiniSearch のあいまい検索インデックスを作成します
- アドレスブックから連絡先名を解決します
-
検索:両方のインデックスを検索し、入力ミスに対応した最適な結果を返します
-
保存場所:インデックスファイルは
~/.messages/に保存されます。index.db- SQLite FTS5 データベースfuzzy.json- MiniSearch インデックスstats.json- インデックスの統計情報
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。