Back to Browse

Apple MCPs MCP Server

Developer ToolsLow Risk9.7MCP RegistryLocal
Free

Server data from the Official MCP Registry

Inspect and manage local files and folders inside allowed roots on macOS.

About

Inspect and manage local files and folders inside allowed roots on macOS.

Security Report

9.7
Low Risk9.7Low Risk

Valid MCP server (3 strong, 1 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

14 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

clipboard

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Safety mode for file operations: safe_readonly, safe_manage, or full_access.Optional

Environment variable: APPLE_FILES_MCP_SAFETY_MODE

Comma-separated directories the server may access. Defaults to Desktop, Documents, Downloads, and iCloud Drive.Optional

Environment variable: APPLE_FILES_MCP_ALLOWED_ROOTS

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-jonathanrreed-apple-files-mcp": {
      "env": {
        "APPLE_FILES_MCP_SAFETY_MODE": "your-apple-files-mcp-safety-mode-here",
        "APPLE_FILES_MCP_ALLOWED_ROOTS": "your-apple-files-mcp-allowed-roots-here"
      },
      "args": [
        "apple-files-mcp"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Apple-MCPs

CI Python 3.11+ macOS License MIT MCP spec 2026-07-28

Apple-native MCP servers for macOS — turn any AI agent into what Siri should have been.

This repository provides direct, local access to core Apple apps through the Model Context Protocol (MCP). Your AI assistant can use structured tools to work with your data — create reminders, send messages, check calendars, search mail, manage files, get directions — while everything stays in the native apps you already use.

Everything happens on your Mac over local stdio. Your data stays in Apple's apps where it belongs. Free and open source under the MIT License.

Built on MCP specification 2026-07-28 (Python SDK 2.x) with backward compatibility for clients speaking older protocol revisions.

Servers

  • Apple-Tools-MCP, recommended. One unified server for Mail, Calendar, Reminders, Messages, Contacts, Notes, Shortcuts, Files, System, and Maps — plus saved defaults, per-contact routing preferences, thread-aware Mail helpers, undo support, briefing tools, and cross-app workflows.
  • Standalone servers when you want tighter boundaries or simpler permissions: Mail · Calendar · Reminders · Messages · Contacts · Notes · Shortcuts · Files · System · Maps

Install

Run from PyPI (uvx)

Once you have uv installed, every server runs with a one-liner — no clone, no venv management:

uvx apple-tools-mcp

Standalone servers work the same way (uvx apple-mcp-mail, uvx apple-calendar-mcp, ...).

Claude Code

claude mcp add --transport stdio --scope project apple-tools -- uvx apple-tools-mcp

Generic MCP client (stdio JSON config)

{
  "mcpServers": {
    "apple-tools": {
      "command": "uvx",
      "args": ["apple-tools-mcp"],
      "env": {
        "APPLE_MAIL_MCP_SAFETY_PROFILE": "full_access",
        "APPLE_CALENDAR_MCP_SAFETY_MODE": "safe_manage",
        "APPLE_REMINDERS_MCP_SAFETY_MODE": "safe_manage",
        "APPLE_FILES_MCP_ALLOWED_ROOTS": "/Users/you/Desktop,/Users/you/Documents,/Users/you/Downloads,/Users/you/Library/Mobile Documents/com~apple~CloudDocs",
        "APPLE_FILES_MCP_SAFETY_MODE": "safe_manage",
        "APPLE_SYSTEM_MCP_SAFETY_MODE": "safe_manage",
        "APPLE_CONTACTS_MCP_SAFETY_MODE": "safe_manage",
        "APPLE_NOTES_MCP_SAFETY_MODE": "full_access",
        "APPLE_MESSAGES_MCP_SAFETY_MODE": "full_access",
        "APPLE_SHORTCUTS_MCP_SAFETY_MODE": "full_access"
      }
    }
  }
}

See Apple-Tools-MCP/README.md for the assistant-grade safety settings recommended for daily use.

Claude Desktop (one-click bundle)

Download the .mcpb bundle for a server from Releases and double-click it — Claude Desktop installs and manages it, including configuration.

From a clone

git clone https://github.com/JonathanRReed/Apple-MCPs.git
cd Apple-MCPs
uv sync --all-packages

That builds one workspace environment with every server's entry point in .venv/bin (for example .venv/bin/apple-tools-mcp). Each server folder also has a start.sh that MCP clients can point at directly — it prefers uv and falls back to a plain venv bootstrap.

macOS Permissions

Different Apple apps require different permissions. Each server ships a health tool, a permission guide tool, and a recheck tool, so your agent can diagnose and fix permission problems by itself.

ServerWhat macOS may ask forHealth toolRecovery tools
Apple-Tools-MCPEverything below, as usedapple_healthapple_permission_guide, apple_recheck_permissions
MailAutomation access to Mailmail_healthmail_permission_guide, mail_recheck_permissions
CalendarCalendar accesscalendar_healthcalendar_permission_guide, calendar_recheck_permissions
RemindersReminders accessreminders_healthreminders_permission_guide, reminders_recheck_permissions
MessagesAutomation access to Messages, plus Full Disk Access for historymessages_healthmessages_permission_guide, messages_recheck_permissions
ContactsContacts accesscontacts_healthcontacts_permission_guide, contacts_recheck_permissions
NotesAutomation access to Notesnotes_healthnotes_permission_guide, notes_recheck_permissions
ShortcutsUsually no separate privacy promptshortcuts_healthshortcuts_permission_guide, shortcuts_refresh_state
FilesNo privacy prompt; access limited to configured allowed rootsfiles_healthfiles_permission_guide
SystemSystem Events, Accessibility, or automation prompts for some actionssystem_healthsystem_permission_guide
MapsNo privacy prompt; local Swift helper needs Xcode command line toolsmaps_healthmaps_permission_guide

Tool Discovery

Servers expose their full tool surface through tools/list (with readOnlyHint/destructiveHint annotations and structured output schemas), which is what modern deferred-loading clients expect. For context-constrained clients, every server also ships two helper tools:

  • search_tools — ranked keyword/alias search over the server's tool catalog
  • get_tool_info — full schema, metadata, and example calls for one tool

Agent Routing

Some tips for working with these servers:

  • Always run Contacts first when messaging a person, then choose Messages or Mail.
  • Use Mail thread helpers (mail_get_thread, mail_reply_latest_in_thread, mail_archive_thread) when the user mentions a conversation.
  • Reminders are for due items, Notes for reference material, Calendar for scheduled time.
  • When Mail must send from a specific identity, pass the exact sender email in from_account.
  • Mail search requires a query string: a sender, a subject fragment, or * as a wildcard.
  • Reminders due_date requires a timezone offset like yyyy-MM-ddTHH:mm:ss-08:00.
  • Omit service_name on iMessage sends.
  • Apple-Tools-MCP includes briefing tools: apple_generate_daily_briefing, apple_generate_weekly_briefing, and apple_triage_communications_task.
  • Prompt-fallback tools (apple_list_prompts, apple_get_prompt, and per-server equivalents) cover clients that only support tools.

Code-Mode Wrappers

For code-execution clients, the repo ships generated artifacts so agents can call tools as Python functions without loading every schema into context:

  • generated/tool_catalogs/ — searchable tool metadata per server
  • generated/tool_wrappers/python/ — generated Python wrappers for every tool

See docs/code-mode.md for the wrapper layout, client interface, and recommended workflow.

Transports and Protocol Verification

stdio is the default and recommended transport for local use. Every server also supports streamable-http via env vars (APPLE_<DOMAIN>_MCP_TRANSPORT=streamable-http, plus _HOST/_PORT).

Run the official MCP conformance suite against Apple-Tools-MCP:

APPLE_AGENT_MCP_TRANSPORT=streamable-http \
APPLE_AGENT_MCP_PORT=8765 \
APPLE_AGENT_MCP_CONFORMANCE_MODE=1 \
./Apple-Tools-MCP/start.sh
npx -y @modelcontextprotocol/conformance server --url http://127.0.0.1:8765/mcp --suite active

Lightweight Inspector smoke checks across all servers:

bash scripts/inspector_smoke.sh

CI runs lint, the full test suite (macOS and Linux), generated-artifact drift checks, Inspector smoke checks, and the conformance suite — see .github/workflows.

Repo Layout

  • Apple-Tools-MCP/ — unified server (module apple_agent_mcp, env prefix APPLE_AGENT_MCP_*)
  • Apple<Domain>-MCP/ — standalone servers (Apple-Calendar-MCP is the calendar server)
  • AppleMCPCommon/ — shared discovery/search helpers (apple-mcp-common on PyPI)
  • generated/ — code-mode catalogs and wrappers (regenerated by CI checks)
  • scripts/ — install, smoke-check, artifact-generation, and bundle-build helpers
  • docs/ — project and launch docs

The repository is a uv workspace: pyproject.toml at the root defines members, and uv.lock pins the whole dependency graph.

Project Docs

Notes

  • This suite is for macOS. Apple Messages history access needs Full Disk Access.
  • Apple Files access is limited to the roots in APPLE_FILES_MCP_ALLOWED_ROOTS.
  • Apple System write actions can be scoped down with APPLE_SYSTEM_MCP_SAFETY_MODE.
  • Apple Maps depends on a local Swift helper compiled with Xcode command line tools.
  • Apple-Tools-MCP persists assistant defaults in ~/.apple-tools-mcp/preferences.json (or APPLE_AGENT_MCP_STATE_FILE) and recent assistant actions in ~/.apple-tools-mcp/actions.json for audit and undo workflows.
  • APPLE_AGENT_MCP_CONFORMANCE_MODE=1 is for protocol validation only; it registers the official conformance fixtures.

Reviews

No reviews yet

Be the first to review this server!