Amber Notes
MCP serverSearchLets your agent search, read and edit your Amber Notes folders, checklists, tables and trackers.
Use Amber Notes in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Amber Notes and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use Amber Notes
Needs your own Amber Notes account. You sign in to it and approve access when you connect.
Details
Available today. Use it from your connected AI after setup.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this server
Search, read and edit your Amber Notes: folders, checklists, tables and trackers.
Install Amber Notes
The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user amber-notes 'https://mcp.ambernotes.app'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://mcp.ambernotes.appAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=amber-notes&config=eyJ1cmwiOiJodHRwczovL21jcC5hbWJlcm5vdGVzLmFwcCJ9Open the link and Cursor adds the server at that address.
ChatGPT
https://mcp.ambernotes.appIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add amber-notes --url 'https://mcp.ambernotes.app'Run it once, then sign in with codex mcp login amber-notes if the server asks for an account.
From the project's README
As published by emilwagman/amber-notes in README.md.
What it does
- AI edits you can see and undo. Whatever an assistant writes is tinted and labeled with its name, and one tap undoes it.
- Version history. Every change keeps the previous version, with who made it: you on iPhone, you on Mac, or which AI.
- Apple Notes import on the Mac brings your notes over.
- Sync between iPhone and Mac in about half a second.
- Connect ChatGPT, Claude, Claude Code or Codex. You approve each connection in the app and choose read-only or read-and-edit.
Features in detail
- Apple Notes layout and behaviour. Folders, a note list grouped by date, pinning, search, multi-select, Recently Deleted. When in doubt, it does what Notes does.
- Markdown underneath, formatted on screen. Headings, bold, italic, underline, strikethrough, code, quotes, links. The markdown syntax stays out of sight.
- Lists like Notes. Checklists (ticked items slide to the bottom), bulleted (
*), dashed (-) and numbered lists. Return continues a list, Tab nests it. - Tables you edit cell by cell, including typed columns (number, date, yes/no).
- Sub-notes. Link a note inside another, like a folder inside a page.
- Files and images inside a note: paste, drag in, or attach. PDFs open in Quick Look.
- Live sync. Typing on one device shows up on the others in about half a second. Edits made on two devices at once are never silently lost.
- Share a note as a web page with a private link, and stop sharing at any time.
- AI access over MCP. Connect ChatGPT, Claude, Claude Code or Codex. You approve every connection inside the app and pick read-only or read-and-edit. Every change an assistant makes keeps the previous version.
- Apple Notes import on the Mac, and a menu bar item for quick capture.
- Private by default. Sign in with Apple or email. No ads, no analytics, no tracking. Delete your account from Settings.
How it's built
| Part | Where | What |
|---|---|---|
| App | Pane/ | SwiftUI for iOS 26 and macOS 26. The editor is TextKit 2 with its own layout fragments for checkboxes, bullets, tables and embeds. SwiftData holds a local copy of everything. |
| Sync | Pane/Sync/ | Pushes and pulls through Supabase with version checks, and listens on Supabase Realtime for changes from other devices. |
| Backend | supabase/ | Postgres with row-level security on every table, per-account limits and rate limits in the database, Storage for files, and Edge Functions. |
| AI server | supabase/functions/mcp/ | An MCP server (Streamable HTTP) with 27 tools. Public address https://mcp.ambernotes.app (proxied by the site, web/middleware.ts). Web clients connect with OAuth 2.1 (PKCE, dynamic client registration) and approve in the app or on the web at ambernotes.app/connect. Claude Code and Codex use a revocable header token. Every call runs as the note owner with row-level security. |
| Share site | web/ | Next.js. Renders shared notes safely (sanitized markdown, strict CSP), with a report link and a privacy page. |
| Share extension | PaneShare/ | Share sheet target on iOS. |
The Xcode project is generated from project.yml with XcodeGen. Folder and target names still say "Pane", the app's working name.
Build from source
You need macOS 26 with Xcode 26, Homebrew, and Docker (for the local Supabase stack). A fresh clone runs entirely on your machine.
brew install xcodegen supabase/tap/supabase deno pnpm
git clone https://github.com/emilwagman/amber-notes.git
cd amber-notes
supabase start # local Postgres, Auth, Storage and Functions on ports 56420–56429
xcodegen generate
open Pane.xcodeproj # run the "Pane" scheme on "My Mac" or an iPhone simulator
The app talks to the local stack through Config/Backend.xcconfig, which carries Supabase's standard local-only development key. To point your builds at a real project, create Config/Backend.local.xcconfig (gitignored) with your own PANE_SUPABASE_URL, PANE_SUPABASE_KEY and PANE_SHARE_URL.
Running on a physical device needs your own Apple team. Change DEVELOPMENT_TEAM in project.yml, and the bundle ids if you like.
Tests
scripts/qa-test.sh # Mac unit and interaction tests
deno test --allow-all supabase/functions/mcp/notes.test.ts
scripts/mcp-e2e.sh # MCP end-to-end, against the local stack
scripts/share-e2e.sh # share links end-to-end, against the local stack
(cd web && pnpm install && pnpm test && pnpm build) # share site
The interaction tests drive the real editor in an offscreen window, so they never move your mouse or take focus.
Run your own backend
Everything the app needs runs on one Supabase project:
- Create a project at supabase.com and put a personal access token in
.envasSUPABASE_ACCESS_TOKEN=sbp_…. - Run
scripts/deploy-backend.sh <project-ref>. It links the project, applies the migrations, deploys the functions, pushes the auth settings, and writesConfig/Backend.local.xcconfig. - For share links, deploy
web/to any Next.js host and setPANE_SHARE_URLto it.
Connect an AI
In the app, open Settings → Connect an AI and follow the steps for your client. ChatGPT and Claude get a plain server address, https://mcp.ambernotes.app, and ask Amber Notes for permission through OAuth: a page on ambernotes.app opens, where you answer in the app or sign in and answer on the web. Claude Code and Codex get a command with a revocable token. Connections are listed in Settings, where you can disconnect each one.
Privacy and security
- Your notes are readable only by your account: row-level security applies to the app, the AI server and direct API calls alike.
- AI tokens are stored as hashes and can be read-only.
- Shared pages are public to anyone with the link. The app warns before creating one, and a page stops working the moment you stop sharing.
- Privacy policy · Security policy
License
MIT. Made by Emil Wagman at Incredible.
Signals
- Last commit
- Oct 2026
Advanced
- Delivery
- amber-notes MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
app-ambernotes-amber-notes- Source
- github.com/emilwagman/amber-notes
- Hosted endpoint
https://mcp.ambernotes.app
github.com/emilwagman/amber-notes