MCP server for Apple Notes integration using AppleScript
Project description
Apple Notes MCP Server
Powerful tools for automating Apple Notes using Model Context Protocol (MCP)
mcp-name: io.github.henilcalagiya/mcp-apple-notes
Overview
Apple Notes MCP Server provides seamless integration of Apple Notes with any MCP-compatible client. It enables full note automation — including creating, reading, updating, and deleting notes — through a simple and secure AppleScript API layer.
Features
- Full CRUD support for Apple Notes (Create, Read, Update, Delete)
- Works with Continue.dev, Claude Desktop, Perplexity, and other MCP clients
- Native AppleScript integration for reliable macOS automation
- Comprehensive tools for Apple Notes automation
- Automatic installation via
uvxor manual setup - FastMCP implementation with modern decorator-based API
Requirements
- macOS - Required for AppleScript support
- Python 3.10+ - Required for MCP SDK compatibility
- Apple Notes application - Must be installed and accessible
- MCP-compatible client (e.g., Continue.dev, Claude Desktop)
Quick Start
Step 1: Install uv (if not already installed)
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell):
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Alternative (pip):
pip install uv
Step 2: Add MCP Configuration
Add this configuration to your MCP client:
For Perplexity, Cursor, Continue.dev, Claude Desktop:
{
"mcpServers": {
"apple-notes": {
"command": "uvx",
"args": ["mcp-apple-notes@latest"]
}
}
}
🎉 That's it! Your MCP client will automatically install and run the package when needed.
Note: Ensure your MCP client has permission to access Apple Notes and execute AppleScript commands in System Preferences → Security & Privacy → Privacy → Accessibility.
Available Tools
Note Management (6 tools)
create_note- Create notes with HTML contentread_note- Read notes by ID with verificationupdate_note- Update notes by ID with HTML contentdelete_note- Delete notes by ID with verificationmove_note- Move notes between folderslist_all_notes- List all notes across all folders
Folder Management (5 tools)
create_folder- Create folders with path supportread_folder- Read folder details by IDrename_folder- Rename folders by IDdelete_folder- Delete folders by IDmove_folder- Move folders between locations
Search & Structure (3 tools)
search_notes- Search notes by keywordslist_folder_with_structure- Show folder hierarchylist_notes_with_structure- Show folders + notes hierarchy
Content Support
HTML Formatting: <h1-h6>, <b><i><u>, <p><div><br>, <ul><ol><li>, <table>, <a>
Special Features:
- Unicode and emoji support (🚀, ✅, 📝)
- Nested folder paths (up to 5 levels)
- Automatic character escaping
- Rich content with headers, lists, tables
Architecture
The server follows the MCP protocol specification and is built with a modular architecture:
- AppleScript Layer - Handles direct interaction with Apple Notes
- Tools Layer - Wraps AppleScript operations for MCP tools
- FastMCP Server Layer - Implements MCP protocol using decorators
Troubleshooting
Common Issues
-
"No module named 'mcp'" Error
- Use
uvxfor automatic installation - Ensure
uvis installed and in PATH
- Use
-
AppleScript Permission Denied
- Grant permission to your terminal/MCP client in System Preferences → Security & Privacy → Privacy → Accessibility
-
Notes Not Found
- Ensure Apple Notes app is installed and accessible
- Check that notes exist in the default location
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
Henil C Alagiya
- GitHub: @henilcalagiya
- LinkedIn: Henil C Alagiya
Support & Contributions:
- 🐛 Report Issues: GitHub Issues
- 💬 Questions: Reach out on LinkedIn
- 🤝 Contributions: Pull requests welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_apple_notes-0.1.2.tar.gz.
File metadata
- Download URL: mcp_apple_notes-0.1.2.tar.gz
- Upload date:
- Size: 100.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8488dc449e225d8d51ffa28549283ea03e8d4464429d4b8d9b465e5742012207
|
|
| MD5 |
1fac9becffd1364219eb5ba7c2367f8b
|
|
| BLAKE2b-256 |
3b426f15aeeea2e63c6d5b783e1e91c854681f36d87cd9f0c92760a15e9acbf2
|
File details
Details for the file mcp_apple_notes-0.1.2-py3-none-any.whl.
File metadata
- Download URL: mcp_apple_notes-0.1.2-py3-none-any.whl
- Upload date:
- Size: 49.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08a808361c3fb7302e1aa5bb68bf138247f6a561e4ef12e2353798ba1bfe2c1e
|
|
| MD5 |
43fac5a8ecc66413628f69cbd0140143
|
|
| BLAKE2b-256 |
36caca12de5ffa905403957f79674062fefb4f064fb7cfbaae951428e3de2a2a
|