Token导航 LogoToken导航TokenDH.com
Mac Use MCP logo
AI代理stdio官方级别未说明来源级核验

Mac Use MCP

MCP Server

mac-use-mcp

mac-use-mcp是一个零原生依赖的macOS桌面自动化工具,通过MCP协议提供鼠标、键盘和屏幕控制功能,适用于UI测试、工作流自动化和AI代理操作。

工具数

18

提示词数

0

GitHub Stars

5

资源数

0
工作流自动化TypeScriptClaudeClaude DesktopClaudeCursorWindsurfClineVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

antbotlab

提供方

antbotlab

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx mac-use-mcp

详细介绍

ant-09-banner-night-03

mac使用mcp

demo

\[!警告\] 此工具可以完全控制鼠标、键盘和屏幕。 请在沙盒环境中使用,以保护您的隐私,避免您的代理意外丢失数据。您对通过此工具执行的任何操作负责。

通过MCP实现macOS桌面自动化的零原生依赖。

让AI代理在macOS上用眼睛和手——点击、打字、截图和检查任何应用程序。

![CI](https://github.com/antbotlab/mac-use-mcp/actions/workflows/ci.yml) ](https://www.npmjs.com/package/mac-use-mcp) ](https://www.npmjs.com/package/mac-use-mcp) ![license](./LICENSE) ![TypeScript](https://www.typescriptlang.org/) macOS 13+

用例

  • 自动化UI测试 --单击按钮,使用验证元素状态 get_ui_elements,通过以下方式验证屏幕内容 screenshot
  • 桌面工作流自动化 --启动应用程序 open_application,填写表格 type_text,通过浏览菜单 click_menu
  • 基于屏幕截图的监控 --定期捕获屏幕区域 screenshot 用于视觉差异或警报
  • 无障碍检查 --使用查询UI元素树 get_ui_elements 用于质量保证和合规检查
  • AI代理计算机使用 --通过以下方式在macOS上为LLMs提供眼睛和手 screenshot, click, type_text,以及更多

为什么mac使用mcp?

  • 只是工作npx mac-use-mcp 并授予两个macOS权限。没有node-gyp,没有Xcode工具,没有构建步骤。
  • 18个工具,一台服务器 --屏幕截图、点击、按键、窗口管理、可访问性检查和剪贴板。
  • 英特尔和苹果Silicon上的macOS 13+ --没有原生插件,没有架构难题。

安装

要求: macOS 13+和Node.js 22+。服务器通过以下方式进行通信 标准 运输。

此软件包仅适用于macOS。它将拒绝在其他操作系统上安装。

没有构建步骤。没有本机依赖关系。只需运行:

npx mac-use-mcp
npx 将在首次运行时提示安装该软件包。使用 npx -y mac-use-mcp 跳过确认。
\[!提示\] 模型选择很重要。 桌面自动化涉及屏幕截图——在令牌使用中累积的动作循环。建议使用具有扎实推理、良好视觉和可靠工具调用的快速模型: |型号|供应商| |-------|----------| |双子座3 Flash |谷歌| |克劳德·十四行诗4.6 |人类学| |GPT-5 mini | OpenAI| |MiniMax-M2.5 | MiniMax| |Kimi K2.5 |登月AI| |Qwen3.5 |阿里巴巴| |GLM-4.7 |智普AI|

权限设置

mac使用mcp需要两个macOS权限才能运行。给他们一次,你就做好了。

无障碍

需要鼠标和键盘控制。

  1. 打开 系统设置 > 隐私和安全 > 无障碍
  2. 点击 + 按钮
  3. 添加您的MCP客户端应用程序(例如,Claude Desktop,您的终端模拟器)
  4. 确保已启用切换

屏幕录制

截图需要。

  1. 打开 系统设置 > 隐私和安全 > 屏幕录制
  2. 点击 + 按钮
  3. 添加您的MCP客户端应用程序
  4. 确保已启用切换
  5. 如果出现提示,请重新启动应用程序

验证权限

在授予权限并配置MCP客户端(请参阅下一节)后,使用 check_permissions 确认一切正常的工具:

> check_permissions
✓ Accessibility: granted
✓ Screen Recording: granted

MCP客户端配置

Claude Code

claude mcp add mac-use-mcp -- npx mac-use-mcp

Claude Desktop

添加 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}

OpenAI Codex

添加 ~/.codex/config.toml:

[mcp_servers.mac-use]
command = "npx"
args = ["-y", "mac-use-mcp"]

或者通过CLI:

codex mcp add mac-use -- npx -y mac-use-mcp

Google Antigravity

添加 ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}

Gemini CLI

添加 ~/.gemini/settings.json:

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}

VS Code / Copilot

添加 .vscode/mcp.json 在工作区中(或打开命令面板并运行 MCP:打开用户配置 用于全局设置):

{
  "servers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}

Cursor

添加 ~/.cursor/mcp.json (全球)或 .cursor/mcp.json (项目层面):

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}

Windsurf

添加 ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}

Cline

打开Cline的MCP设置(在Cline扩展面板中,单击MCP服务器图标),然后添加:

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}

Kiro

添加 ~/.aws/amazonq/mcp.json:

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}

工具

这个Node.js MCP服务器向任何兼容MCP的客户端公开了18个用于鼠标、键盘和屏幕控制的工具。

屏幕

工具说明
screenshot按标题(PNG或JPEG)捕获屏幕、区域或窗口
get_screen_info获取每个显示器的显示计数、分辨率、原点和比例因子
get_cursor_position获取当前光标坐标

输入

工具说明
click使用按钮、单击计数和修改器选项在屏幕坐标处单击
move_mouse将光标移动到某个位置
scroll在某个位置向上、向下、向左或向右滚动
drag在可配置的持续时间内从一个点拖动到另一个点
type_text在光标位置键入文本(支持Unicode、CJK和表情符号)
press_key按下按键或按键组合(例如。, "cmd+c", "Return")

窗口和应用程序

工具说明
list_windows列出所有可见窗口的位置和大小
focus_window激活应用程序并将特定窗口带到前面
open_application按名称启动应用程序
click_menu按路径单击菜单栏项(例如,“文件>另存为…”)

应用名称支持模糊匹配-- "chrome" 解析为 "Google Chrome", "code""Code"等等。

无障碍

工具说明
get_ui_elements通过辅助功能API查询UI元素-按角色或标题查找按钮、文本字段和其他控件

剪贴板

工具说明
clipboard_read以纯文本形式读取当前系统剪贴板
clipboard_write将文本写入系统剪贴板

效用

工具说明
wait暂停指定的持续时间(以毫秒为单位,0-10000,默认值500)
check_permissions验证可访问性和屏幕录制访问权限

例子

使用mac的常见工作流模式使用mcp工具:

特定窗口的屏幕截图

1. focus_window({ app: "Safari" })
2. screenshot({ mode: "window", window_title: "Safari" })

单击对话框中的按钮

1. get_ui_elements({ app: "Finder", role: "AXButton" })
   → finds "OK" button at position (500, 300)
2. click({ x: 500, y: 300 })

自动执行菜单操作

1. open_application({ name: "TextEdit" })
2. click_menu({ app: "TextEdit", path: "Format > Make Plain Text" })

在应用程序之间复制文本

1. focus_window({ app: "Safari" })
2. press_key({ key: "cmd+a" })       # select all
3. press_key({ key: "cmd+c" })       # copy
4. focus_window({ app: "Notes" })
5. press_key({ key: "cmd+v" })       # paste

运作原理

  • Swift二进制 处理鼠标输入(CGEvent)、屏幕捕获(CGWindowListCreateImage)、窗口枚举(CGWindowListCopyWindowInfo)和UI元素查询(Accessibility API)
  • AppleScript 处理键盘输入(系统事件 key code)、窗口焦点和菜单单击
  • Node.js MCP服务器 通过stdio协调一切,将MCP工具调用转换为系统操作
  • 没有原生Node.js插件 --Swift二进制文件是预编译的,并附带了npm包
  • 串行执行队列 防止系统操作之间的竞争情况

已知限制

  • 红杉上的屏幕录制提示:macOS 15显示每月的系统提示,要求重新确认屏幕录制访问。这是操作系统级别的行为,无法抑制。
  • 安全输入字段:密码字段和其他安全文本输入会阻止合成键盘事件。这是macOS的安全功能。
  • macOS 26上的键盘输入+:CGEvent键盘合成被静默阻止。键盘输入使用AppleScript(System Events key code)作为一种变通方法,在某些边缘情况下可能表现不同。
  • 系统对话框:由于macOS安全限制,某些系统级对话框(例如FileVault解锁、登录窗口)无法以编程方式进行交互。
  • 无头/CI:需要图形会话。不支持无头macOS环境(例如标准GitHub Actions运行器)。

故障排除

Permission prompts keep appearing

在“系统设置”>“隐私和安全”中为您的终端应用程序授予辅助功能和屏幕录制权限。可能需要重新启动终端。

macOS Sequoia permission dialogs

macOS 15(Sequoia)引入了更严格的权限提示。允许出现提示。这 check_permissions 该工具可以验证您当前的权限状态。

Secure input fields

一些密码字段和安全文本输入会阻止编程密钥事件。这是macOS的安全功能。使用 clipboard_write + press_key("cmd+v") 作为一种变通方法。

Screen recording shows black screenshots

确保您的终端应用程序获得了屏幕录制权限(而不仅仅是辅助功能)。授权后重新启动终端。

相关项目

  • 剧作家MCP --通过可访问性树实现浏览器自动化。mac将mcp用于仅限web的任务。
  • 躲猫猫 --使用ScreenCaptureKit实现macOS屏幕自动化。需要macOS 15+和Swift版本。
  • 很棒的mcp服务器 --整理整个生态系统中的MCP服务器列表。

贡献

贡献.md 用于开发设置和指南。

更新日志

安全

要报告漏洞,请参阅 安全.md.

支持

许可证

麻省理工学院 ©2026安博特实验室

______________________________________________________________________

macOS是苹果股份有限公司在美国和其他国家和地区注册的商标。

目录标签

目录标签

工作流自动化TypeScriptClaude桌面自动化本地部署UI测试AI代理操作macOS工具

支持客户端

Claude DesktopClaudeCursorWindsurfClineVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

来源包(packageName,安装包名)

mac-use-mcp

工具数量(toolCount,工具数)

18

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP