Mac Mail MCP
Mac Mail MCP server with full-coverage FTS5 body search for local Apple Mail.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
mac-mail-mcpclaude mcp add mac-mail-mcp -- uvx mac-mail-mcp==0.5.15
{
"mcpServers": {
"mac-mail-mcp": {
"command": "uvx",
"args": [
"mac-mail-mcp==0.5.15"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Apple 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
Frequently asked questions
What is Mac Mail MCP?
Mac Mail MCP server with full-coverage FTS5 body search for local Apple Mail.
How do I install Mac Mail MCP?
It runs on your machine. In Claude Code: claude mcp add mac-mail-mcp -- uvx mac-mail-mcp==0.5.15. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Mac Mail MCP need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is Mac Mail MCP open source?
Yes. Its code is on GitHub under the GPL-3.0 license.
Who maintains Mac Mail MCP?
It is published by wagamama. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.