Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Fast local Apple Mail MCP: indexed search, full-text bodies, verified sends, triage. macOS.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 13, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Python (uv) on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Python (uv)
SettingsDeveloperEdit Config
{
"mcpServers": {
"apple-mail": {
"command": "uvx",
"args": [
"apple-mailbox-mcp"
]
}
}
}Use Apple Mail MCP and tell me what you can do for me, then show me one thing✓ If Claude says it is using Apple Mail MCP or shows a Apple Mail MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Apple Mail MCP yet
Apple Mail MCP runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Apple Mail MCP
B · Others in Search & AI memory that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user apple-mail -- uvx apple-mailbox-mcpYou should see Apple Mail MCP listed as connected
Use Apple Mail MCP and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Apple Mail MCP or shows a Apple Mail MCP tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Use Apple Mail MCP and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Apple Mail MCP or shows a Apple Mail MCP tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Python (uv) on your computer first (one time)
One time only; it works for every server that needs Python (uv)
Use Apple Mail MCP and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Apple Mail MCP or shows a Apple Mail MCP tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add --scope user apple-mail -- uvx apple-mailbox-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"apple-mail": {
"command": "uvx",
"args": [
"apple-mailbox-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"apple-mail": {
"command": "uvx",
"args": [
"apple-mailbox-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"apple-mail": {
"type": "stdio",
"command": "uvx",
"args": [
"apple-mailbox-mcp"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026
The registry name was verified with the GitHub account parasxos, which owns the repo
Code last changed 25 days ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 25 days ago, and the latest version (1.8.3) reached the registry 25 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Ruflo
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Runs locally on your Mac. It opens the Mail store read-only, returns only what a client asks for, and sends only when the client explicitly calls the send tool. No third-party relay, no cloud copy of your mail.
uvx apple-mailbox-mcp setup
Measured on a 300k-message store: addressing one message 0.1 ms via Mail's own index, against 7 to 10 s for the AppleScript whose-clause; full-text search p95 under 1 ms. Method and script: docs/benchmarks.md.
Use Claude Code, Claude Desktop, Codex, Cursor, VS Code, or any local MCP client to search, read, triage, and send email through Apple Mail — your mailbox becomes something you can ask, search and delegate to — find anything in seconds, file hundreds of messages through a reviewed plan, send polished mail as the right identity, and let Exchange deliver scheduled messages even while your Mac is asleep.
🔍 Ask your mailbox questions. *"What did Maria send me about the memo last week?"* Search runs at database speed — sender, mailbox, dates, unread, attachments — and reconstructs whole conversations.
🕳️ Find what Mail itself can't. Mail's built-in search only skims the first line of most messages. apple-mail-mcp indexes every message body on your Mac — and for Exchange accounts it even fetches the bodies Mail never downloaded, straight from your own mailbox on the server. Queries that returned nothing return twenty.
🎭 Send as the right you. Work mail through the work lane, personal through Gmail — one parameter picks the identity. Every message is composed from scratch as clean, standards-correct email that renders everywhere, *including Outlook* (the AppleScript compose path that arrives blank in Outlook is the reason this project exists).
⏰ Schedule like "Send Later", but scriptable. A scheduled message is frozen in full — attachments, identity, exact text, and since 1.8.2 the threading headers, so a scheduled reply lands in the conversation it answers. Exchange can execute it server-side at the requested time, lid closed; other providers use a local background sender and deliver on its next pass (or just after the Mac wakes).
🗂️ Triage at scale, without fear. *"File these 40 newsletters"* becomes a reviewable plan: nothing moves until it is approved, every message is re-checked before it is touched, and the result is verified against Mail's own records afterward. Delete means Mail's Trash — nothing is ever erased.
📝 Draft where your drafts live. Compose into your real Exchange Drafts folder, ready to open in Outlook or OWA — created, never auto-sent.
Every other Apple-Mail MCP drives AppleScript for both finding and acting. This one doesn't — and it shows:
| Operation | AppleScript whose-clause | apple-mailbox-mcp |
|---|---|---|
| 🔍 Search 300k messages | seconds-to-timeout | milliseconds |
| 🎯 Address one message in a 71k mailbox | 7–10 s (measured) | < 0.1 ms |
| ✉️ Send mail | body renders blank in Outlook | renders everywhere, plain+HTML |
| ⏰ Schedule mail | — | server-side on Exchange; reliable local queue everywhere else |
| 🗂️ Bulk triage | one call per message, fire-and-forget | one reviewed plan, one apply, verified |
Every number above was measured on a live ~300,000-message store; the script and full method are in docs/benchmarks.md.
If the benchmarks hold up on your mailbox, a ⭐ helps others find this.
EMAIL_MCP_READ_ONLY=1 and only the 11 non-mutating mail tools exist in the session. Search may still maintain its local body index, and attachment retrieval writes the requested file to the configured temporary directory.~/.email-mcp/graph/.apple-mail-mcp status gives one readable readiness, scheduling and recovery screen. apple-mail-mcp doctor provides the complete diagnostic detail and an exact fix for anything red. uvx apple-mailbox-mcp setup # or: pipx install apple-mailbox-mcp
brew install parasxos/tap/apple-mail-mcp && apple-mail-mcp setup
claude mcp add --transport stdio --scope user apple-mail -- uvx apple-mailbox-mcp
or the same JSON block for Claude Desktop / Cursor / VS Code (claude_desktop_config.json / .cursor/mcp.json / .vscode/mcp.json):
{
"mcpServers": { "apple-mail": { "command": "uvx", "args": ["apple-mailbox-mcp"] } } }
uvx apple-mailbox-mcp status prints one readiness screen — or just ask your client to run the doctor tool; every red line comes with its exact fix. uvx apple-mailbox-mcp --version prints the installed version (apple-mailbox-mcp, apple-mail-mcp and email-mcp are three names for the same command). The first body-index build on a large mailbox runs in the background and can take a few minutes; search works immediately and completes as the index fills.Before running setup, grant your terminal app Full Disk Access (System Settings → Privacy & Security → Full Disk Access) — that is how reading stays fast and local. There is no pop-up for this one; it is Apple's one manual toggle, and setup walks you to the exact pane if it finds it missing.
setup asks everything in plain words (bare Enter accepts the recommended answer), offers a sending identity, builds the body-search index, verifies the nightly refresh actually runs, and ends by printing the one block you paste into your MCP client:
{
"mcpServers": { "apple-mail": { "command": "apple-mail-mcp" } } }
Setup ends with a clear ready verdict or numbered recovery steps. Grant Automation → Mail when triage first asks for it. Check the installation, the next scheduled message, and failed scheduled sends anytime with apple-mail-mcp status; use apple-mail-mcp doctor for the full technical detail.
💡 *New to the terminal?* Three things that look wrong and aren't:
brew install pipxwants a typedy(Enter alone is rejected);
pipx ensurepathmay print a ⚠️ — the "pipx is ready to go!" line after it
is the verdict; and after
ensurepath, close and reopen the terminal once
so
apple-mail-mcpis found.
Every client below speaks stdio MCP; the command is always uvx apple-mailbox-mcp.
claude mcp add --transport stdio --scope user apple-mail -- uvx apple-mailbox-mcp
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{ "mcpServers": { "apple-mail": { "command": "uvx", "args": ["apple-mailbox-mcp"] } } }
Add the same block to ~/.cursor/mcp.json (or per-project .cursor/mcp.json).
Add the same block under "servers" in .vscode/mcp.json.
# ~/.codex/config.toml
[mcp_servers.apple-mail] command = "uvx" args = ["apple-mailbox-mcp"]
Point it at uvx apple-mailbox-mcp. The wire contract is additive-only since v1.0.
| Symptom | Fix |
|---|---|
Client says the server failed to start, but uvx apple-mailbox-mcp works in your terminal | GUI apps don't inherit your shell PATH. Use the absolute path: "command": "/opt/homebrew/bin/uvx" (find yours with which uvx). |
database is locked or empty results | Full Disk Access is missing for the app that *launches* the server (the client, not the terminal). Grant it, then fully quit and reopen that app. |
| Search finds recent mail but not bodies of old mail | The body index is still building — first build on a 100k+ mailbox takes minutes. status shows progress. |
Send fails with transport_unavailable | Run doctor: it names the failing lane (Keychain item missing, SSH socket cold, SMTP host unreachable) and prints the exact fix. |
| Triage does nothing the first time | Grant Automation → Mail when macOS asks; the prompt appears on first use, not at install. |
| Group | Tools |
|---|---|
| 🔍 Read (8) | search_emails (full-body search) · get_email · get_emails_batch · get_thread · list_mailboxes · list_recent · get_attachment · refresh_mail |
| ✉️ Send (6) | send_email · reply_email (threaded, quoted) · create_draft · schedule_email (threaded on request) · list_scheduled · cancel_scheduled |
| 🗂️ Triage (5) | triage_plan · triage_plan_delete · triage_apply · mailbox_create · mailbox_delete |
| 🩺 Meta (2) | doctor