Skip to main content
Glama

apple-native-mcp

An MCP server that gives an agent safe, reliable access to your own data in the native macOS apps: Calendar, Reminders, Contacts, Messages, Notes and Mail.

Not usable yet. This is a rewrite in progress. The repository currently holds the plan, the research behind it, the architecture rules and their specs — no server.

Why it exists

supermemoryai/apple-mcp was archived in January 2026 with its bugs unfixed, including a command-injection hole in the tools that send messages and create events. Around 25 forks each fixed a piece of it, and nobody brought the fixes together. This project collects what those forks learned and rebuilds the server from scratch, crediting every fork whose idea it adopts.

Related MCP server: MCP Mac Apps Server

What "safe" will mean here

These are the rules the rewrite is being built to, and the specs are written before the code that satisfies them. None of it works yet.

  • Tool input is hostile. Nothing that reaches a tool is ever spliced into a script, a shell command or a SQL string. Scripts are static files that take JSON arguments, and SQL is always a prepared statement. The one process the server starts is its own signed helper, launched by path with an argument list: a dependency rule already fails the build if any other module imports node:child_process, or if any module at all imports a package that builds a command line.

  • Read-only by default. Every capability that writes is off until you turn it on, and sending a message or an email asks you to confirm that send.

  • Results tell the truth. A tool reports success only after checking the store, and says so plainly when it cannot check.

  • Recipients must be known. A message goes only to someone you have already messaged.

  • Failures say how to fix them. A missing macOS permission names the setting to change and where to find it.

Where the work is

plan.md

the rewrite, phase by phase, with the non-negotiables

docs/adr/

the decisions that shape the code

docs/research/

what every fork and upstream issue taught, merged into a scenario backlog

src/README.md

the layers and the rule each one obeys

Progress is tracked in GitHub Issues.

Building on it

Node 24 or newer, on macOS.

npm install
npm run check   # typecheck, lint, and the spec

Credit

Rewritten from apple-mcp by Dhravya Shah, MIT licensed. The forks whose ideas are adopted are credited as each one lands.

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    Enables control of macOS applications through natural language, allowing users to launch apps, execute AppleScript commands, manage running applications, and open files with voice or text commands.
    15
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI interaction with native macOS applications including Messages, Notes, Mail, Calendar, and Maps through natural language. It allows users to automate tasks like sending messages, managing contacts, and scheduling events across the Apple ecosystem.
    106 npm
    MIT