Skip to main content
Glama

iMCP

by loopwork-ai

iMCPは、デジタルライフとAIを繋ぐmacOSアプリです。Claude Desktopおよび、モデルコンテキストプロトコル(MCP)をサポートするクライアント(増え続ける)と連携します。

機能

[!TIP] 新しい機能についてのご提案は、 imcp@loopwork.comまでお問い合わせください。

はじめる

アプリをダウンロードして開く

まず、 iMCP アプリをダウンロードします(macOS 15.3 以降が必要です)。

アプリを開くと、メニューバーにアイコンが表示されます。

このアイコンをクリックすると、iMCPメニューが表示され、利用可能なすべてのサービスが表示されます。最初はすべてのサービスが灰色で表示され、非アクティブであることを示します。

上部の青いトグル スイッチは、MCP サーバーが実行中であり、MCP 対応クライアントに接続する準備ができていることを示します。

サービスを有効化

サービスを有効にするには、アイコンをクリックします。システムから許可を求めるダイアログが表示されます。例えば、カレンダーへのアクセスを有効にする場合、 "iMCP" Would Like Full Access to Your Calendarというダイアログが表示されます。「フルアクセスを許可」をクリックして続行してください。

[!重要] iMCP はユーザーのデータを収集または保存しません。Claude Desktop などのクライアントは、ツール呼び出しの一環としてユーザーのデータをデバイス外に送信します

有効になると、各サービスのアイコンが灰色からそれぞれの固有の色に変わります。カレンダーは赤、メッセージは緑、場所は青などです。

有効にしたいすべての機能について、このプロセスを繰り返します。これらの権限はAppleの標準セキュリティモデルに準拠しており、iMCPがアクセスできる情報を完全に制御できます。

Claudeデスクトップに接続

Claude Desktop がインストールされていない場合は、ここからダウンロードできます。

Claude Desktopを開き、「設定... (⌘,)」に移動します。設定パネルのサイドバーで「開発」をクリックし、「設定の編集」をクリックします。これにより~/Library/Application Support/Claude/claude_desktop_config.jsonに設定ファイルが作成されます。

iMCP を Claude Desktop に接続するには、 > 「Claude Desktop の構成」をクリックします。

これにより、アプリケーションにバンドルされているimcp-server実行ファイルを使用するように、MCP サーバー設定が追加または更新されます。ファイル内のその他の MCP サーバー設定は保持されます。

「サーバーコマンドをクリップボードにコピー」をクリックします。次に、エディターでclaude_desktop_config.jsonを開き、以下を入力します。

{ "mcpServers" : { "iMCP" : { "command" : "{paste iMCP server command}" } } }

Claude DesktopからiMCPツールを呼び出す

Claude デスクトップアプリを終了して再度開きます。接続を承認するように求められます。

[!NOTE] このダイアログが 2 回表示される場合がありますが、両方とも [承認] をクリックしてください。

接続を承認すると、チャットボックスの右下に🔨12が表示されます。これをクリックすると、iMCPがClaudeに提供しているすべてのツールのリストが表示されます。

これで、次のような個人データへのアクセスを必要とする質問をクロードに尋ねることができるようになりました。

「私のいる場所の天気はどうですか?」

Claude は適切なツールを使用してこの情報を取得し、会話中にこのデータを手動で共有する必要なく、正確でパーソナライズされた応答を提供します。

技術的な詳細

アプリとCLI

iMCP は、コマンドライン実行可能ファイルimcp-serverをバンドルした macOS アプリです。

  • iMCP.app 、サービスを構成するための UI を提供し、最も重要な点として、連絡先、カレンダー、その他の情報にアクセスできるように macOS のシステム権限を操作する手段を提供します。
  • imcp-server通信に標準入出力 ( stdio トランスポート) を使用する MCP サーバーを提供します。

アプリとCLIは、自動検出のためにBonjourを使用してローカルネットワーク上で相互通信します。どちらもタイプ「_mcp._tcp」、ドメイン「local」のサービスをアドバタイズします。MCPクライアントからのリクエストはCLIによってstdinから読み取られ、アプリに中継されます。アプリからのレスポンスはCLIによって受信され、 stdoutに書き込まれます。実装の詳細については、 StdioProxy参照してください。

このプロジェクトでは、モデルコンテキストプロトコル(MCP)サーバーとクライアント用のSwift SDKであるmcp-swift-sdkを作成しました。アプリはこのパッケージを使用して、MCPクライアントからのプロキシリクエストを処理します。

iMessage データベースアクセス

Appleはメッセージにアクセスするための公開APIを提供していません。ただし、macOSのメッセージアプリは~/Library/Messages/chat.dbにあるSQLiteデータベースにデータを保存します。

iMCPはApp Sandbox内で実行され、ユーザーデータとシステムリソースへのアクセスが制限されています。メッセージサービスを有効にすると、標準のファイルピッカーでchat.dbファイルを開くように求められます。開くと、macOSによってそのファイルがアプリのサンドボックスに追加されます。NSOpenPanel NSOpenPanelまさに魔法のようです。

しかし、iMessageデータベースの公開は、戦いの半分に過ぎません。ここ数年、Appleはメッセージをプレーンテキストで保存するのではなく、独自のtypedstream形式に移行してきました。

このプロジェクトのために、iMessageデータベースを読み込むためのSwiftパッケージ「Madrid」を作成しました。このパッケージには、Christopher Sardegna氏のimessage-exporterプロジェクトとtypedstreamリバースエンジニアリングに関するブログ記事を参考に、Appleのtypedstream形式をデコードするためのSwift実装が含まれています。

ツール結果のJSON-LD

iMCPが提供するツールは、結果をJSON-LDドキュメントとして返します。例えば、 fetchContactsツールは、 CNContact型で個人や組織を表すContactsフレームワークを使用します。この型のオブジェクトは、以下のようにJSON-LDとしてエンコードされます。

{ "@context": "https://schema.org", "@type": "Organization", "name": "Loopwork Limited", "url": "https://loop.work" }

Schema.orgは、人物、住所、イベントなど、私たちが表現したい多くのオブジェクトのための標準語彙を提供しています。また、JSON-LDは、人間、AI、そして従来のソフトウェアにとって便利なエンコード形式です。

このプロジェクトでは、構造化データを扱うためのSwiftパッケージ「Ontology」を作成しました。これには、iMCPツールから返されるものなど、Appleフレームワークの型に対応する便利な初期化子が含まれています。

デバッグ

MCPインスペクターの使用

iMCP とクライアント間のやり取りをデバッグするには、インスペクタ ツールを使用できます (Node.js が必要です)。

  1. クリック > 「サーバーコマンドをクリップボードにコピー」
  2. ターミナルを開き、次のコマンドを実行します。
    # Download and run inspector package on imcp-server npx @modelcontextprotocol/inspector [paste-copied-command] # Open inspector web app running locally open http://127.0.0.1:6274

このツールを使用すると、クライアントと iMCP サーバー間のすべての要求と応答を確認できるため、プロトコルの動作を理解するのに役立ちます。

謝辞

ライセンス

このプロジェクトは、Apache License バージョン 2.0 に基づいてライセンスされています。

法律上の

iMessage®はApple Inc.の登録商標です。
このプロジェクトは、Apple Inc. と提携、承認、または後援されていません。

-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

メッセージ、連絡先などにMCPサーバーを提供するmacOSアプリ

  1. はじめる
    1. アプリをダウンロードして開く
    2. サービスを有効化
    3. Claudeデスクトップに接続
    4. Claude DesktopからiMCPツールを呼び出す
  2. 技術的な詳細
    1. アプリとCLI
    2. iMessage データベースアクセス
    3. ツール結果のJSON-LD
  3. デバッグ
    1. MCPインスペクターの使用
  4. 謝辞
    1. ライセンス
      1. 法律上の

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          An MCP server that provides safe access to your iMessage database through MCP, enabling LLMs to query and analyze iMessage conversations with proper phone number validation and attachment handling
          Last updated -
          53
          Python
          • Apple
        • A
          security
          A
          license
          A
          quality
          A simple MCP server that can send notifications on mac devices.
          Last updated -
          5
          9
          8
          TypeScript
          MIT License
          • Apple
        • A
          security
          A
          license
          A
          quality
          Enables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.
          Last updated -
          6
          628
          1,692
          TypeScript
          MIT License
          • Apple

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/loopwork-ai/iMCP'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server