# Apple Notes MCP Server
> Powerful tools for automating Apple Notes using Model Context Protocol (MCP)
[](https://pypi.org/project/mcp-apple-notes/)
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
## 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 `uvx` or 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:**
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
**Windows (PowerShell):**
```powershell
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```
**Alternative (pip):**
```bash
pip install uv
```
### Step 2: Add MCP Configuration
Add this configuration to your MCP client:
**For Perplexity, Cursor, Continue.dev, Claude Desktop:**
```json
{
"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 content
- `read_note` - Read notes by ID with verification
- `update_note` - Update notes by ID with HTML content
- `delete_note` - Delete notes by ID with verification
- `move_note` - Move notes between folders
- `list_all_notes` - List all notes across all folders
### **Folder Management (6 tools)**
- `create_folder` - Create folders with path support
- `read_folder` - Read folder details by ID
- `rename_folder` - Rename folders by ID
- `delete_folder` - Delete folders by ID
- `move_folder` - Move folders between locations
### **Search & Structure (2 tools)**
- `search_notes` - Search notes by keywords
- `list_folder_with_structure` - Show folder hierarchy
- `list_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
1. **"No module named 'mcp'" Error**
- Use `uvx` for automatic installation
- Ensure `uv` is installed and in PATH
2. **AppleScript Permission Denied**
- Grant permission to your terminal/MCP client in System Preferences → Security & Privacy → Privacy → Accessibility
3. **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](LICENSE) file for details.
## Author
**Henil C Alagiya**
* **GitHub**: [@henilcalagiya](https://github.com/henilcalagiya)
* **LinkedIn**: [Henil C Alagiya](https://linkedin.com/in/henilcalagiya)
**Support & Contributions:**
* 🐛 **Report Issues**: [GitHub Issues](https://github.com/henilcalagiya/mcp-apple-notes/issues)
* 💬 **Questions**: Reach out on [LinkedIn](https://linkedin.com/in/henilcalagiya)
* 🤝 **Contributions**: Pull requests welcome!
Raw data
{
"_id": null,
"home_page": null,
"name": "mcp-apple-notes",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Henil C Alagiya <henilcalagiya@gmail.com>",
"keywords": "ai, apple-notes, applescript, automation, llm, mcp",
"author": null,
"author_email": "Henil C Alagiya <henilcalagiya@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/1d/0e/b6d5a6c3b584b2b45499d2e8308f6771928a89aab95297d4f3e217a3912a/mcp_apple_notes-0.1.0.tar.gz",
"platform": null,
"description": "# Apple Notes MCP Server\n\n> Powerful tools for automating Apple Notes using Model Context Protocol (MCP)\n\n[](https://pypi.org/project/mcp-apple-notes/)\n[](https://opensource.org/licenses/MIT)\n[](https://www.python.org/downloads/)\n\n## Overview\n\nApple Notes MCP Server provides seamless integration of Apple Notes with any MCP-compatible client. It enables full note automation \u2014 including creating, reading, updating, and deleting notes \u2014 through a simple and secure AppleScript API layer.\n\n## Features\n\n* **Full CRUD support** for Apple Notes (Create, Read, Update, Delete)\n* **Works with Continue.dev, Claude Desktop, Perplexity, and other MCP clients**\n* **Native AppleScript integration** for reliable macOS automation\n* **Comprehensive tools** for Apple Notes automation\n* **Automatic installation** via `uvx` or manual setup\n* **FastMCP implementation** with modern decorator-based API\n\n## Requirements\n\n* **macOS** - Required for AppleScript support\n* **Python 3.10+** - Required for MCP SDK compatibility\n* **Apple Notes application** - Must be installed and accessible\n* **MCP-compatible client** (e.g., Continue.dev, Claude Desktop)\n\n## Quick Start\n\n### Step 1: Install uv (if not already installed)\n\n**macOS/Linux:**\n```bash\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n```\n\n**Windows (PowerShell):**\n```powershell\npowershell -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n```\n\n**Alternative (pip):**\n```bash\npip install uv\n```\n\n### Step 2: Add MCP Configuration\n\nAdd this configuration to your MCP client:\n\n**For Perplexity, Cursor, Continue.dev, Claude Desktop:**\n```json\n{\n \"mcpServers\": {\n \"apple-notes\": {\n \"command\": \"uvx\",\n \"args\": [\"mcp-apple-notes@latest\"]\n }\n }\n}\n```\n\n**\ud83c\udf89 That's it!** Your MCP client will automatically install and run the package when needed.\n\n> **Note:** Ensure your MCP client has permission to access Apple Notes and execute AppleScript commands in System Preferences \u2192 Security & Privacy \u2192 Privacy \u2192 Accessibility.\n\n## Available Tools\n\n### **Note Management (6 tools)**\n- `create_note` - Create notes with HTML content\n- `read_note` - Read notes by ID with verification\n- `update_note` - Update notes by ID with HTML content\n- `delete_note` - Delete notes by ID with verification\n- `move_note` - Move notes between folders\n- `list_all_notes` - List all notes across all folders\n\n### **Folder Management (6 tools)**\n- `create_folder` - Create folders with path support\n- `read_folder` - Read folder details by ID\n- `rename_folder` - Rename folders by ID\n- `delete_folder` - Delete folders by ID\n- `move_folder` - Move folders between locations\n\n### **Search & Structure (2 tools)**\n- `search_notes` - Search notes by keywords\n- `list_folder_with_structure` - Show folder hierarchy\n- `list_notes_with_structure` - Show folders + notes hierarchy\n\n\n\n## Content Support\n\n**HTML Formatting**: `<h1-h6>`, `<b><i><u>`, `<p><div><br>`, `<ul><ol><li>`, `<table>`, `<a>`\n\n**Special Features**:\n- Unicode and emoji support (\ud83d\ude80, \u2705, \ud83d\udcdd)\n- Nested folder paths (up to 5 levels)\n- Automatic character escaping\n- Rich content with headers, lists, tables\n\n## Architecture\n\nThe server follows the MCP protocol specification and is built with a modular architecture:\n\n- **AppleScript Layer** - Handles direct interaction with Apple Notes\n- **Tools Layer** - Wraps AppleScript operations for MCP tools\n- **FastMCP Server Layer** - Implements MCP protocol using decorators\n\n## Troubleshooting\n\n### Common Issues\n\n1. **\"No module named 'mcp'\" Error**\n - Use `uvx` for automatic installation\n - Ensure `uv` is installed and in PATH\n\n2. **AppleScript Permission Denied**\n - Grant permission to your terminal/MCP client in System Preferences \u2192 Security & Privacy \u2192 Privacy \u2192 Accessibility\n\n3. **Notes Not Found**\n - Ensure Apple Notes app is installed and accessible\n - Check that notes exist in the default location\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Author\n\n**Henil C Alagiya**\n\n* **GitHub**: [@henilcalagiya](https://github.com/henilcalagiya)\n* **LinkedIn**: [Henil C Alagiya](https://linkedin.com/in/henilcalagiya)\n\n**Support & Contributions:**\n\n* \ud83d\udc1b **Report Issues**: [GitHub Issues](https://github.com/henilcalagiya/mcp-apple-notes/issues)\n* \ud83d\udcac **Questions**: Reach out on [LinkedIn](https://linkedin.com/in/henilcalagiya)\n* \ud83e\udd1d **Contributions**: Pull requests welcome!\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MCP server for Apple Notes integration using AppleScript",
"version": "0.1.0",
"project_urls": {
"Changelog": "https://github.com/henilcalagiya/mcp-apple-notes/releases",
"Documentation": "https://github.com/henilcalagiya/mcp-apple-notes#readme",
"Homepage": "https://github.com/henilcalagiya/mcp-apple-notes",
"Issues": "https://github.com/henilcalagiya/mcp-apple-notes/issues",
"Repository": "https://github.com/henilcalagiya/mcp-apple-notes"
},
"split_keywords": [
"ai",
" apple-notes",
" applescript",
" automation",
" llm",
" mcp"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "790a6c3db3206e790beb1fd494dca450bcdca5f49e93dd71f52f37a5951b0f44",
"md5": "d4d0ca213104a50f84ef1eb064fb1372",
"sha256": "cc7a095c786c9a65ff2cd3fb2645299a9506faa0c3f5efabbab9c9ee16280a23"
},
"downloads": -1,
"filename": "mcp_apple_notes-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d4d0ca213104a50f84ef1eb064fb1372",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 48981,
"upload_time": "2025-08-15T17:14:55",
"upload_time_iso_8601": "2025-08-15T17:14:55.838091Z",
"url": "https://files.pythonhosted.org/packages/79/0a/6c3db3206e790beb1fd494dca450bcdca5f49e93dd71f52f37a5951b0f44/mcp_apple_notes-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1d0eb6d5a6c3b584b2b45499d2e8308f6771928a89aab95297d4f3e217a3912a",
"md5": "c7b7fab93e5aa45a69868d447e4d7a37",
"sha256": "d935c3f58ade4adf360f0ce5dd8fc662f5b15a320df3ffcf606c98460c404479"
},
"downloads": -1,
"filename": "mcp_apple_notes-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "c7b7fab93e5aa45a69868d447e4d7a37",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 100072,
"upload_time": "2025-08-15T17:14:56",
"upload_time_iso_8601": "2025-08-15T17:14:56.899318Z",
"url": "https://files.pythonhosted.org/packages/1d/0e/b6d5a6c3b584b2b45499d2e8308f6771928a89aab95297d4f3e217a3912a/mcp_apple_notes-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-15 17:14:56",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "henilcalagiya",
"github_project": "mcp-apple-notes",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mcp-apple-notes"
}