About Mac Mail MCP
Mac Mail MCP gives assistants access to local Apple Mail data, with disk-first reads and full-coverage FTS5 search across message bodies.
Key features
- 01Read local Apple Mail data
- 02Disk-first message reads
- 03FTS5 search across message bodies
- 04Watch files to update indexes
Use cases
- 01Search local email bodies
- 02Read Apple Mail data on demand
- 03Keep email search indexes current
MCP support
It exposes local Apple Mail reading and search to MCP clients. File watching can keep indexes updated while the server runs.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
8Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEApple App MCP
Workspace for MCP servers that expose local Apple app data to assistants.
Packages
| Package | Status | Purpose |
|---|---|---|
mac-mail-mcp | Beta | Mac Mail MCP server with disk-first reads and full-coverage FTS5 body search. |
mac-calendar-mcp | Alpha | Read-only Mac Calendar MCP server with indexed archive search. |
Quick Start
Install the package you want:
pipx install mac-mail-mcp
pipx install mac-calendar-mcp
Build local indexes for fast search:
mac-mail-mcp index --verbose
mac-calendar-mcp authorize
mac-calendar-mcp index
Calendar authorization installs a small helper app with a stable macOS privacy
identity. Approve its Full Calendar Access prompt once so terminal, MCP, and
scheduled launchd rebuilds can use EventKit consistently. EventKit runs inside
that signed app identity; the Calendar MCP does not execute the helper's script
through an anonymous osascript process.
Generate optional config files:
mac-mail-mcp init
mac-calendar-mcp init
Index scope is configured separately from tool defaults. Use [index]
settings such as Mail accounts or Calendar calendars to control what is
stored locally; use [defaults] settings to control what MCP tools use when
the caller omits a scope.
Codex CLI
Register one or both servers:
codex mcp add mail -- mac-mail-mcp serve --watch
codex mcp add calendar -- mac-calendar-mcp serve --watch
Confirm the registrations:
codex mcp list
codex mcp get mail
codex mcp get calendar
Claude Code
Create or edit .mcp.json in your project root:
{
"mcpServers": {
"mail": {
"command": "mac-mail-mcp",
"args": ["serve", "--watch"]
},
"calendar": {
"command": "mac-calendar-mcp",
"args": ["serve", "--watch"]
}
}
}
Watch mode keeps the indexes current while the MCP servers are running. Mail uses file watching; Calendar performs a startup sync and then refreshes when Calendar's local SQLite database files change.
For global Claude Code configuration, put the same mcpServers object in
~/.claude/mcp.json.
Development
This repository is organized as a uv workspace. Each MCP server lives under
packages/ with its own package metadata, source, tests, and README.
git clone https://github.com/wagamama/apple-app-mcp
cd apple-app-mcp
uv sync
# All packages
uv run ruff check packages/mac-mail-mcp/src packages/mac-calendar-mcp/src
uv run pytest
# Individual packages
uv run --package mac-mail-mcp pytest packages/mac-mail-mcp/tests
uv run --package mac-calendar-mcp pytest packages/mac-calendar-mcp/tests
Build distributions:
uv build --package mac-mail-mcp
uv build --package mac-calendar-mcp
Documentation
- Shared agent instructions:
AGENTS.md - Mail domain notes:
MAIL.md - Calendar domain notes:
CALENDAR.md - MCP client setup guide:
docs/mcp-client-setup.md - Calendar implementation plan:
docs/superpowers/plans/2026-05-30-mac-calendar-mcp-implementation.md
Docs are deployed with GitHub Pages from .github/workflows/docs.yml. The
repository must have Pages configured once in Settings -> Pages -> Build and
deployment -> Source: GitHub Actions. The workflow deploys the built artifact;
it does not try to create or enable the Pages site because GitHub rejects that
operation from the default workflow token in some repositories.
Acknowledgements
This codebase is derived from
imdinu/apple-mail-mcp. Credit and
thanks go to the original authors and contributors for the Apple Mail MCP
foundation this repository builds on.
License
GPL-3.0-or-later
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.