Apple System
io.github.JonathanRReed/apple-system-mcp · 25 stars · Python · MIT
MCP server Read and manage macOS system settings and perform scoped desktop actions.
Install
The repo has no one-line install. Follow its README.
Published as
- PyPI
apple-system-mcpstdio - mcpb
https://github.com/JonathanRReed/Apple-MCPs/releases/download/v1.1.0/apple-system-1.1.0.mcpbstdio
From the server's entry in the official MCP Registry.
Configuration
| Name | Set as | What it is |
|---|---|---|
APPLE_SYSTEM_MCP_SAFETY_MODEOptional | Env var | Safety mode for system operations: safe_readonly, safe_manage, or full_access. |
Files
Apple System MCP
Local MCP server for macOS system context, truthful Focus support metadata, assistant-relevant settings reads, explicit settings writes, and bounded GUI fallback automation.
Capabilities
- battery status
- frontmost app
- running applications
- clipboard read and write
- local notifications
- open an application
- appearance settings
- accessibility settings
- Dock settings
- Finder settings
- truthful Focus support metadata
- combined system context snapshots
- appearance mode write
- Finder visibility and bar writes
- Dock write controls for autohide and recent apps
- accessibility writes for reduce motion, increase contrast, and reduce transparency
- GUI fallback tools for menu clicks, key presses, text entry, button clicks, and pop-up selection
- preference-domain inspection via
defaults export - resources:
system://status,system://applications,system://settings,system://context - prompt:
system_capture_context - tool discovery helpers
search_toolsandget_tool_infofor context-constrained clients
Install On This Mac
From a clone
git clone https://github.com/JonathanRReed/Apple-MCPs.git cd Apple-MCPs uv sync --all-packages
This builds one workspace environment with every server's entry point in .venv/bin (for example .venv/bin/apple-system-mcp). You can also point an MCP client at AppleSystem-MCP/start.sh, which prefers uv run and falls back to a plain venv bootstrap (Python 3.11+ required).
Install In AI Agents
{
"mcpServers": {
"apple-system": {
"command": "uvx",
"args": ["apple-system-mcp"],
"env": {
"APPLE_SYSTEM_MCP_SAFETY_MODE": "safe_manage"
}
}
}
}
Running from a clone instead? Use /path/to/Apple-MCPs/AppleSystem-MCP/start.sh as the command with empty args.
Claude Code:
claude mcp add --transport stdio --scope project apple-system -- uvx apple-system-mcp
Transport
stdio is the default and recommended transport. Set APPLE_SYSTEM_MCP_TRANSPORT=streamable-http (with optional APPLE_SYSTEM_MCP_HOST and APPLE_SYSTEM_MCP_PORT) to serve Streamable HTTP instead.
Prompting Notes
tools/listreturns the full System tool surface. Context-constrained clients can usesearch_toolsfirst, thenget_tool_infofor the System tool they need.- Use this server when the user’s current desktop context matters.
- Read battery state and the frontmost app before interruptive actions.
- Use the settings tools before falling back to raw
defaults readin prompts or E2E checks. - Use
APPLE_SYSTEM_MCP_SAFETY_MODE=safe_managefor assistant-grade operation. - Keep
safe_readonlyonly for audit-only or context-only deployments. - Keep GUI fallback narrow. Prefer native app-domain MCPs first, then explicit System tools, then GUI tools only when native support is missing.
- Focus reporting is best-effort and truthful. This server does not claim Notification Center history support when macOS does not expose it cleanly on an unsigned local install.
Health And Recovery
system_healthsystem_permission_guidesystem_get_settings_snapshotsystem_get_focus_statussystem_get_context_snapshotsystem_read_preference_domain
Assistant-Grade Control Surface
The launch System write surface is explicit, not generic:
system_set_appearance_modesystem_set_show_all_extensionssystem_set_show_hidden_filessystem_set_finder_path_barsystem_set_finder_status_barsystem_set_dock_autohidesystem_set_dock_show_recentssystem_set_reduce_motionsystem_set_increase_contrastsystem_set_reduce_transparency
The bounded GUI fallback surface is:
system_gui_list_menu_bar_itemssystem_gui_click_menu_pathsystem_gui_press_keyssystem_gui_type_textsystem_gui_click_buttonsystem_gui_choose_popup_value
Launch Checklist
- Add
uvx apple-system-mcp(or a clone'sAppleSystem-MCP/start.sh) to your MCP client - Reload or reconnect the client so the System tool surface is loaded into context
- Call
system_healthfirst - If a scoped system action is blocked, call
system_permission_guide - Call
system_statusto verify the full context surface is available
Preference-domain reads accept named domains such as com.apple.finder and NSGlobalDomain, rather than filesystem paths or command options. The -g and -globalDomain aliases select NSGlobalDomain.
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 25
- License
- MIT
- Language
- Python
- Last push
- 2026-10-10
- Forks
- 3
- MCP Registry
- io.github.JonathanRReed/apple-system-mcp
- Topics
- apple, mcp, mcpserver, ai-agent, apple-calendar, apple-mail, apple-notes, apple-reminders, apple-shortcuts, applescript, automation, claude, imessage, macos, model-context-protocol, productivity, python
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k