mcp-my-apple-remembers
MCP サーバー - 私の Apple の記憶
Apple Notes から思い出を呼び出して保存するシンプルな MCP サーバー。
特徴
メモリリコール: Macからメモ、カレンダーイベント、メッセージ、ファイル、その他の情報にアクセスします
メモリの永続性:将来の参照のために重要な情報をApple Notesに保存します
最小限のセットアップ:対象のMacでリモートログインを有効にするだけ
ユニバーサルな互換性: すべてのmacOSバージョンで動作します
Related MCP server: Beeper MCP Note Server
あなたの手でコントロール
prompt を使って、メモリをどのように保存したいかを指定できます。例:
You should always use Folder "baryhuang" on recall and save memory.インストール
Claude 構成に以下を追加することで、Claude Desktop が Docker イメージを使用するように構成できます。
{
"mcpServers": {
"my-apple-remembers": {
"command": "docker",
"args": [
"run",
"-i",
"-e",
"MACOS_USERNAME=your_macos_username",
"-e",
"MACOS_PASSWORD=your_macos_password",
"-e",
"MACOS_HOST=localhost",
"--rm",
"buryhuang/mcp-my-apple-remembers:latest"
]
}
}
}開発者向け手順
リポジトリをクローンする
# Clone the repository
git clone https://github.com/baryhuang/mcp-my-apple-remembers.git
cd mcp-my-apple-remembersDockerイメージの構築
# Build the Docker image
docker build -t mcp-my-apple-remembers .マルチプラットフォーム Docker イメージの公開
# Set up Docker buildx for multi-platform builds
docker buildx create --use
# Build and push the multi-platform image
docker buildx build --platform linux/amd64,linux/arm64 -t buryhuang/mcp-my-apple-remembers:latest --push .ツールの仕様
私のリンゴの記憶を呼び起こす
リモートmacOSシステムでAppleScriptコマンドを実行し、思い出を呼び起こしましょう。このツールを使えば、Mac上のApple Notes、カレンダーイベント、iMessage、チャット履歴、ファイルなどの情報にアクセスできます。
私のアップルのメモリ節約
リモートmacOSシステムでAppleScriptコマンドを実行し、重要な情報を保存できます。このツールにより、AIは関連情報をApple Notesに保存し、将来の参照に役立てることができます。
すべてのツールには、ホストとパスワードを使用した macOS SSH アクセスが必要です。
セキュリティに関する注意事項
リモートmacOSマシンにアクセスする際は、必ず安全で認証済みの接続を使用してください。このツールは、信頼できるサーバーでのみ使用し、アクセス権限を与えてください。
ライセンス
詳細については、LICENSE ファイルを参照してください。
Available Tools
2 toolsmy_apple_recall_memoryB
Run Apple Script on a remote MacOs machine. This call should be used to recall the apple notes, apple calendar, imessages, chat messages, files, context or any other information of a MacOs machine can have access to.
| Name | Required | Description | Default |
|---|---|---|---|
| code_snippet | Yes | AppleScript code to execute on the remote machine. Can be a single line or multi-line script. You should prefer multi-line scripts for complex operations. | |
| timeout | No | Command execution timeout in seconds (default: 60) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers limited behavioral details. It mentions remote execution and timeout (implied via parameter) but doesn't disclose critical traits like authentication requirements, error handling, security implications, or what 'recall' entails operationally. The description adds some context but leaves significant gaps for a tool with mutation potential.
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?
The description is reasonably concise with two sentences that cover purpose and usage. It's front-loaded with the core function, though the second sentence could be more structured. No wasted words, but minor room for improvement in clarity.
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?
Given the tool's complexity (remote execution, potential data access), no annotations, and no output schema, the description is incomplete. It lacks details on return values, error conditions, security constraints, and operational limits, making it inadequate for safe and effective use by an AI agent.
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?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain AppleScript syntax or provide examples). Baseline 3 is appropriate as the schema does the heavy lifting.
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?
The description clearly states the tool's purpose: 'Run Apple Script on a remote MacOs machine' and specifies what it can recall (notes, calendar, messages, files, etc.). It distinguishes from the sibling 'my_apple_save_memory' by focusing on recall rather than save operations, though the distinction could be more explicit.
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?
The description implies usage context ('This call should be used to recall...') but lacks explicit guidance on when to use this tool versus alternatives or prerequisites. It mentions the sibling tool name indirectly but doesn't provide clear when/when-not rules or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
my_apple_save_memoryB
Run Apple Script on a remote MacOs machine. This call should be used to save relevant information to the apple notes. You decide what information to save. You should always add a new notes with a timestamp as the title.
| Name | Required | Description | Default |
|---|---|---|---|
| code_snippet | Yes | AppleScript code to execute on the remote machine. Can be a single line or multi-line script. You should prefer multi-line scripts for complex operations. | |
| timeout | No | Command execution timeout in seconds (default: 60) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions executing on a remote machine and saving to Apple Notes, but doesn't cover important behavioral aspects like authentication requirements, error handling, what happens if the remote machine is unavailable, whether this is a synchronous or asynchronous operation, or potential side effects beyond note creation.
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?
The description is reasonably concise with three sentences that each serve a purpose: stating the core function, specifying the intended use case, and providing implementation guidance. It's front-loaded with the main purpose. The third sentence could be more tightly integrated with the second for better flow.
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?
For a tool that executes remote AppleScript with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns, error conditions, authentication requirements, or important behavioral constraints. The guidance about timestamps and note creation is helpful but insufficient for a remote execution tool with potential security and reliability implications.
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?
Schema description coverage is 100%, so the schema already fully documents both parameters. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions AppleScript and saving to notes, which aligns with the code_snippet parameter purpose, but provides no additional semantic context about parameter usage or constraints.
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?
The description clearly states the tool's purpose: 'Run Apple Script on a remote MacOs machine' and specifies it's for saving information to Apple Notes. It distinguishes from the sibling tool 'my_apple_recall_memory' by focusing on saving rather than recalling. However, it doesn't explicitly contrast the two tools in the description text itself.
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?
The description provides some usage context: 'This call should be used to save relevant information to the apple notes' and gives implementation guidance about timestamps. However, it doesn't explicitly state when to use this tool versus alternatives or when not to use it. The sibling tool name suggests a recall function, but no explicit comparison is made.
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.
2 tool updates
v1.0.0- First observed
my_apple_recall_memory - First observed
my_apple_save_memory
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one is for retrieving information from various macOS sources (recall), and the other is for saving information specifically to Apple Notes (save). There is no overlap or ambiguity between these functions.
Both tools follow a consistent 'my_apple_verb_memory' pattern, using the same prefix and suffix structure. The verbs 'recall' and 'save' are descriptive and aligned in style.
With only 2 tools, the server feels thin for its apparent scope of interacting with macOS data (notes, calendar, messages, files, etc.). A more comprehensive set would include tools for updating or deleting information, or handling other macOS apps beyond just Apple Notes.
The server is severely incomplete for macOS data management. It only covers recall (read) and save (create to notes), missing essential operations like update, delete, or interactions with other macOS apps (e.g., calendar events, messages). This will likely cause agent failures in broader workflows.
Maintenance
Related MCP Connectors
An MCP server that used to create notes
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Related MCP Servers
- AlicenseAqualityDmaintenanceA simple note-taking MCP server for recording and managing notes with AI models.47 npm37GPL 2.0
- FlicenseNot gradedqualityDmaintenanceA simple MCP server for creating and managing notes with support for summarization functionality.1-
- FlicenseBqualityDmaintenanceA simple note-taking MCP server that stores notes and can generate summaries of stored content.4-
- FlicenseCqualityDmaintenanceA simple note-taking MCP server that allows adding notes and summarizing them via a prompt.2-