mcpField
A
Apple Messages

Apple Messages

ローカル
github.comコミュニケーション322 日前に更新

Apple Messages について

Apple Messages は、macOS でメッセージ履歴を参照し、Messages.app から送信や返信を行う MCP サーバーです。Messages に特化したワークフロー向けで、履歴へのアクセスとメッセージ操作の権限を分けて扱います。

主な機能

  1. 01ページ分割による会話一覧
  2. 02メッセージ検索と添付ファイルのメタデータ
  3. 03メッセージの送信と返信
  4. 04未読および最近の会話リソース
  5. 05権限チェックと復旧ガイド
  6. 06制約のあるクライアント向けツール検索

活用シーン

  1. 01macOS でのメッセージ履歴の確認
  2. 02複数の会話からメッセージを検索
  3. 03Messages.app からの送信や返信

MCP 対応

MCP クライアントに Messages の履歴、検索、会話、送信機能を提供します。標準では stdio を使い、Streamable HTTP にも対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
pypiapple-messages-mcp1.1.4
mcpbapple-messages-1.1.4.mcpb1.1.4

ツール

15

掲載時のツール一覧 · 1 日前に更新

このツールにパラメーターはありません。

詳細

Apple Messages MCP

macOS 上的 Apple Messages MCP サーバーです。

Messages.app からメッセージ履歴、会話検索、メッセージ送信を利用できます。履歴へのアクセスにはフルディスクアクセス、送信にはオートメーションアクセスが必要です。

使用する場面

  • Messages 専用のワークフロー
  • オールインワンサーバーを使わずに、メッセージ履歴の確認や送信を行う場合
  • アプリ単位で権限をより細かく分離する場合

機能

  • ページネーションを使った会話一覧の取得
  • メッセージ検索と添付ファイルのメタデータ表示
  • メッセージの送信と返信
  • コンテキストが制限されたクライアント向けのツール検出ヘルパー search_tools と get_tool_info
  • 未読および最近の会話のリソース
  • 履歴へのアクセスとオートメーションの失敗を区別するヘルスチェック
  • 権限の復旧:messages_permission_guide、messages_recheck_permissions

この Mac にインストール

クイックスタート(PyPI から uvx を使用)

uv をインストールした状態で、次を実行します。

uvx apple-messages-mcp

クローンも仮想環境の管理も不要です。

クローンからインストール
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 には、実際に使用されたサービスが示されます。

関連項目

コメント

MCP は初めてですか?

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

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