mcpField
M
messages

messages

ローカル
github.com/cardmagicコミュニケーション205 週間前に更新

messages について

messagesは、Apple Messages(iMessage/SMS)を検索・閲覧するツールで、コマンドライン、Claude Codeプラグイン、MCPサーバーとして利用できます。全文検索とあいまい検索を組み合わせ、連絡先名の解決や一致箇所の前後の表示にも対応します。

主な機能

  1. 01タイプミスに強いあいまい検索
  2. 02最近のメッセージ、連絡先、会話の閲覧
  3. 03電話番号から連絡先名への変換
  4. 04一致したメッセージ前後の表示
  5. 05送信者や日付による絞り込み
  6. 06新着メッセージ検出時のインデックス再構築

活用シーン

  1. 01特定の語句を含む過去メッセージの検索
  2. 02連絡先から届いた最近のメッセージの確認
  3. 03連絡先の活動や会話スレッドの閲覧

MCP 対応

MCPサーバーとして、メッセージ検索、最近のメッセージ、連絡先、会話、スレッド、インデックス統計のツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cardmagic-messages": {
"command": "npx",
"args": [
"-y",
"@cardmagic/messages"
]
}
}
}
起動コマンドnpx -y @cardmagic/messages

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@cardmagic/messages1.2.0

ツール

6

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
fromstringいいえ送信者の名前(例:"Mom"、"John Smith")または電話番号で絞り込みます。単独で使用した場合(query を指定しない場合)、この送信者からの最近のメッセージを返します。
afterstringいいえYYYY-MM-DD 形式で、この日付より後のメッセージのみを表示します(任意)
limitnumberいいえ結果の最大数(デフォルト:10)
querystringいいえメッセージ内容を検索するクエリです。あいまい検索と誤字に対応しています。"from" を指定した場合は省略できます。
contextnumberいいえ各結果の前後に表示するメッセージ数(デフォルト: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 を読み取る必要があります。

  1. システム設定 > プライバシーとセキュリティ > フルディスクアクセスを開きます
  2. **+**をクリックし、ターミナルアプリ(Terminal.app、iTerm、Warp など)を追加します
  3. ターミナルを再起動します

使い方

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"]
    }
  }
}

仕組み

  1. 自動インデックス作成:初回検索時(または新しいメッセージが検出されたとき)、このツールは自動的に次の処理を行います。

    • Apple Messages の SQLite データベースを読み取ります
    • SQLite FTS5 の全文検索インデックスを構築します
    • MiniSearch のあいまい検索インデックスを作成します
    • アドレスブックから連絡先名を解決します
  2. 検索:両方のインデックスを検索し、入力ミスに対応した最適な結果を返します

  3. 保存場所:インデックスファイルは ~/.messages/ に保存されます。

    • index.db - SQLite FTS5 データベース
    • fuzzy.json - MiniSearch インデックス
    • stats.json - インデックスの統計情報

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。