Apple Notes MCP Server
[!Caution] 不再积极维护。使用风险自负!
📝 Apple Notes MCP 服务器
Apple Notes MCP 服务器 是一个模型上下文协议 (MCP) 服务器,支持通过自然语言与 Apple Notes 进行无缝交互。使用 Claude 或其他 AI 助手轻松创建、搜索和检索笔记!🎉
🎯 功能特性
创建笔记: 快速创建带有标题、内容和标签的新笔记 📝
搜索笔记: 使用强大的搜索功能查找笔记 🔍
检索内容: 通过标题获取任何笔记的完整内容 📖
iCloud 集成: 直接与您的 iCloud 笔记账户配合使用 ☁️
Related MCP server: Apple Notes MCP Server
🚀 入门指南
前置要求
已配置 Apple Notes 应用的 macOS
Node.js (20.0.0 或更高版本)
Yarn 包管理器
安装
克隆仓库:
git clone https://github.com/Siddhant-K-code/mcp-apple-notes.git cd mcp-apple-notes安装依赖:
yarn install构建项目:
yarn build启动服务器:
yarn start配置 Claude Desktop。更新您的
claude_desktop_config.json:{ "mcpServers": { "apple-notes": { "command": "yarn", "args": ["start"], "cwd": "/path/to/mcp-apple-notes" } } }注意: 将
/path/to/mcp-apple-notes替换为您克隆仓库的实际路径。 首次运行命令时,您可能需要授权脚本访问 Apple Notes。
MCP 服务器初始化
当服务器成功启动时,您将看到:
Starting Apple Notes MCP server.服务器现已准备好处理您的笔记操作!🎉
🛠️ 使用方法
可用工具
创建笔记 (Create Note)
描述:在 Apple Notes 中创建新笔记
参数:
{ title: string; // The title of the note content: string; // The content of the note tags?: string[]; // Optional tags for the note }响应示例:
Note created: My New Note
搜索笔记 (Search Notes)
描述:按标题搜索笔记
参数:
{ query: string; // The search query }响应示例:
Meeting Notes Shopping List Ideas for Project
获取笔记内容 (Get Note Content)
描述:检索特定笔记的完整内容
参数:
{ title: string; // The exact title of the note }响应示例:
[Full content of the note]
📚 示例用例
1. 快速记录笔记
在会议或头脑风暴期间创建笔记:
{
"title": "Team Meeting Notes",
"content": "Discussion points:\n1. Project timeline\n2. Resource allocation",
"tags": ["meetings", "work"]
}2. 信息检索
在需要时搜索特定笔记:
{
"query": "meeting"
}3. 内容查看
获取特定笔记的完整内容:
{
"title": "Team Meeting Notes"
}⚡ 最佳实践建议
确保您的 Apple Notes 应用已正确配置 iCloud
使用描述性标题以提高可搜索性
创建笔记时包含相关标签,以便更好地组织
🔧 开发
该项目使用 TypeScript 并遵循现代 ES 模块模式。关键文件:
src/index.ts: 服务器主实现src/services/appleNotesManager.ts: 核心笔记管理功能src/utils/applescript.ts: AppleScript 集成工具
开发容器
为 VS Code 用户提供了开发容器配置,包含:
TypeScript Node.js 环境
用于代码格式化的 Prettier
自动依赖安装
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
为 Apple Notes 用户倾心打造 ❤️
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
create-note - First observed
get-note-content - First observed
search-notes
TDQS
Scored across 3 tools
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
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.
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.83,611 npm28MIT
- AlicenseAqualityDmaintenanceEnables AI clients to search, read, create, update, move, and delete Apple Notes on macOS via AppleScript automation.103,611 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to read, write, search, and manage Apple Notes on macOS via AppleScript automation.3,611 npmMIT