Apple Notes MCP Server
The Apple Notes MCP Server allows seamless interaction with Apple Notes using natural language.
Create Notes: Add new notes with titles, content, and optional tags
Search Notes: Find notes by title using a search query
Retrieve Content: Access the full content of a specific note by its title
iCloud Integration: Works directly with your iCloud Notes account
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Apple Notes MCP Servercreate a note titled 'Grocery List' with milk, eggs, and bread"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
[!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
macOS with Apple Notes app configured
Node.js (version 20.0.0 or higher)
Yarn package manager
Installation
Clone the repository:
git clone https://github.com/Siddhant-K-code/mcp-apple-notes.git cd mcp-apple-notesInstall dependencies:
yarn installBuild the project:
yarn buildStart the server:
yarn startConfigure Claude Desktop. Update your
claude_desktop_config.jsonwith:{ "mcpServers": { "apple-notes": { "command": "yarn", "args": ["start"], "cwd": "/path/to/mcp-apple-notes" } } }Note: Replace
/path/to/mcp-apple-noteswith 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
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
Search Notes
Description: Search for notes by title
Parameters:
{ query: string; // The search query }Example Response:
Meeting Notes Shopping List Ideas for Project
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 implementationsrc/services/appleNotesManager.ts: Core note management functionalitysrc/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 toolscreate-noteD
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| content | Yes | ||
| tags | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Create, search, and update notes in an xNotepad AI notebook, with semantic search and AI Q&A.
Search, read, create and edit your Memol notes from Claude. Team note-taking with AI search.
AI access to your aNotepad online notes: read, search, write, and organize via 22 tools.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables interaction with Apple Notes on macOS through AppleScript, allowing users to list, search, read, create, update, and delete notes across accounts and folders.71
- AlicenseAqualityDmaintenanceEnables AI assistants to read, create, search, update, and delete Apple Notes through natural language conversation, using JXA to communicate directly with the Notes app.843327MIT
- AlicenseAqualityDmaintenanceEnables AI clients to search, read, create, update, move, and delete Apple Notes on macOS via AppleScript automation.104332MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to read, write, search, and manage Apple Notes on macOS via AppleScript automation.433MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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