mcp-apple-notes

MCP.Pizza Chef: RafalWilinski

mcp-apple-notes is a Model Context Protocol (MCP) server that facilitates semantic search and retrieval-augmented generation (RAG) over Apple Notes. It integrates natively with Apple Notes using JavaScript for Automation (JXA) and leverages on-device embeddings with the all-MiniLM-L6-v2 model for efficient semantic and full-text search. Vector data is stored using LanceDB, enabling AI assistants such as Claude to access and reference your notes during conversations. The server runs fully locally without requiring API keys, ensuring privacy and security. It requires Bun for execution and is designed for seamless integration with MCP-compatible AI assistants.

Use This MCP server To

Enable AI assistants to semantically search Apple Notes Perform retrieval-augmented generation using Apple Notes data Integrate Apple Notes content into AI chat workflows Conduct full-text search over Apple Notes locally Store and query note embeddings with LanceDB Run a local MCP server for Apple Notes without API keys

README

MCP Apple Notes

MCP Apple Notes

A Model Context Protocol (MCP) server that enables semantic search and RAG (Retrieval Augmented Generation) over your Apple Notes. This allows AI assistants like Claude to search and reference your Apple Notes during conversations.

MCP Apple Notes

Features

  • πŸ” Semantic search over Apple Notes using all-MiniLM-L6-v2 on-device embeddings model
  • πŸ“ Full-text search capabilities
  • πŸ“Š Vector storage using LanceDB
  • πŸ€– MCP-compatible server for AI assistant integration
  • 🍎 Native Apple Notes integration via JXA
  • πŸƒβ€β™‚οΈ Fully local execution - no API keys needed

Prerequisites

Installation

  1. Clone the repository:
git clone https://github.com/RafalWilinski/mcp-apple-notes
cd mcp-apple-notes
  1. Install dependencies:
bun install

Usage

  1. Open Claude desktop app and go to Settings -> Developer -> Edit Config

Claude Desktop Settings

  1. Open the claude_desktop_config.json and add the following entry:
{
  "mcpServers": {
    "local-machine": {
      "command": "/Users/<YOUR_USER_NAME>/.bun/bin/bun",
      "args": ["/Users/<YOUR_USER_NAME>/apple-notes-mcp/index.ts"]
    }
  }
}

Important: Replace <YOUR_USER_NAME> with your actual username.

  1. Restart Claude desktop app. You should see this:

Claude MCP Connection Status

  1. Start by indexing your notes. Ask Claude to index your notes by saying something like: "Index my notes" or "Index my Apple Notes".

Troubleshooting

To see logs:

tail -n 50 -f ~/Library/Logs/Claude/mcp-server-local-machine.log
# or
tail -n 50 -f ~/Library/Logs/Claude/mcp.log

Todos

  • Apple notes are returned in the HTML format. We should turn them to Markdown and embed that
  • Chunk source content using recursive text splitter or markdown text splitter
  • Add an option to use custom embeddings model
  • More control over DB - purge, custom queries, etc.
  • Storing notes in Notes via Claude

mcp-apple-notes FAQ

How does mcp-apple-notes integrate with Apple Notes?
It uses JavaScript for Automation (JXA) to natively access and interact with Apple Notes on macOS.
Does mcp-apple-notes require internet or API keys to function?
No, it runs fully locally without needing internet access or API keys, ensuring your data privacy.
What embedding model does mcp-apple-notes use for semantic search?
It uses the all-MiniLM-L6-v2 on-device embeddings model for efficient semantic search.
How is vector data stored in mcp-apple-notes?
Vector embeddings are stored using LanceDB, a high-performance vector database.
What are the prerequisites for running mcp-apple-notes?
You need Bun installed for execution and an MCP-compatible AI assistant like Claude Desktop.
Can mcp-apple-notes be used with AI assistants other than Claude?
Yes, it is MCP-compatible and can integrate with any AI assistant supporting the Model Context Protocol, including Claude, Anthropic's Claude, and Gemini.
Is mcp-apple-notes cross-platform?
It is designed specifically for macOS due to its native Apple Notes integration via JXA.
How do I install mcp-apple-notes?
Clone the GitHub repository, install Bun, and follow the setup instructions to run the server locally.