Apple Notes MCP Server
Apple Notes MCP サーバー
Apple Notesのネイティブフォーマットをサポートし、Apple Notesの読み書きを行います。
ほとんどのApple Notes MCPサーバーはプレーンテキストしか書き込めませんが、このサーバーはネイティブにフォーマットされたノートを作成します。タイトル、見出し、太字、リストなどは、プレーンテキストではなく、実際のApple Notesのスタイルとしてレンダリングされます。これは、Notes.appに組み込まれているMarkdownインポート機能を活用することで実現しています。
要件: macOS 26 (Tahoe) 以降、Node.js 24以上
セットアップ
1. MCPクライアントに追加する
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json を編集します:
{
"mcpServers": {
"apple-notes": {
"command": "npx",
"args": ["-y", "@ailenshen/apple-notes-mcp@latest"]
}
}
}Claude Code — ターミナルで実行します:
claude mcp add apple-notes -- npx -y @ailenshen/apple-notes-mcp@latest2. 権限を付与する
ネイティブフォーマットをサポートするため、このサーバーはNotes.appの組み込みMarkdownインポート機能を使用します。これは.mdファイルをNotes.appで開き、インポートダイアログを自動的に確定させるものです。これにはnodeに対して2つのmacOS権限が必要です:
権限 | 有効にする場所 | 理由 |
フルディスクアクセス | システム設定 > プライバシーとセキュリティ > フルディスクアクセス > | ノートのリスト表示と検索のためにデータベースを読み取る |
アクセシビリティ | システム設定 > プライバシーとセキュリティ > アクセシビリティ > | ノート作成時にインポートダイアログを自動確定させる |
初回使用時にmacOSから承認を求められるので、「許可」をクリックしてください。プロンプトを見逃した場合は、上記の設定から手動でnodeをオンにしてください。権限付与後、MCPクライアントを再起動してください。
権限が不足している場合、サーバーがどの権限が必要か、どう修正すべきかを正確に伝えます。
3. 使用を開始する
AIに自然に話しかけるだけです:
「Projectsフォルダにあるすべてのノートをリストアップして」
「ノートから『会議の議題』を検索して」
「『買い物リスト』というノートを読んで」
「Workフォルダに今日のタスク項目を含むノートを作成して」
「『買い物リスト』をこれらの新しい項目で更新して」
「『古いドラフト』という名前のノートを削除して」
何ができるか?
ツール | 説明 |
| ノートを閲覧する(フォルダでフィルタリング可能) |
| キーワードでノートを探す |
| 内容をMarkdownとして読み込む |
| Markdownを書き込み、ネイティブフォーマットのノートを作成する |
| フォルダを維持したまま内容を置き換える |
| 「最近削除した項目」に移動する |
NotesでのMarkdownサポート
要素 | 対応状況 |
見出し、太字、斜体、リスト、 | はい |
引用ブロック | 内容は保持されるが、インデントスタイルはなし |
リンク | テキストは保持されるが、URLは失われる |
テーブル、脚注 | いいえ |
リモートアクセス (HTTPモード)
スマートフォンや別のコンピュータからApple Notesにアクセスしたいですか?
npx @ailenshen/apple-notes-mcp@latest --httpこれにより、組み込みシークレットを含むエンドポイントURLが表示されます:
Endpoint: http://localhost:3100/mcp/a3f8b2c9e1d4...リモートのMCPクライアントをこのURLに向けてください。インターネット経由でアクセスするには、トンネル(ngrok、Cloudflare Tunnelなど)を使用してHTTPSの背後に配置してください。
フラグ | デフォルト | 説明 |
| 3100 | ポート番号 |
| ランダム | カスタムURLシークレット |
再起動後も実行し続けるには、wikiのLaunchAgentの例を参照してください。
仕組み
アクション | メソッド | 速度 |
リスト / 検索 | SQLite (読み取り専用) | < 100ms |
読み取り | AppleScript → Markdown | ~1秒 |
作成 | ネイティブMarkdownインポート | ~0.5秒 |
更新 | 削除 + 作成 | ~1.5秒 |
削除 | AppleScript | ~1秒 |
読み取りは、SQLiteを介してNotesデータベースを直接クエリするため、高速かつ安全です。内容はturndownを介してAppleのHTMLからMarkdownに変換されます。
作成はmacOSのネイティブMarkdownインポート(
open -a Notes)を使用するため、フォーマットがネイティブに保持されます。作成中、Notes.appが短時間(約0.5秒)表示されます。更新は古いノートを削除して新しいノートを作成し、元のフォルダを自動的に保持します。
削除は手動で行うのと同様に、ノートを「最近削除した項目」に移動します。
既知の制限事項
ノートの部分編集(例:「この段落だけ修正して」)はサポートされていません。
update_noteは常に内容全体を置き換えます。これはNotesがコンテンツを公開する方法の根本的な制限です。AppleScriptインターフェースは元のMarkdownではなくHTMLを返すため、クリーンな「読み取り→編集→書き込み」の往復は現在不可能です。ノート作成中にNotesが短時間表示されます。MarkdownインポートフローではNotes.appのダイアログを自動確定させる必要があり、その際に一時的に前面に表示されることがあります。
これらの制限は、AppleがAppleScriptにMarkdownのインポート/エクスポートを追加するか、公式のNotes APIを公開すれば解消されます。どちらも将来のmacOSリリースに向けて追跡されています。
ビジョン
Apple Notesは、Appleデバイス上で個人の知識を保持するための最も自然な場所です。同期はどこでも行われ、高速で、プライベートです。しかし、APIのない「壁に囲まれた庭」でもあります。
このプロジェクトは、Apple NotesをAIにとってのファーストクラスのデータソースにします。長期的な目標は、Mac、スマートフォン、Webなど、どこでAIと対話していても、Apple Notesに常にアクセスでき、読み書きできるようにすることです。
ライセンス
MIT
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/ailenshen/apple-notes-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server