Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sweetrb/apple-notes-mcp --skill apple-notesgit clone --depth 1 https://github.com/sweetrb/apple-notes-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sweetrb/apple-notes-mcp/apple-notes)<a href="https://agentmods.dev/skills/sweetrb/apple-notes-mcp/apple-notes"><img src="https://agentmods.dev/badge/skills/sweetrb/apple-notes-mcp/apple-notes/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sweetrb/apple-notes-mcp/apple-notes"><img src="https://agentmods.dev/badge/skills/sweetrb/apple-notes-mcp/apple-notes.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.09048 |
| Opus 5.5 | $0.00022 | $0.03619 |
| Sonnet 5.5 | $0.00011 | $0.01810 |
| Haiku 4.5 | $0.00005 | $0.00905 |
Grade A, and why
apple-notes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 494 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Apple Notes Skill
This skill enables you to manage Apple Notes on macOS through natural language. Use it whenever the user mentions notes, wants to save information to Notes, or needs to retrieve, update, or organize their notes.
When to Use This Skill
Use this skill when the user:
- Wants to create a new note or save information
- Asks to find, search, or look up notes
- Wants to read the contents of a note
- Needs to update or edit an existing note
- Wants to delete or remove a note
- Asks to move or organize notes into folders
- Wants to list their notes or folders
- Mentions Apple Notes, Notes app, or "my notes"
Available Tools
Note Operations
| Tool | Purpose |
|---|---|
create-note |
Create a new note with title and content |
search-notes |
Find notes by title or content |
query-notes |
Find notes with a boolean expression over text, folders, tags, attachments, checklists, flags, word counts, and dates (reads the database; needs Full Disk Access) |
get-note-content |
Read the full content of a note |
get-note-plaintext |
Read a note's body as plain text (no HTML) |
get-note-markdown |
Read note content as Markdown |
get-note-by-id |
Get note metadata by ID |
get-note-details |
Get metadata (created, modified, account) |
get-note-link |
Get the shareable notes://showNote?identifier=… deep link for a note |
update-note |
Replace a note's whole body; refused when the note holds attachments, tables, checklists, or native tags, or formatting HTML cannot carry |
append-to-note |
Add content to a note without replacing it (position: "after" / "before", which inserts below the title) |
append-native |
Append plaintext, the native HTML subset, or Markdown to a note that holds native objects, without replacing its body (needs scopeText) |
insert-link |
Add one URL to a note as its raw text or as a labeled hyperlink, verified from the stored link |
insert-note-link |
Append a real link to another note (by id) with a static label, verified after the write |
delete-note |
Remove a note (moves to Recently Deleted; refuses a note already there, where delete is permanent); like update-note, append-to-note, and move-note it accepts ifFolderId, ifAncestorFolderId, and forbiddenAncestorFolderIds folder preconditions. For copy-then-retire, pass guardNoteId and expectedGuardContentHash (the verified copy's contentHash) so the original is deleted only while the copy is intact; needs Full Disk Access |
batch-delete-notes |
Delete multiple notes by ID (max 500 per call; refuses notes already in Recently Deleted) |
move-note |
Move a note to a different folder |
batch-move-notes |
Move multiple notes by ID (max 500 per call) |
list-notes |
List all notes or notes in a folder (excludes Recently Deleted unless includeRecentlyDeleted) |
list-special-notes |
List pinned notes, Quick Notes, Recently Deleted, or locked notes (kind; metadata only, needs Full Disk Access) |
set-note-pinned |
Pin or unpin one exact note (checks expectedPinned and expectedContentHash; never rewrites the body) |
list-recent-notes |
Changes since a cursor, oldest first, for incremental sync: pass since, then keep calling with nextSince until saturated is false (needs Full Disk Access) |
show-note |
Reveal a note in the Notes.app UI by ID |
get-selected-notes |
Read the notes currently selected in Notes.app |
export-notes-json |
Export notes as JSON one page at a time (offset/limit/modifiedSince); repeat with page.nextOffset while page.hasMore |
export-notes-markdown |
Export one note or a folder as one Markdown document from the decoded body; optional create-only outputPath and assetsDir for attachment copies; template/templateFile render through a JSON Markdown template such as obsidian front matter (presentation format, not a backup) |
export-notes-html |
Export one note or a folder as one standalone HTML file (semantic tables, attachments in body order); outputPath required and create-only; assets embedded (10 MiB each) or in a sidecar directory with embedAssets: false; vectorDrawings: true renders classic drawings as SVG through the public helper (default false keeps Notes' PNG; Paper keeps its PNG; failures fall back to PNG) |
list-markdown-templates |
List built-in and saved Markdown export templates |
show-markdown-template |
Show a template's JSON (portable form; expanded for every rule) |
validate-markdown-template |
Check a template; returns every problem with a JSON path |
save-markdown-template |
Save a template to the library by slug name (create-only unless force) |
delete-markdown-template |
Delete a saved template (built-ins cannot be deleted) |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago Changed · +7 lines 2c11aaf9f0e5
- 15d ago Changed d072764c36f7
- 20d ago Changed · +8 lines a226bef73474
- 27d ago Changed · +2 lines 7e48a60023a1
- 29d ago Changed · +60 lines 5e4b41b1feba
- 1mo ago Changed · +119 lines 41f1b6bb2605
- 1mo ago Changed · +12 lines 5841e0426281
- 1mo ago Changed · +10 lines f197731d8f2f
- 1mo ago Changed c4a9ff29a560
- 1mo ago First seen · 276 lines · 54 tokens per session scan A 6fb3d03bfbfa
apple-notes is a skill published in the GitHub repository sweetrb/apple-notes-mcp (168 stars, last pushed 2d ago), licensed MIT. It adds 54 tokens to every session and 9,048 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
apple-mail
Use this skill when the user wants to manage Apple Mail on macOS - reading, searching, sending, replying to, forwarding, and organizing emails and mailboxes. This skill provides access to Apple Mail through MCP tools.
confirmation-protocol
Foresay-derived confirmation workflow for email operations. Use this skill BEFORE executing archive-mail with vague filters, composeemail (sending mail), deleteemail/moveemail in bulk, or any operation that touches 5+ emails. Show user a structured preview of "what I understood" before taking action, achieving…
bulk-operation-preview
Show structured preview of bulk email operations (5+ emails) before execute. Group by thread, flag false-positive candidates, count side-effect scope (files written, attachments downloaded, mailboxes touched). Use after email-search-disambiguation finishes Phase 1, as Phase 2 of the confirmation protocol.
email-search-disambiguation
A clarification step for email searches when a person, time period, direction, or scope is unclear. It presents specific possible meanings so the user can choose one.
apple-notes-search
Semantic + keyword search and connection-discovery across the user's own Apple Notes via the apple-notes MCP server. Use when the user wants to find, recall, or synthesize something from their notes, or surface non-obvious bridges/related notes. macOS, on-device.
imessage-inbox
Show the inbox/conversation list using imessage-tools.