
Notesbridge
io.github.IsaiahDupree由 GitHub 帳號 IsaiahDupree 發布v1.3.0更新於 Oct 24, 2026
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
概覽
透過本機 Mac 代理與託管中繼,讓 ChatGPT 或 Claude 搜尋、讀取與寫入 Apple 備忘錄的連接器。
- 可以做什麼
- 以關鍵字搜尋備忘錄並讀取單一備忘錄的完整內容
- 列出資料夾與備忘錄數量,也可依資料夾列出備忘錄
- 建立新備忘錄,並在既有備忘錄追加文字
- 改寫備忘錄內容(破壞性操作,會先確認)
- 管理 Mac 代理:查看配對狀態、檢視日誌、取消開機自動啟動
- 適用情境
- 當你希望助理直接查詢或補充你的 Apple 備忘錄、不想手動複製貼上,且願意讓一台 Mac 保持喚醒並執行本機代理時使用。
- 執行需求
- 需在託管網站註冊 NotesBridge 帳號並產生配對碼;在 Mac 上以 npx 安裝 apple-notes-agent(需 Node 18 以上);授予 macOS 讓終端機控制備忘錄的權限;Mac 需保持喚醒且代理正在執行;連線時需 OAuth 登入。自架另需 Vercel 帳號與 Supabase 專案,並設定 SUPABASE_URL、SUPABASE_SERVICE_ROLE_KEY 與 JWT_SECRET。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Notesbridge,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.IsaiahDupree%2Fnotesbridge/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"notesbridge": {
"type": "http",
"url": "https://notesbridge.vercel.app/mcp"
}
}
}README
📝 NotesBridge
Use your Apple Notes from ChatGPT — search, read, and write, powered by your own Mac.
NotesBridge is a Model Context Protocol (MCP) connector that lets ChatGPT work with your Apple Notes. Every Notes action runs on your own Mac through a local agent. Requested note content travels through the hosted relay to ChatGPT; job arguments and results are temporarily stored in the relay database.
The agent accesses Apple Notes on your Mac. The relay stores account records and temporary job payloads/results; ChatGPT receives requested note content. Password-protected notes and attachment content are outside the verified read scope.
For users — 3 steps
1. Create your account at notesbridge.vercel.app and generate a pairing code.
2. Install the Mac agent (needs Node 18+):
The first time it touches Notes, macOS asks "Terminal wants to control Notes" — click OK (one time).
3. Connect ChatGPT: Settings → Plugins → turn on Developer mode (Security & login) → Create a custom plugin → paste the MCP Server URL https://notesbridge.vercel.app/mcp → Authentication OAuth → sign in & Allow.
That's it. In a new chat: "Search my Apple Notes for the Q3 planning note" or "Create a note titled Groceries with milk, eggs, coffee."
Your Mac must be awake with the agent running.
npx apple-notes-agent installmakes it start automatically at login and restart if it ever crashes.
Managing the agent
From this source checkout, for a private local text index (Node.js 22.13+), run
node agent/cli.mjs index-install. This builds the index in batches of 25
notes and checks for changes every 15 minutes. index-status reports coverage.
Search checks the current Notes metadata before using cached text, and falls
back to live Notes when the index is stale. Password-protected content and
attachment contents are excluded. The SQLite index stays in an owner-only
directory on the Mac, outside the repository.
The indexing commands are available in source; npm publication is separate.
What ChatGPT can do
Self-hosting
You can run your own relay so nothing depends on the hosted instance.
Prereqs: a Vercel account and a Supabase project (free tiers are fine).
- Storage — in your Supabase project's SQL editor, run
supabase/schema.sql. It creates a tiny Redis-shaped KV + queue surface (nb_*functions) with RLS on. - Deploy the
server/directory to Vercel. - Set env vars (see
server/.env.example):SUPABASE_URL,SUPABASE_SERVICE_ROLE_KEY— your project + service-role keyJWT_SECRET—openssl rand -hex 32
- Verify:
curl https://YOUR-APP.vercel.app/api/health→redisConfigured,redisOk,jwtSecretSetalltrue. - Point the agent at it:
npx apple-notes-agent pair <CODE> --server https://YOUR-APP.vercel.app.
How it works
- Auth — OAuth 2.1 with PKCE and Dynamic Client Registration (RFC 7591). ChatGPT registers itself, the user signs in on the NotesBridge consent page, and ChatGPT gets a scoped MCP access token. JWTs are HMAC-signed; three kinds (
session,agent,mcp) with distinct privileges. Optional email verification via Resend (RESEND_API_KEY); off unless configured, and enforcement is opt-in (REQUIRE_EMAIL_VERIFICATION). - Relay — MCP tool call → job pushed to
jobs:<user>(TTL ≤ the caller's wait window, so an abandoned job can't run late) → the Mac agent (holding a hanging long-poll) is handed the job within ~200ms, executes it, pushes the result → the MCP handler returns it. The long-poll means jobs are delivered on arrival rather than on a fixed interval, so relay overhead is ~300ms instead of ~1s. The agent is considered "online" only while it's actively connected. - Agent — a dependency-free Node CLI. Tools run via JXA (
osascript -l JavaScript) against Notes.app; arguments are passed as JSON over argv (never shell-interpolated). A macOS LaunchAgent keeps it alive across logins and crashes.
Repository layout
Development
Security & privacy
- Notes are read/written only on your Mac. The relay never persists note content — job payloads live in Redis-shaped storage with a short TTL and are deleted on delivery.
- The agent token is stored at
~/.notesbridge-agent.json(mode600). - No secrets are committed; see
.gitignoreand the.env.examplefiles. - Write tools are marked destructive so ChatGPT asks before overwriting.
License
MIT © Isaiah Dupree
Complete read coverage
list_notes and search return next_cursor. Pass it back until null; an empty search page can still have a cursor. Listings use stable note-ID order. Search reports password-protected notes as skipped. Run node test/live-all-notes.mjs for a read-only local coverage test after granting Notes automation. Current verification status is in the report.
來源:README.md,提交 8b63357
工具
0版本歷史
1- v1.3.0最新Sep 16, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分