mcpField
M
macOS MCP Server

macOS MCP Server

本地服务
github.com生产力03 周前更新

关于 macOS MCP Server

macOS MCP Server 通过辅助功能数据和系统控制,让 AI Agent 自动化操作 macOS 桌面,无需计算机视觉。它将桌面工具与设备策略检查、网络出口限制和防篡改审计结合;要求 Apple 芯片设备运行 macOS 27 或更高版本。

主要功能

  1. 01基于辅助功能树感知界面
  2. 02鼠标、键盘、截图和窗口控制
  3. 03应用、Shell、文件系统和进程工具
  4. 04设备状态策略检查
  5. 05出口允许列表与审计记录

适用场景

  1. 01自动化 macOS 桌面工作流
  2. 02运行并记录 UI 测试流程
  3. 03对 Agent 操作实施策略控制

MCP 相关

这是一个 MCP 服务,通过 stdio 向本地 MCP 客户端提供桌面自动化工具、资源和提示词。工具调用以及资源或提示词访问均经过策略评估和审计。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbmacos-mcp-server_0.2.1_darwin_arm64.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

macos-mcp-server

Spec compliance

一个 Model Context Protocol 服务,可将 AI Agent 接入 macOS 桌面:辅助功能树、模拟鼠标和键盘输入、屏幕截图、窗口和应用控制、Shell、 偏好设置、launchd、进程、文件系统和网页抓取。无需计算机视觉模型:Agent 通过辅助功能树感知 UI, 就像辅助技术那样。

它是 windows-mcp-server 的 macOS 对应版本: 两者拥有相同的 35 个工具、工具集、角色、策略文档和工作流程。它们与普通自动化桥接工具的不同之处在于,每项 Agent 操作都 以实时设备安全状态为准入条件,Agent 的网络出口受到限制, 且两者都会记录在 Agent 无法关闭的防篡改审计链中。

  • 设备策略引擎:每次工具调用、资源读取和提示词获取都会在运行前,根据实时设备信号(MDM 注册、Platform SSO、启动 安全性、FileVault、SIP、密封系统卷)进行评估,并由策略拒绝、警告或限制。规则可按工具、工具集或注释匹配,因此屏幕截图不会像 Shell 命令那样受到相同限制。 → 策略配置
  • 网络出口允许列表:回环代理仅允许访问你声明的域名,还可选择配合 pf 规则,防止控制台用户或整台机器绕过代理。→ 网络出口
  • 防篡改透明机制:哈希链审计日志(使用密钥并锚定到统一日志)、心跳、检测策略突变、整场会话录制、证据包,以及带外分级终止开关。这些机制均无法由 Agent 禁用。→ 安全架构

若干工具(Shell、LaunchExecutable、Defaults、LaunchdJob、FileSystem、 Process、App)拥有完整的用户级系统访问权限,且不受沙盒限制。 这是设计使然。在虚拟机中运行不受信任的工作负载,参见 VM 隔离;有关哪些情况属于或不属于漏洞的范围,请阅读 SECURITY.md。

需要在 Apple silicon 上运行 macOS 27 或更高版本。 Apple 不支持 Intel Mac 运行 macOS 27。


快速开始

brew install deploymenttheory/tap/macos-mcp-server
macos-mcp-server permissions request      # grant Accessibility and Screen Recording once
SERVER="$(command -v macos-mcp-server)"
codex mcp add macos -- "$SERVER" stdio --persona business-user
# Or, for Claude Code:
claude mcp add --scope user macos -- "$SERVER" stdio --persona business-user

对于 Claude Desktop,请从最新 GitHub 版本下载 .mcpb,并通过 Settings > Extensions > Advanced settings > Install Extension 进行安装。它包含已签名的服务二进制文件,并会在首次启动时申请所需的 macOS 授权。

任何其他本地 MCP 客户端都可以使用 stdio 子命令启动二进制文件:

{
  "mcpServers": {
    "macos": {
      "command": "/absolute/path/from/command-v/macos-mcp-server",
      "args": ["stdio", "--persona", "first-line-support"]
    }
  }
}

→ 开始使用 介绍 Claude Code、Cursor、 Codex CLI 和 Claude Desktop,以及在将其用于你重视的机器之前需要做些什么。→ 权限 说明隐私授权,以及签名身份为何重要。

不确定这是否适合你?如果需要在设备群中批准它,请阅读 决定是否部署。如果你有具体任务要完成,请查看以下操作指南: UI 回归测试套件或 一线支持队列。


功能

功能说明指南
桌面自动化35 个工具,涵盖 13 个工具集:辅助功能树感知、AX 操作、模拟输入、屏幕截图、应用、窗口、Shell、偏好设置、文件系统、进程、launchd、统一日志、网络、软件包、抓取、规划与执行工具集与角色
角色预设配置,可选择工具集 并 注入工作流指导工具集与角色
凭据Agent 无需获知机密即可登录应用和网站:Credentials 工具没有读取模式,注入操作要求使用安全文本字段,并且每种退出路径都会移除钥匙串项目凭据
会话录制设置 transparency.recording_dir 后,整个会话会录制到一个带时间线标记的 .mov 文件中会话录制
操作流程以声明式定义的 UI 操作流程,可离线验证、通过规划器运行,并从人工操作会话中录制操作流程
紧急停止开关带外分级遏制:隔离(pf)、终止进程、锁定、关机,并在此之前先完成录制并撤销凭据安全架构
MCP 一致性每个 PR 都会依据最新发布的规范检查已实现的协议行为MCP 合规性

工具

工具集默认启用工具
screen是Snapshot、Screenshot、DisplayInventory、Recording
interaction是Click、Type、Invoke、GetText、Scroll、Move、Shortcut、Wait、WaitFor、MultiSelect、MultiEdit
apps是App
system是Clipboard、Process、Notification
system-adminDefaults、LaunchdJob
shellShell、LaunchExecutable
filesystemFileSystem
webScrape
diagnosticsSystemInfo、Service、UnifiedLog、Network
packagesPackage
credentialsCredentials(通过 --credentials-file 启用)
testingAssert、CaptureEvidence
planningPlan、Apply
alwaysGuardrailStatus、Kill

有四个名称与 Windows 服务不同,因为它们指代不同的子系统:Defaults(Registry)、Shell(PowerShell)、LaunchdJob(ScheduledTask)和 UnifiedLog(EventLog)。其他所有内容,包括操作流程词汇,都完全相同。

资源:macos://desktop/snapshot、macos://desktop/displays、macos://session/recording、macos://system/info。提示词:rpa-journey、triage-support-issue、capture-evidence。

macos-mcp-server personas                       # first-line-support, qa-test-engineer, business-user
macos-mcp-server stdio --persona qa-test-engineer
macos-mcp-server stdio --toolsets screen,interaction,apps --read-only
按设计无法自动化的内容

登录窗口、锁定屏幕、Touch ID 和密码面板、TCC 同意对话框,以及安全文本字段的内容。这些是系统自身的信任边界;服务不会尝试越过它们。


安全

📐 安全架构 · 📄 策略配置 · 🔎 安全评估

策略引擎位于 MCP 客户端与工具之间:

MCP client ──▶ audit ──▶ rug-pull ──▶ policy engine ──▶ tool handler
                                            │
                                      device signals
macos-mcp-server stdio --policy-config "/Library/Application Support/MacOSMCP/policy.json"

未指定 --policy-config 时,将应用内置默认策略:引擎会运行,评估每个已声明的信号并记录每项判定,但不会拒绝任何操作。在编写策略之前,采用该引擎不会破坏正常运行的部署。

on_fail效果
allow继续执行;仍会记录失败
warn继续执行,并将警告随结果一并返回,以便模型看到
hold调用会等待带外人工授权;若未获授权则拒绝
deny拒绝此次调用,并在下次重新评估
kill触发终止开关并启动遏制阶梯
macos-mcp-server policy validate --policy-config policy.json   # document + signal ids; exit 1
macos-mcp-server policy check    --policy-config policy.json   # this device now; exit 2 if not admitted
macos-mcp-server policy explain  --policy-config policy.json --tool Shell
macos-mcp-server policy test     policy/examples/tests/*.json  # fixtures, in CI
macos-mcp-server audit verify    "/Library/Application Support/MacOSMCP/audit"
macos-mcp-server evidence bundle --dir ... --session 20261007-120000

policy/examples/ 中附带了七个起始策略:audit.json(建议先采用,不拒绝任何操作)、secure.json、enterprise.json、locked-down.json、egress.json、dual-control.json 和 evidence-export.json。

信任模型

本地设备信号是可审计的纵深防御措施,并非坚固的边界:root 可以伪造这些信号,而且隐私授权基于签名身份,而非二进制文件的哈希。遏制层会提高会话内攻击的代价并记录相关情况;请将其与 MDM、Gatekeeper 和公证、Platform SSO 和 Conditional Access 以及 FileVault 配合使用。在信任设备安全态势之前,值得了解 macOS 的两点特性:pf 按套接字所有者过滤,因此“限定范围”出口层约束的是控制台用户,而非指定应用;此外,安全态势信号采用 Windows 命名,但文档说明了 macOS 上的对应含义。这两点都在评估报告中详细说明。


MCP 合规性

每个 PR 都会针对最新发布的 MCP 规范版本运行必需的 MCP 规范检查。该检查会捕获产品实际公布的功能范围和原始线路响应,根据已发布的架构检查定义和安全的方法调用,并在需要评估更新的规范版本时失败。检查覆盖此服务实现的功能,不会为未实现的可选功能计算百分比。参见 MCP 规范检查。


架构

cmd/macos-mcp-server     cobra/viper CLI (stdio transport; conformance-serve only behind a tag)
internal/macmcp          RunStdio orchestration, probes, credentials, permissions, policy ops
internal/macdesktop      the engine: accessibility tree, CGEvent input, ScreenCaptureKit
                         screenshots, screencapture recording, keychain, launchd, log, network
internal/macguard        pf egress enforcer, networksetup system proxy, containment actuator
internal/clirunner       argv-only process runner with a rebuilt environment
internal/acceptance      the tart-lab acceptance suite (MACOS_MCP_ACC=1)
pkg/macos                tool definitions, toolsets, personas, resources, prompts
mcp-server-core          (imported) inventory, toolkit, surface, guardrail runtime, journeys,
                         schema loader, conformance fixtures and host
agentweave-harness       (imported) policy engine, audit chain, rug-pull, kill switch, egress proxy
policy/examples          starting-point policy documents, with fixtures under tests/
schema/                  vendored MCP protocol schemas, one directory per revision

所有辅助功能、事件和 AppKit 工作均通过 Desktop.Do 在进程主线程上运行;工具处理程序则通过接收中间件从请求上下文获取依赖项。


开发

make check              # vet, test, lint
make sign-dev           # a stable local signing identity so TCC grants survive rebuilds
make conformance        # validate the implemented product behavior
make release-snapshot   # goreleaser dry run, unsigned

发布由 release-please 切分,并通过 release.yml 构建:一个 arm64 二进制文件,经 Developer ID 签名和公证后,打包为 tarball 和 Claude Desktop .mcpb。发布还附带 CycloneDX SBOM 和无密钥 cosign 签名;经过测试的 cask 会发布到 deploymenttheory/homebrew-tap。在资源通过验证前,发布版本会保持为草稿。安装和升级方法请参阅入门指南。


文档

docs/:设置与配置指南、安全架构与评估、旅程词汇表及合规性报告。

许可证

MIT,详见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。