mcp-apple-notes


Namemcp-apple-notes JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryMCP server for Apple Notes integration using AppleScript
upload_time2025-08-15 17:14:56
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords ai apple-notes applescript automation llm mcp
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Apple Notes MCP Server

> Powerful tools for automating Apple Notes using Model Context Protocol (MCP)

[![PyPI version](https://badge.fury.io/py/mcp-apple-notes.svg)](https://pypi.org/project/mcp-apple-notes/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](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[![PyPI version](https://badge.fury.io/py/mcp-apple-notes.svg)](https://pypi.org/project/mcp-apple-notes/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](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"
}
        
Elapsed time: 1.72453s