Skip to main content
Glama
henilcalagiya

io.github.henilcalagiya/mcp-apple-notes

Apple Notes MCP Server

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

mcp-name: io.github.henilcalagiya/mcp-apple-notes

PyPI version License: MIT Python 3.10+

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.

Related MCP server: MCP Apple Notes

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:

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 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 (5 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 (3 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 file for details.

Author

Henil C Alagiya

Support & Contributions:

  • 🐛 Report Issues: GitHub Issues

  • 💬 Questions: Reach out on LinkedIn

  • 🤝 Contributions: Pull requests welcome!

Available Tools

14 tools
create_folderA

Create a folder in Apple Notes.

Features:

  • Creates folders at root level or nested paths (up to 5 levels deep)

  • Unicode and emoji support for international characters

  • Duplicate name detection and comprehensive validation

  • iCloud account support

  • Only creates folder if parent path exists

Validation:

  • Max 128 characters, no special chars: < > : " | ? *

  • Parent paths must exist, prevents duplicates

  • Will throw error if parent path doesn't exist

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_nameYesName of the folder to create (1-128 chars, no < > : " | ? *)
folder_pathNoOptional nested path (e.g., 'Work/Projects'). If empty, creates at root level. Max 5 levels deep.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral traits. It covers duplication detection, validation rules (128 chars, no special chars), nesting depth limit, and error handling when parent path doesn't exist, leaving no ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, well-structured with bullet points, and front-loaded with the core purpose. Each sentence adds necessary information without redundancy, making it efficient for agent parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two parameters, no annotations, and an output schema (which presumably describes return structure), the description fully covers creation behavior, constraints, validation, and error scenarios, leaving no gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds value by explaining the nesting behavior (e.g., 'Optional nested path... Max 5 levels deep') and repeating key validation, which aids understanding beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a folder in Apple Notes' and lists features that differentiate it from sibling tools like move_folder, rename_folder, etc. It specifies root-level and nested path creation, which is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use the tool (create folders at root or nested) and includes validation rules and error conditions. While it doesn't explicitly state when not to use or cite alternatives, the context is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_noteA

Create a new note with specified name and content.

Supported HTML: , , , , , Best Practices: Use semantic HTML, add tags for spacing, avoid CSS styles Folders: Root level or nested paths (up to 5 levels deep) Limitations: No special chars in name, no complex CSS/JS

Example: name: "Project Report" body: "Status: In ProgressTask 1"

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNote title wrapped in <h1> tags (e.g., '<h1>My Note Title</h1>')
bodyYesNote body content with appropriate HTML formatting (e.g., '<p>Content here</p>'). For proper spacing between two sections, use <br>.
folder_pathNoTarget folder path (e.g., 'Work' or 'Work/Projects/2024'). Defaults to 'Notes'Notes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It discloses supported HTML tags, folder depth limits, and name character restrictions, but does not mention idempotency, overwrite behavior, or error handling. The output schema exists, so return values are not required in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with headings and contains useful examples, but it is somewhat lengthy. While every part adds value, it could be more concise without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, output schema present), the description covers creation details, HTML formatting, folder paths, and limitations. It lacks clarity on duplicate behavior and permissions, but overall is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing clear parameter meanings. The description adds value by elaborating on HTML support, example usage, folder path default and nesting limits, which goes beyond the schema's baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Create a new note with specified name and content,' clearly distinguishing it from sibling tools like update_note (update) and create_folder (create a folder, not a note). It also provides specifics about HTML support and folder structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers best practices (e.g., using semantic HTML, adding <br> for spacing, avoiding CSS) and explains folder path limitations. While it doesn't explicitly list when not to use, the context from sibling tools and the clear purpose make usage guidelines adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_folderA

Delete a folder in Apple Notes by ID with AppleScript verification.

Security Features:

  • Verifies folder exists with the given ID

  • Confirms folder name matches before deletion

  • Uses primary key ID for precise identification

  • AppleScript handles ID and name verification automatically

  • Provides detailed error messages for troubleshooting

Output:

  • Folder name, ID, deletion status and method information

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesPrimary key ID of the folder to delete (e.g., 'p2330')
folder_nameYesName of the folder to verify and delete

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses several behavioral traits: verification of folder existence and name matching, use of AppleScript, and detailed error messages. However, it does not specify whether deletion is permanent or moves to trash, what happens if the folder is not empty, or potential platform dependencies (AppleScript). With no annotations, this leaves gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise but includes redundant bullet points (e.g., AppleScript verification mentioned twice). It could be more streamlined while retaining key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description states the output includes folder name, ID, deletion status, and method info, which is adequate for a simple mutation tool. However, missing details about edge cases (e.g., non-existent folder, non-empty folder) and platform constraints limit completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning beyond the input schema by explaining that folder_name is used for verification and folder_id for precise identification. This contextualizes both parameters beyond the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool deletes a folder in Apple Notes by ID, using AppleScript verification. It specifies the verb 'delete' and the resource 'folder in Apple Notes', and distinguishes from siblings like rename_folder or move_folder.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for deleting a folder but does not provide explicit guidance on when to use this tool versus alternatives (e.g., delete_note). It lacks context on prerequisites or situations where deletion might be inappropriate, such as non-empty folders.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_noteA

Delete a note by its primary key ID with AppleScript verification.

Security Features:

  • Verifies note exists with the given ID

  • Confirms note name matches before deletion

  • Uses primary key ID for precise identification

  • AppleScript handles ID and name verification automatically

  • Provides detailed error messages for troubleshooting

Output:

  • Note name, ID, deletion status and method information

ParametersJSON Schema
NameRequiredDescriptionDefault
note_idYesPrimary key ID of the note to delete (e.g., 'p1308')
note_nameYesName of the note to verify and delete

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses security features like existence and name verification, AppleScript handling, and error messages. This adds transparency beyond the basic 'delete' operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately concise with structured sections for security features and output. It front-loads the primary action. Some redundancy exists in listing security features twice, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (delete with verification) and the presence of an output schema (not shown but indicated), the description covers the main behavior, parameters, safety checks, and output details. Minor gaps like edge cases or prerequisites are absent but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions like 'Primary key ID of the note to delete (e.g., 'p1308')' and 'Name of the note to verify and delete'. The description adds context about verification but does not significantly extend parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Delete a note by its primary key ID' and specifies the resource (note) and method (AppleScript verification). It distinguishes from siblings like 'delete_folder' and 'update_note' by focusing on deletion with verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (when you need to delete a note) but does not explicitly state when not to use or provide alternatives from the sibling list. No guidance on prerequisites or context like ownership or permissions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_all_notesA

List all notes across all folders with their names and IDs.

Features:

  • Lists ALL notes from ALL folders in Apple Notes

  • Shows note names, IDs, and folder locations

  • Includes notes from Recently Deleted folder

  • Provides comprehensive system overview

Output Format:

  • Numbered list of all notes

  • Note names with emoji indicators

  • Note IDs for reference

  • Folder location for each note

Returns: Complete list of all notes across all folders in Apple Notes

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses inclusion of 'Recently Deleted folder' but does not mention whether the operation is read-only, requires authentication, or has performance implications. Basic behavioral details are present but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with separate sections for features, output format, and returns. It is concise but has minor redundancy (e.g., 'List all notes across all folders' appears twice).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, output schema exists), the description is complete. It explains behavior, scope, and return format, covering all necessary context for a listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters with 100% schema coverage (vacuously). Baseline for no parameters is 4, and the description adds no parameter information because none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all notes across all folders with their names and IDs', using a specific verb ('list') and resource ('notes across all folders'). It distinguishes from sibling tools like 'list_notes_with_structure' and 'search_notes' by emphasizing comprehensive scope including 'Recently Deleted folder'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for a 'comprehensive system overview' but does not explicitly state when to use this tool versus alternatives. No exclusions or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_folder_with_structureA

List the complete folder structure with hierarchical tree format.

Features:

  • Shows all folders in hierarchical tree format

  • Displays folder nesting levels with visual indicators

  • Works with root level and nested folder structures

Output Format:

  • Tree structure with ├── and └── indicators

  • Clear hierarchy visualization

  • Folder names with proper indentation

Returns: Hierarchical tree structure of all folders in Apple Notes

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavior. It describes output format (tree with ├── and └──), nesting levels, and that it works with root and nested structures. This adds meaningful behavioral context beyond a simple 'list folders'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections for features, output format, and returns. It is somewhat verbose (repeats 'tree structure'), but the organization aids readability. Could be trimmed slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description explains the output format in detail. It covers what the tool does and key features. For a read-only listing tool, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and schema coverage is 100%. The baseline for 0 parameters is 4. The description adds value by explaining the tool's behavior, which is not parameter-dependent.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists the complete folder structure in a hierarchical tree format. The name itself is descriptive, and the description emphasizes the tree visualisation, distinguishing it from sibling tools like 'read_folder' which likely shows a single folder.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description describes features but does not explicitly state when to use this tool over alternatives. It implies usage for viewing hierarchy, but lacks explicit guidance on when not to use it (e.g., for individual folder details).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notes_with_structureA

List the complete folder structure with notes included in hierarchical tree format.

Features:

  • Shows all folders and notes in hierarchical tree format

  • Displays folder nesting levels with visual indicators

  • Lists notes within each folder

  • Works with root level and nested folder structures

Output Format:

  • Tree structure with ├── and └── indicators

  • Folder names with proper indentation

  • Notes listed under their respective folders

Returns: Hierarchical tree structure of all folders and notes in Apple Notes

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. It explains the output format and that it lists all folders and notes, but does not mention if it's read-only, performance implications, or any limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a clear purpose, bullet features, output format, and return statement. Every sentence is useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and an output schema available, the description is fairly complete. It covers purpose and output format, but could mention read-only nature or any constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the baseline is 4. The description does not need to explain parameters, and it adds value by describing the output format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists the complete folder structure with notes in a hierarchical tree format, distinguishing it from siblings like list_all_notes (flat list) and list_folder_with_structure (single folder).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description outlines features but does not explicitly state when to use this tool versus alternatives like list_all_notes or list_folder_with_structure. Usage context is implied but not directly given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

move_folderA

Move a folder from one location to another in Apple Notes by ID with AppleScript verification.

Features:

  • Moves folders by ID with AppleScript verification

  • Comprehensive validation and duplicate detection

  • Unicode and emoji support for folder names

  • Works with root level and nested paths

Validation:

  • Validates target path exists

  • Prevents duplicate names in target location

  • Enforces 5-level nesting depth limit

  • AppleScript verifies ID and name match the same folder

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesPrimary key ID of the folder to move (e.g., 'p2330')
folder_nameYesName of the folder to verify and move
target_pathNoTarget path where to move the folder (e.g., 'Archive'). If empty, moves to root level.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description fully discloses behavioral traits including AppleScript verification, validation, duplicate detection, Unicode support, and nesting depth limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured with headings and bullet points, front-loaded main action. Slight redundancy between features and validation lists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, features, validation rules, and compatibility details. Output schema handles return values, so no gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds verification context but does not significantly enhance parameter understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool moves a folder by ID with AppleScript verification, distinguishing it from sibling tools like rename_folder or move_note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for moving folders with specific features, but lacks explicit when-not-to-use or alternative comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

move_noteA

Move a note from one folder to another in Apple Notes by ID with AppleScript verification.

Features:

  • Moves notes between root folders and nested paths (up to 5 levels deep)

  • Comprehensive validation and error handling

  • Supports all folder path types (root, simple, nested)

  • Maintains note content and metadata during move

  • AppleScript verifies ID and name match before moving

Requirements:

  • Note must exist with the given ID and name

  • Target folder path must exist

  • AppleScript handles all verification automatically

ParametersJSON Schema
NameRequiredDescriptionDefault
note_idYesPrimary key ID of the note to move (e.g., 'p1308')
note_nameYesName of the note to verify and move
target_folder_pathYesTarget folder path where to move the note (e.g., 'Archive' or 'Work/Completed')

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses AppleScript verification, validation, and maintenance of note content/metadata. It also mentions support for nested paths and error handling. However, it does not explicitly confirm if the operation is a move vs. copy+delete, though 'maintains content and metadata' implies non-destructive behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with bullet points and a clear first sentence, but it is longer than necessary (10 lines). Some information, like 'AppleScript verifies ID and name match before moving,' is repeated in both features and requirements. It could be more concise while retaining key points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description adequately covers the tool's purpose, requirements, and verification process. It lists essential requirements (note existence, target folder existence). It does not cover failure scenarios or edge cases, but overall it provides sufficient context for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all parameters with descriptions, achieving 100% coverage. The description adds value by explaining that note_id and note_name are used for verification, and target_folder_path supports nested folders up to 5 levels deep. This goes beyond the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Move a note from one folder to another in Apple Notes by ID with AppleScript verification.' It specifies the verb (move), resource (note), and key method (by ID). This directly distinguishes it from sibling tools like move_folder, which operates on a different resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool over alternatives. It implies usage for moving notes with verification but lacks exclusions or references to siblings. The context signals and sibling list suggest differentiation by resource, but no direct guidance is provided in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_folderA

Read a folder by its primary key ID with AppleScript verification.

Security Features:

  • Verifies folder exists with the given ID and name

  • Uses primary key ID for precise identification

  • Returns detailed folder information with contents

Output:

  • Folder metadata (name, ID, creation/modification dates)

  • Direct child folders (names and IDs)

  • Notes in the folder (names and IDs)

  • Summary counts

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesPrimary key ID of the folder to read (e.g., 'p2330')
folder_nameYesName of the folder to verify and read

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes verification process and output structure in detail, but lacks explicit statement that it is read-only (no side effects). Given no annotations, this is strong but not perfect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured into sections, every sentence adds value, no unnecessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, security, output structure; could mention relation to siblings like list_folder_with_structure, but adequate for a simple read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3; description adds purpose for both parameters (verification, precise ID) and why both are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb (read) and resource (folder), specifies use of primary key ID and verification, distinct from siblings like list_folder_with_structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for reading a specific folder with verification, but no explicit when-to-use vs alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_noteA

Read a note by its primary key ID with AppleScript verification.

Security Features:

  • Verifies note exists with the given ID and name

  • Uses primary key ID for precise identification

  • Returns full note content with metadata

Output:

  • Note name, ID, folder, creation/modification dates

  • Full note content (title + body)

  • Status and read method information

ParametersJSON Schema
NameRequiredDescriptionDefault
note_idYesPrimary key ID of the note to read (e.g., 'p1308')
note_nameYesName of the note to verify and read

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It discloses verification via AppleScript and outlines the return fields, adding value beyond the schema. However, it does not specify error behavior, permissions, or side effects from the verification step, leaving gaps in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with headings and a concise bullet list, making it easy to scan. It avoids unnecessary fluff, though the bullet list could be integrated into prose for even more brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (2 required params, no enums), the description covers the core functionality and output fields. It lists relevant metadata and content. However, it does not elaborate on the 'AppleScript verification' process, which could affect understanding of reliability or platform constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the input schema already documents both parameters. The description reinforces the verification role of 'note_name' and the primary key usage of 'note_id', but adds minimal additional semantic value beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'Read' and resource 'note', with distinguishing details like 'primary key ID' and 'AppleScript verification'. It differentiates from sibling tools such as 'read_folder' or 'search_notes' by emphasizing ID-based access and verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lacks guidance on when to use this tool versus alternatives like 'search_notes' or 'list_all_notes'. It does not mention when not to use it or provide context on prerequisites, such as needing to know the note ID beforehand.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rename_folderA

Rename a folder in Apple Notes by ID with enhanced name verification.

Features:

  • Renames folders by ID with double name verification

  • Comprehensive validation and duplicate detection

  • Unicode and emoji support for folder names

  • Works with root level and nested paths

Validation:

  • Max 128 characters, no special chars: < > : " | ? *

  • Prevents duplicate names in same location

  • New name cannot be same as current name

  • Verifies folder ID matches current name (double verification)

  • Gets actual folder name by ID for additional security

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYesPrimary key ID of the folder to rename (e.g., 'p2330')
current_nameYesCurrent name of the folder to verify and rename
new_nameYesNew name for the folder (1-128 chars, no < > : " | ? *)

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosing behavioral traits. It covers validation rules, double verification, and Unicode support but omits mutation effects, success/failure responses, or security implications. The disclosure is partial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections and bullet points, front-loading the main purpose. Each sentence adds value, though there is minor redundancy (e.g., 'double name verification' appears twice). Overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three required parameters and an output schema, the description covers validation rules, verification steps, and constraints. It explains how rename differs from siblings, but could mention output or error handling for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage, so the baseline is 3. The description adds context (e.g., double verification) but mostly repeats schema details like character constraints for new_name. It provides marginal extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Rename a folder in Apple Notes by ID with enhanced name verification,' specifying the verb 'rename' and the resource 'folder' with a distinct scope. It distinguishes from sibling tools like move_folder and delete_folder by focusing on renaming with verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through validation rules and features but does not explicitly state when to use this tool versus alternatives like create_folder or move_folder. It lacks guidance on preconditions or exclusions, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_notesA

Search for notes containing the specified keywords.

Features:

  • Searches through all notes in Apple Notes

  • Finds notes containing any of the specified keywords

  • Case-insensitive search in note content

  • Returns note details with matched keywords

Output Format:

  • Numbered list of matching notes

  • Note names, IDs, and folder locations

  • Matched keywords for each note

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsYesComma-separated keywords to search for in note content

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses case-insensitive search, searches all notes, returns names, IDs, folders, and matched keywords. No annotations provided, so description carries burden; it is fairly transparent but could mention performance or scope limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise with clear bullet points and sections for features and output format. No unnecessary words, well front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, features, output format sufficiently for a simple search tool. Does not mention result limits or whether trashed notes are excluded, but given output schema exists for return values, completeness is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters. Description adds that keywords are comma-separated and explains how they are used to search content, enhancing understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it searches for notes by keywords, with specific verb 'search' and resource 'notes'. Distinguishes from sibling CRUD and listing tools by focusing on content search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes when to use (searching notes by keywords) and features like case-insensitivity. Does not explicitly state when not to use or compare with alternatives like list_all_notes, but implied usage is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_noteA

Update an existing note by its primary key ID with AppleScript verification.

Required: note_id, note_name, new_name, and new_body parameters Supported HTML: , , , , , Best Practices: Use semantic HTML, add tags for spacing, avoid CSS styles Security: AppleScript verifies ID and name match before updating

Example: note_id: "p1234" note_name: "Current Note Title" new_name: "Updated Report" new_body: "Status: CompleteDone"

ParametersJSON Schema
NameRequiredDescriptionDefault
note_idYesPrimary key ID of the note to update (e.g., 'p1234')
note_nameYesCurrent name of the note to verify and update
new_nameYesNew note title wrapped in <h1> tags (e.g., '<h1>Updated Title</h1>')
new_bodyYesNew note body content with appropriate HTML formatting (e.g., '<p>Updated content</p>') For proper spacing between two sections, use <br>.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description adds behavioral context: AppleScript verifies ID and name match before updating. However, it lacks details on error handling, idempotency, or side effects, which are important for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a clear first sentence, then grouped information on requirements, HTML support, best practices, security, and an example. While slightly verbose, it front-loads key info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema, the description covers the tool's purpose, input constraints, HTML formatting, and security verification. For a tool with 4 parameters and specific formatting needs, this is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds value beyond the schema by specifying requirements (required), providing an example with concrete values, and explaining HTML formatting rules. This helps the agent understand correct parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update an existing note by its primary key ID with AppleScript verification', specifying the verb (update), resource (note), and distinctive verification step. It distinguishes from sibling tools like create_note and delete_note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists required parameters and provides an example, making the usage context clear. It implicitly differentiates from siblings by focusing on updating, but does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 14 tool updatesv0.1.2
    • First observedcreate_folder
    • First observedcreate_note
    • First observeddelete_folder
    • First observeddelete_note
    • First observedlist_all_notes
    • First observedlist_folder_with_structure
    • First observedlist_notes_with_structure
    • First observedmove_folder
    • First observedmove_note
    • First observedread_folder
    • First observedread_note
    • First observedrename_folder
    • First observedsearch_notes
    • First observedupdate_note

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct resource (folder or note) with a specific action (create, read, update, delete, list, move, search, rename). The few overlapping listing tools have clearly different output formats (plain list vs. hierarchical structure).

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, such as create_folder, list_notes_with_structure, move_note. There are no variations or mixed conventions.

Tool Count5/5

14 tools is well-scoped for an Apple Notes management server. It covers all core operations (CRUD, listing, searching, moving, renaming) for both folders and notes without unnecessary bloat or omissions.

Completeness5/5

The tool surface provides complete lifecycle management for folders and notes: create, read, update, delete, list, search, move, rename. No obvious missing operations for the domain of note-taking.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/henilcalagiya/mcp-apple-notes'

If you have feedback or need assistance with the MCP directory API, please join our Discord server