Skip to main content
Glama

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

機能

TIP

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

Related MCP server: mac-apps-launcher

はじめる

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

まず、 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

Latest Blog Posts

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/mattt/iMCP'

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