Skip to main content
Glama
Siddhant-K-code

Apple Notes MCP Server

[!Caution] Not actively maintained. Use at your own risk!

📝 Apple Notes MCP Server

Apple Notes MCP Server is a Model Context Protocol server that enables seamless interaction with Apple Notes through natural language. Create, search, and retrieve notes effortlessly using Claude or other AI assistants! 🎉

🎯 Features

  • Create Notes: Quickly create new notes with titles, content, and tags 📝

  • Search Notes: Find notes using powerful search capabilities 🔍

  • Retrieve Content: Get the full content of any note by its title 📖

  • iCloud Integration: Works directly with your iCloud Notes account ☁️

Related MCP server: Apple Notes MCP Server

🚀 Getting Started

Prerequisites

  1. macOS with Apple Notes app configured

  2. Node.js (version 20.0.0 or higher)

  3. Yarn package manager

Installation

  1. Clone the repository:

    git clone https://github.com/Siddhant-K-code/mcp-apple-notes.git
    cd mcp-apple-notes
  2. Install dependencies:

    yarn install
  3. Build the project:

    yarn build
  4. Start the server:

    yarn start
  5. Configure Claude Desktop. Update your claude_desktop_config.json with:

    {
      "mcpServers": {
        "apple-notes": {
          "command": "yarn",
          "args": ["start"],
          "cwd": "/path/to/mcp-apple-notes"
        }
      }
    }

    Note: Replace /path/to/mcp-apple-notes with the actual path to your cloned repository. You may need to authorize the script to access Apple Notes when first running commands.

MCP Server Initialization

When the server starts successfully, you'll see:

Starting Apple Notes MCP server.

The server is now ready to handle your note operations! 🎉

🛠️ Usage

Available Tools

  1. Create Note

    • Description: Creates a new note in Apple Notes

    • Parameters:

      {
        title: string;      // The title of the note
        content: string;    // The content of the note
        tags?: string[];    // Optional tags for the note
      }
    • Example Response:

      Note created: My New Note
  2. Search Notes

    • Description: Search for notes by title

    • Parameters:

      {
        query: string; // The search query
      }
    • Example Response:

      Meeting Notes
      Shopping List
      Ideas for Project
  3. Get Note Content

    • Description: Retrieve the full content of a specific note

    • Parameters:

      {
        title: string; // The exact title of the note
      }
    • Example Response:

      [Full content of the note]

📚 Example Use Cases

1. Quick Note Taking

Create notes during meetings or brainstorming sessions:

{
"title": "Team Meeting Notes",
"content": "Discussion points:\n1. Project timeline\n2. Resource allocation",
"tags": ["meetings", "work"]
}

2. Information Retrieval

Search for specific notes when you need them:

{
"query": "meeting"
}

3. Content Review

Get the full content of a specific note:

{
"title": "Team Meeting Notes"
}

⚡ Tips for Best Results

  • Ensure your Apple Notes app is properly configured with iCloud

  • Use descriptive titles for better searchability

  • Include relevant tags when creating notes for better organization

🔧 Development

The project uses TypeScript and follows modern ES modules patterns. Key files:

  • src/index.ts: Main server implementation

  • src/services/appleNotesManager.ts: Core note management functionality

  • src/utils/applescript.ts: AppleScript integration utilities

Development Container

A development container configuration is provided for VS Code users, offering:

  • TypeScript Node.js environment

  • Prettier for code formatting

  • Automatic dependency installation

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ for Apple Notes users

Available Tools

3 tools
create-noteD
ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
contentYes
tagsNo

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get-note-contentD
ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

search-notesD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

TDQS

D1.8/5.0
Disambiguation5/5

The three tools have clearly distinct purposes: create-note for creating new notes, get-note-content for retrieving content of specific notes, and search-notes for finding notes based on criteria. There is no overlap in functionality, making tool selection straightforward for an agent.

Naming Consistency5/5

All tool names follow a consistent verb-noun pattern using kebab-case (e.g., create-note, get-note-content, search-notes). This uniformity makes the tool set predictable and easy to understand, with no deviations in naming conventions.

Tool Count2/5

With only 3 tools, the server feels thin for a notes management domain. Key operations like updating, deleting, or listing notes are missing, which limits the agent's ability to perform full CRUD workflows. The count is too low for the apparent scope of managing Apple Notes.

Completeness2/5

The tool set is severely incomplete for notes management. It lacks update and delete operations, as well as basic listing tools to view all notes. This creates significant gaps that will cause agent failures when trying to modify or manage notes beyond creation and retrieval.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

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/Siddhant-K-code/mcp-apple-notes'

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