mcp-my-apple-remembers
The MCP My Apple Remembers server lets you interact with a remote macOS machine via AppleScript to:
Recall Data: Access Apple Notes, Calendar events, iMessages, chat history, and files
Save Information: Store important data in Apple Notes with timestamps for organization
Execute AppleScript: Run both simple and complex AppleScript commands remotely via SSH
Configure Timeouts: Set custom execution timeouts for AppleScript commands (default: 60 seconds)
Integration: Can be configured as part of Claude Desktop setup using Docker
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., "@mcp-my-apple-rememberssave my meeting notes about the Q3 project to Apple Notes"
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.
MCP Server - My Apple Remembers
A simple MCP server that recalls and saves memories from and to Apple Notes.
Features
Memory Recall: Access notes, calendar events, messages, files and other information from your Mac
Memory Persistence: Save important information to Apple Notes for future reference
Minimal Setup: Just enable Remote Login on the target Mac
Universal Compatibility: Works with all macOS versions
Related MCP server: Beeper MCP Note Server
Control in your hand
You can use prompt to instruct how you want your memory to be save. For example:
You should always use Folder "baryhuang" on recall and save memory.Installation
You can configure Claude Desktop to use the Docker image by adding the following to your Claude configuration:
{
"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"
]
}
}
}Developer Instructions
Clone the repo
# Clone the repository
git clone https://github.com/baryhuang/mcp-my-apple-remembers.git
cd mcp-my-apple-remembersBuilding the Docker Image
# Build the Docker image
docker build -t mcp-my-apple-remembers .Publishing Multi-Platform Docker Images
# 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 .Tools Specifications
my_apple_recall_memory
Run AppleScript commands on a remote macOS system to recall memories. This tool helps access Apple Notes, Calendar events, iMessages, chat history, files, and other information on your Mac.
my_apple_save_memory
Run AppleScript commands on a remote macOS system to save important information. This tool allows AI to persist relevant information to Apple Notes for future reference.
All tools require macOS SSH access, with host and password.
Security Note
Always use secure, authenticated connections when accessing remote macOS machines. This tool should only be used with servers you trust and have permission to access.
License
See the LICENSE file for details.
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.
TDQS
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
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
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.42236GPL 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
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/honeybluesky/my-apple-remembers'
If you have feedback or need assistance with the MCP directory API, please join our Discord server