mcpField
A
Apple Notes

Apple Notes

ローカル
cupertino.mgcrea.io生産性5今日更新

Apple Notes について

macOS の Apple Notes を読み取り、管理する MCP サーバーです。Apple Events と任意の読み取り専用 SQLite インデックスを使い、書き込みツールは既定で無効です。

主な機能

  1. 01ノートの検索と本文の取得
  2. 02アカウント、フォルダー、添付ファイルの一覧表示
  3. 03添付ファイルの保存
  4. 04書き込みツールは既定で無効

活用シーン

  1. 01キーワードでノートを検索
  2. 02ノートを読み添付情報を確認
  3. 03書き込みツールを有効にしてノートを管理

MCP 対応

MCP クライアントに Apple Notes の検索、読み取り、添付ファイル用ツールを提供します。追加、更新、移動、削除ツールは APPLE_NOTES_ALLOW_WRITES=1 の場合にのみ登録されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mgcrea-mcp-apple-notes": {
"command": "npx",
"args": [
"-y",
"@mgcrea/mcp-apple-notes"
],
"env": {
"APPLE_NOTES_ALLOW_WRITES": "<APPLE_NOTES_ALLOW_WRITES>",
"APPLE_NOTES_ACCOUNTS": "<APPLE_NOTES_ACCOUNTS>"
}
}
}
}
起動コマンドnpx -y @mgcrea/mcp-apple-notes
設定が必要な環境変数
APPLE_NOTES_ALLOW_WRITESRegister the mutating tools. Off by default, and the gate decides whether the write tools exist at all rather than merely refusing — an agent with writes off cannot see them.
APPLE_NOTES_ACCOUNTSRestrict every read and write to these Notes accounts, by name.

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

パッケージ
npm@mgcrea/mcp-apple-notes1.31.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@mgcrea/mcp-apple-notes

macOS の Apple Notes アプリ向け Model Context Protocol サーバーです。

非公式です。 Apple とは提携していません。Mac にすでにインストールされている Notes アプリを操作します。

2 つの経路

  • Apple Events 経路 — アカウント、フォルダー、本文、およびすべての変更を扱います。常にこちらが正となります。 書き込み後、結果は Notes から再読み込みした内容になります。
  • インデックス経路 — NoteStore.sqlite に対する読み取り専用の SQLite で、Apple Events では扱いきれない規模の検索とメタデータ取得に使います。フルディスクアクセスが必要です。

Mail とは異なり、Apple Events 経路だけでサーバーとして機能します。921 件のノートがあるライブラリで計測したところ、全文検索にかかる時間は 97 ms でした。Mail がインデックスを必要とする原因となった 74 秒と比べてください。そのため、まずインストールして使い始め、フルディスクアクセスを許可するかどうかはその後に決められます。

ただし、いつまでも拡張できるわけではありません。背後にインデックスがないため、クエリのたびに全コストがかかります。限界は約 5~10k 件のノートです。apple_notes_diagnostics で、どちらの経路が応答しているかを確認できます。

権限必要となる機能権限がない場合
Automation → Notesすべて何も動作せず、-1743 エラーが発生します
フルディスクアクセス大規模な検索、save_attachmentサーバーは引き続き動作しますが、Apple Events 経路を使います

どちらの権限も Notes.app に付与するものではありません。権限が必要なのは、読み取りを行う側 です。

ツール

読み取り:diagnostics、list_accounts、list_folders、list_notes、search_notes、get_note、 list_attachments、save_attachment。

書き込み:APPLE_NOTES_ALLOW_WRITES=1 の場合にのみ登録されます。フラグがオフの場合、モデルから見えなくなるだけで、単に拒否されるわけではありません:create_note、update_note、move_note、delete_notes、 add_attachment。

add_attachment は、ノートに画像を追加する唯一の方法です。ノート本文に <img> タグを入れても、Notes が読み込まない添付ファイルが作成されるだけです。docs/notes.md を参照してください。

設定

変数デフォルト
APPLE_NOTES_ALLOW_WRITESoff変更を行うツールを登録します。
APPLE_NOTES_ACCOUNTSall読み取り側の許可リスト。カンマ区切りです。
APPLE_NOTES_INDEX_MODEautoauto | ro | immutable | off。
APPLE_NOTES_STOREautoNoteStore.sqlite のパスを明示的に指定します。
APPLE_NOTES_SEARCH_CACHE_TTL_MS60000本文コーパスをキャッシュに保持する時間です。
APPLE_NOTES_ATTACHMENT_DIR~/Downloads添付ファイルの保存先として許可される唯一のディレクトリです。
APPLE_NOTES_BODY_MAX_BYTES262144コンテキストウィンドウを保護するための本文の切り詰めサイズです。
APPLE_NOTES_OSASCRIPT_TIMEOUT_MS30000初回の権限確認プロンプトに合わせたタイムアウトです。

注意が必要な点

  • Notes は本文の最初の行からノートのタイトルを取得します。 name を設定しても黙って無視されるため、create_note は代わりにタイトルを見出しとして先頭に追加します。
  • パスワードで保護されたノートは一切読み取れません。 保存時のテキストは AES 暗号文であり、そのため ZICNOTEDATA に暗号関連の列が含まれています。どの権限を付与しても読み取り可能にはなりません。
  • フォルダーは入れ子になります。 自分のライブラリがたまたまフラットであっても、フォルダーマップは再帰的に処理する必要があります。
  • 検索キャッシュは無効化ではなく TTL で管理されます。 キャッシュが古くなっているかを Apple Events 経由で確認するには 128 ms かかり、スキャンを再実行する時間(97 ms)よりも長くなります。そのため、一定範囲の古さを許容するのが現実的な選択です。docs/notes.md を参照してください。

ライセンス

MIT。

コメント

MCP は初めてですか?

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

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