Apple Notes
rafalwilinski/mcp-apple-notes ยท 390 stars ยท TypeScript
MCP server Talk with your notes in Claude. RAG over your Apple Notes using Model Context Protocol.
Install
The repo has no one-line install. Follow its README.
Files
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.
Features
- ๐ Semantic search over Apple Notes using
all-MiniLM-L6-v2on-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
- Clone the repository:
git clone https://github.com/RafalWilinski/mcp-apple-notes
cd mcp-apple-notes
- Install dependencies:
bun install
Usage
- Open Claude desktop app and go to Settings -> Developer -> Edit Config
- Open the
claude_desktop_config.jsonand 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.
- Restart Claude desktop app. You should see this:
- 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.
- [x] Storing notes in Notes via Claude
Facts
- Kind
- MCP server
- Repo
- rafalwilinski/mcp-apple-notes
- Group
- Uncategorized
- Stars
- 390
- Language
- TypeScript
- Last push
- 2024-12-17
- Forks
- 56
- Homepage
- rwilinski.ai
- Topics
- ai, claude, llm, mcp, model-context, rag
- 1Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 2Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k
- 3Gitmodelcontextprotocol/serversA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.85.8k
- 4Memorymodelcontextprotocol/serversA basic implementation of persistent memory using a local knowledge graph. This lets Claude remember information about the user across chats.85.8k
- 5Sequential Thinkingmodelcontextprotocol/serversAn MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.85.8k
- 6Timemodelcontextprotocol/serversA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.85.8k