Apple Messages について
Apple Messages は、macOS でメッセージ履歴を参照し、Messages.app から送信や返信を行う MCP サーバーです。Messages に特化したワークフロー向けで、履歴へのアクセスとメッセージ操作の権限を分けて扱います。
主な機能
- 01ページ分割による会話一覧
- 02メッセージ検索と添付ファイルのメタデータ
- 03メッセージの送信と返信
- 04未読および最近の会話リソース
- 05権限チェックと復旧ガイド
- 06制約のあるクライアント向けツール検索
活用シーン
- 01macOS でのメッセージ履歴の確認
- 02複数の会話からメッセージを検索
- 03Messages.app からの送信や返信
MCP 対応
MCP クライアントに Messages の履歴、検索、会話、送信機能を提供します。標準では stdio を使い、Streamable HTTP にも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
15掲載時のツール一覧 · 1 日前に更新
このツールにパラメーターはありません。
詳細
Apple Messages MCP
macOS 上的 Apple Messages MCP サーバーです。
Messages.app からメッセージ履歴、会話検索、メッセージ送信を利用できます。履歴へのアクセスにはフルディスクアクセス、送信にはオートメーションアクセスが必要です。
使用する場面
- Messages 専用のワークフロー
- オールインワンサーバーを使わずに、メッセージ履歴の確認や送信を行う場合
- アプリ単位で権限をより細かく分離する場合
機能
- ページネーションを使った会話一覧の取得
- メッセージ検索と添付ファイルのメタデータ表示
- メッセージの送信と返信
- コンテキストが制限されたクライアント向けのツール検出ヘルパー
search_toolsとget_tool_info - 未読および最近の会話のリソース
- 履歴へのアクセスとオートメーションの失敗を区別するヘルスチェック
- 権限の復旧:
messages_permission_guide、messages_recheck_permissions
この Mac にインストール
クローンからインストール
git clone https://github.com/JonathanRReed/Apple-MCPs.git
cd Apple-MCPs
uv sync --all-packages
これにより、すべてのサーバーのエントリーポイントを .venv/bin(例:.venv/bin/apple-messages-mcp)に配置したワークスペース環境が構築されます。MCP クライアントから AppleMessages-MCP/start.sh を指定することもできます。このスクリプトは uv run を優先し、利用できない場合は通常の venv ブートストラップにフォールバックします(Python 3.11 以降が必要です)。
AI エージェントにインストール
汎用 MCP クライアントの設定
{
"mcpServers": {
"apple-messages": {
"command": "uvx",
"args": ["apple-messages-mcp"],
"env": {
"APPLE_MESSAGES_MCP_SAFETY_MODE": "full_access"
}
}
}
}
クローンから実行する場合は、コマンドに /path/to/Apple-MCPs/AppleMessages-MCP/start.sh を指定し、args は空にしてください。
Claude Code の例
claude mcp add --transport stdio --scope user apple-messages -- uvx apple-messages-mcp
--scope user を指定すると、すべてのプロジェクトでこのサーバーを利用できます。リポジトリ単位で .mcp.json を使って共有する場合は、代わりに --scope project を指定してください。
トランスポート
デフォルトかつ推奨のトランスポートは stdio です。代わりに Streamable HTTP で提供するには、APPLE_MESSAGES_MCP_TRANSPORT=streamable-http を設定します(必要に応じて APPLE_MESSAGES_MCP_HOST と APPLE_MESSAGES_MCP_PORT も設定できます)。
macOS の権限
- メッセージの送信と返信には、Messages へのオートメーションアクセスが必要です。
~/Library/Messages/chat.dbから履歴、検索結果、添付ファイルのメタデータにアクセスするには、フルディスクアクセスが必要です。messages_healthは、Apple Events の送信やオートメーションアクセスの要求を行わずに、NSRunningApplicationを通じて実行状態を確認します。Messages が終了している場合、automation_access_statusは"not_probed"を返し、起動している場合は"unknown"を返します。どちらも権限が拒否されたことを意味しません。- 認証が確認されていない場合、既存の
automation_accessと送信機能のブール値は false になります。ユーザーが操作を許可していれば、明示的な送信ツールは引き続き動作します。automation_access_statusとautomation_access_error_codeにより、チェックの省略、認証状態の不明、拒否、コマンドの失敗を区別できます。明示的な送信または返信では、引き続き認証が確認され、Messages が開いたり、macOS の権限プロンプトが表示されたりする場合があります。 - 診断用サブプロセスには 5 秒のタイムアウトが設定されています。明示的なオートメーションには 30 秒のタイムアウトが設定されています。送信がタイムアウトした場合は、再試行する前に配信状況を確認してください。
起動チェックリスト
- MCP クライアントに
uvx apple-messages-mcp(またはクローンのAppleMessages-MCP/start.sh)を追加します。 - クライアントを再読み込みまたは再接続して、Messages のツールをコンテキストに読み込みます。
- 最初に
messages_healthを呼び出します。 - いずれかの権限がブロックされている場合は、
messages_permission_guideを呼び出します。 - macOS の権限を変更した後に、
messages_recheck_permissionsを呼び出します。
プロンプトに関する注意事項
tools/listは Messages ツールの全機能を返します。コンテキストに制約のあるクライアントでは、まずsearch_toolsを使用し、次に必要な Messages ツールについてget_tool_infoを使用できます。- ユーザーが人物の名前を挙げた場合は、送信または返信の前に Contacts で宛先を確認してください。
- Contacts で複数の候補が返された場合は、意図する人物を確認してください。
messages_send_message、messages_send_attachment、messages_reply_in_conversationでは、任意のservice_nameとしてiMessage、SMS、RCSを指定できます。指定しない場合、新しいメッセージは iMessage で送信され、1 対 1 の返信ではスレッドの最新メッセージと同じサービスが使用されます。SMS スレッドでは SMS が維持され、RCS スレッドでは RCS が使用され、利用できない場合は SMS にフォールバックします。アカウントには、該当するサービス種別の有効な Messages アカウントのうち、最初のものが選択されます。SMS と RCS はペアリングされた iPhone 経由で送信されるため、この Mac で「SMS メッセージ転送」をオンにする必要があります。一致するアカウントがない場合、ツールは送信せずにSERVICE_UNAVAILABLEを返します。そのため、「SMS メッセージ転送」がオフの Mac で SMS スレッドに返信すると失敗します。service_nameにiMessageを指定して再試行するか、「SMS メッセージ転送」をオンにしてください。RCS には macOS 15 以降が必要です。古い macOS では、RCS スレッドは SMS にフォールバックします。グループへの返信では常にグループで既に使用されているサービスが使われ、異なるservice_nameを指定するとINVALID_INPUTが返されます。レスポンスのservice_nameには、実際に使用されたサービスが示されます。
関連項目
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。