mcp-inotes
Allows interacting with Apple Notes to create, read, append, and list notes in a designated folder.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-inotes Create a note for my daily journal entry"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-inotes
A lightweight MCP (Model Context Protocol) server that enables Claude and other LLMs to interact with Apple Notes.
About
This MCP server gives Claude the ability to create, read, and append to notes in Apple Notes. It's designed with a safety-first approach: all operations are restricted to a single designated folder, and the server only supports append operations (no overwrites or deletions).
Perfect for using Claude as your AI journaling assistant, note-taking companion, or personal knowledge base manager.
Related MCP server: Apple Notes MCP
Features
Create new notes with title and body
Read existing notes by ID
Append content to notes (no overwrites)
List all notes with metadata
Safety-first: Operations restricted to "Claude Diary" folder only
Append-only design prevents accidental data loss
Built with FastMCP
Prerequisites
macOS - Uses AppleScript to interact with Notes.app
Python 3.12+
Apple Notes.app
Claude Desktop or another MCP-compatible client
Basic familiarity with MCP servers
Installation
git clone https://github.com/pongsapakl/mcp-inotes.git
cd mcp-inotes
uv syncConfiguration
Add to your MCP settings file. For Claude Desktop, edit:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonAlternative:
~/.mcp.json
{
"mcpServers": {
"mcp-inotes": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/mcp-inotes",
"run",
"python",
"main.py"
]
}
}
}Important: Replace /absolute/path/to/mcp-inotes with the actual path where you cloned this repository.
Required Setup
Before using the server, create a folder named "Claude Diary" in Apple Notes:
Open Apple Notes
Right-click in the sidebar
Select "New Folder"
Name it exactly:
Claude Diary
This folder is where all notes will be created and managed.
Available Tools
create_note(title, body)- Create new note in Claude Diary folderget_note(note_id)- Read full note content and metadataappend_to_note(note_id, content)- Append content to existing note (append-only)get_notes_list()- List all notes with IDs and timestamps
Usage Examples
Here's how Claude can use these tools in practice:
Creating a daily journal entry:
User: "Create a journal entry for today about my morning routine"
Claude: [Uses create_note("Daily Journal - 2026-01-15", "Woke up at 7am...")]Building on previous notes:
User: "Add my evening reflections to today's journal"
Claude: [Uses get_notes_list() to find today's note, then append_to_note()]Searching through your notes:
User: "What did I write about my project last week?"
Claude: [Uses get_notes_list(), then get_note() to read relevant entries]Safety & Constraints
This server is designed with deliberate limitations for safety:
Folder Restriction
All operations are hardcoded to work only with the "Claude Diary" folder
Cannot access, modify, or delete notes in other folders
Prevents accidental changes to important notes elsewhere in your Apple Notes
Append-Only Operations
No delete functionality
No overwrite functionality
Only supports creating new notes and appending to existing ones
Protects against accidental data loss
Why "Claude Diary"? The folder name is intentionally hardcoded rather than configurable. This constraint ensures you always know exactly where the MCP server can operate, reducing the risk of unintended modifications to other notes.
Limitations
Date filtering not implemented: The
start_dateandend_dateparameters inget_notes_list()are accepted but not yet functional. Currently returns all notes from the Claude Diary folder.macOS only: Relies on AppleScript, which is macOS-specific
Single folder: Cannot manage notes across multiple folders
No delete operations: By design, but means you'll need to manually clean up unwanted notes in Apple Notes
Troubleshooting
"Folder not found" error
Make sure you've created a folder named exactly "Claude Diary" in Apple Notes
The name is case-sensitive
Server not connecting
Verify the absolute path in your MCP config file is correct
Try running
uv syncagain to ensure dependencies are installedCheck Claude Desktop logs:
~/Library/Logs/Claude/
AppleScript permission denied
macOS may prompt you to grant permissions the first time
Check System Settings → Privacy & Security → Automation
Ensure Claude/your MCP client can control Apple Notes
Notes not appearing
Make sure you're looking in the "Claude Diary" folder in Apple Notes
Try refreshing the Notes app
Check that the note IDs being used are valid
Contributing
Contributions are welcome! Feel free to:
Report issues on GitHub
Submit pull requests for bug fixes or improvements
Suggest new features (while respecting the safety-first design philosophy)
License
MIT
Built with FastMCP | Learn more about Model Context Protocol
Available Tools
4 toolsappend_to_noteA
Append content to an existing note (APPEND ONLY - no overwrite)
Args: note_id: The ID of the note to append to (x-coredata:// URL) content: The content to append
Returns: Success message
Note: This operation only APPENDS content. It cannot overwrite or delete existing content. This is a safety feature to prevent data loss.
Inputs: content (required), note_id (required). Returns: result
create_noteA
Create a new note in Claude Diary folder
Args: title: The title of the note body: The content/body of the note
Returns: Success message with note ID
Inputs: body (required), title (required). Returns: result
get_noteA
Get full content of a specific note by ID
Args: note_id: The note ID (x-coredata:// URL)
Returns: Formatted note content with metadata
Inputs: note_id (required). Returns: result
get_notes_listA
Get list of notes from Claude Diary folder
Args: start_date: Start date in ISO format (YYYY-MM-DD) - not yet implemented end_date: End date in ISO format (YYYY-MM-DD) - not yet implemented
Returns: Formatted list of notes with metadata
Note: Currently returns all notes from Claude Diary folder. Date filtering is not yet implemented.
Inputs: end_date, start_date. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a distinct purpose: create, append, retrieve single, and list. No overlap or ambiguity exists between the operations.
All tool names follow the consistent verb_noun pattern (create_note, append_to_note, get_note, get_notes_list). The naming convention is uniform and predictable.
With 4 tools, the server is well-scoped for a note-taking and diary management domain. Each tool serves a necessary function without redundancy.
The server covers create, append (update), read, and list operations, which covers the core lifecycle. Minor gaps include no delete functionality and date filtering not yet implemented, but these are not critical for the primary use case.
Maintenance
Related MCP Connectors
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Notes and actions in one app. Let Claude or ChatGPT read and update them.
Read and write the notes and folders of your Grape account, the AI note-taking app.
AI access to your aNotepad online notes: read, search, write, and organize via 22 tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to read, create, search, update, and delete Apple Notes through natural language conversation, using JXA to communicate directly with the Notes app.84,261 npm30MIT
- AlicenseAqualityDmaintenanceEnables AI clients to search, read, create, update, move, and delete Apple Notes on macOS via AppleScript automation.104,261 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to read, write, search, and manage Apple Notes on macOS via AppleScript automation.4,261 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to read, write, and manage Apple Notes directly via markdown, including listing, fetching, creating, and appending notes.57 npm-