get-checklist-state
Reads checklist done/undone state for a note. This bypasses the AppleScript limitation where body of note strips checklist state, by reading directly from the NoteStore SQLite database.
How to use it
get-checklist-state is exposed by the Apple Notes MCP MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the get-checklist-state tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.
Install Apple Notes MCP
claude mcp add apple-notes -s user -- npx -y apple-notes-mcpOther tools in Apple Notes MCP (35)
Appends or prepends content to an existing note without replacing it. Always reads and writes as HTML, preserving all existing rich formatting.
Deletes multiple notes at once by ID.
Moves multiple notes to a folder.
Creates a new folder, including a whole nested hierarchy in one call.
Creates a new note in Apple Notes.
Deletes a folder.
Deletes a note (moves to Recently Deleted in Notes.app).
Run a full setup diagnostic: Notes.app reachability, the Automation permission, configured accounts, and Full Disk Access — each reported as ok / warn / fail with an actionable message. This is the richer counterpart to health-check; reach for it first when something isn't working.
Exports all notes as a JSON structure.
Returns a note attachment's bytes as base64, without writing to disk (the read counterpart to save-attachment).
Returns the default account and folder Notes.app uses for newly created notes.
metadata (BETA)
Retrieves a note using its unique CoreData identifier.
Retrieves the full content of a specific note.
Retrieves metadata about a note (without full content).
Returns the notes://showNote?identifier=<uuid> deep-link URL for a note. The URL opens the note in Notes.app on iOS and macOS and can be stored in Reminders tasks or shared links.
Gets a note's content as Markdown instead of HTML. If the note contains checklists and Full Disk Access is granted, checklist items are automatically annotated with [x] (done) or [ ] (undone).
Retrieves a note's body as plain text, with no HTML markup.
Gets comprehensive statistics about your notes.
Reads the currently selected note(s) from the Notes.app UI.
Checks iCloud sync status.
Verifies Notes.app connectivity and permissions.
Lists all configured Notes accounts.
Lists attachments in a note.
Lists all folders in an account with full hierarchical paths.
Lists all notes, optionally filtered by folder, date, and limit.
Lists all notes shared with collaborators.
Moves a note to a different folder. The note is relocated in place via Notes.app's native move, so its id, creation date, and all embedded attachments (files, images, scans, PDFs, audio) are preserved. The destination folder must already exist — create it first with create-folder.
Saves a note attachment to disk.
Searches for notes by title or content.
Reveals an account in Notes.app using its unique CoreData identifier.
Reveals one note attachment in Notes.app. Attachments are elements of a note, so this takes both the note id and the attachment id (the same pair used by save-attachment / fetch-attachment).
Reveals a folder in Notes.app using its unique CoreData identifier.
Reveals a note in Notes.app using its unique CoreData identifier.
Updates an existing note's content and/or title.