Token导航 LogoToken导航

MCP Server · AI代理

Macos Ui MCP

一个通过Accessibility API为AI代理提供原生macOS UI自动化能力的MCP服务器,支持元素发现、UI操作、窗口管理等功能。

未说明官方级别未说明来源级核验工具 0
SwiftClaudeAI代理

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
antst
提供方
antst

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

3

仓库热度

收录来源

1 个

MCP World

选型结论

Macos Ui MCP 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

macOS UI MCP服务器

模型上下文协议(MCP)服务器,通过Accessibility API为人工智能代理提供本机macOS UI自动化功能。

作者:安东·斯塔里科夫 许可证: EUPL-1.2

特性

  • 元素发现:导航和检查UI元素层次结构
  • UI操作:单击、键入、设置值并执行辅助功能操作
  • 高级鼠标:滚动、右键单击、双击、悬停、拖放
  • 菜单导航:导航菜单路径并获取菜单结构
  • 剪贴板操作:将文本和图像读/写到剪贴板
  • 窗口管理:获取/设置窗口边界、最小化、还原、提升
  • 文本选择:选择文本范围,获取所选文本
  • 元件检查:获取所有属性,突出显示元素,捕获元素
  • 文件对话窗口:导航、选择文件、设置文件名、确认/取消
  • 应用程序管理:启动、激活和退出应用程序
  • 元素观察:等待元素并监视状态变化
  • 键盘输入:键入文本并发送键盘快捷键
  • 截图:捕获窗口、区域或整个屏幕
  • 权限检查:验证访问权限

需求

  • macOS 26.0或更高版本
  • Swift 6.0+
  • 在系统设置中授予的可访问性权限

建筑

# Debug build
make build

# Release build (universal binary: ARM64 + x86_64)
make release

# Run tests (non-parallel to avoid UI conflicts)
make test

# Run the server
make run

# Install to /usr/local/bin
make install

# Show all available commands
make help

通用发布二进制文件将位于 .build/universal/macos-ui-mcp.

授予无障碍权限

  1. 打开 系统设置 > 隐私和安全 > 无障碍
  2. 点击 + 按钮
  3. 导航到构建的二进制文件或终端应用程序
  4. 启用切换

MCP配置

添加到您的Claude Code MCP配置中(~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "macos-ui": {
      "command": "/path/to/macos-ui-mcp"
    }
  }
}

可用工具

元素发现

工具说明
get_element_tree获取应用程序的UI元素层次结构
find_elements按角色、标题或标识符搜索元素

UI操作

工具说明
click点击一个元素
set_value设置输入元素的值
perform_action执行辅助功能操作(按、确认、取消等)
click_and_type单击一个元素,然后键入文本
click_and_wait单击元素并等待条件

应用程序管理

工具说明
list_applications列出正在运行的GUI应用程序
launch_application按捆绑包ID启动应用程序
activate_application将应用程序置于前台
quit_application退出应用程序

元素观察

工具说明
get_element_state获取元素的当前状态
wait_for_element等待元素与条件匹配

键盘输入

工具说明
type_text在最前面的应用程序中键入文本
send_shortcut发送键盘快捷键

截图

工具说明
capture_window捕获窗口屏幕截图
capture_region捕获屏幕区域
capture_screen捕获整个屏幕

权限

工具说明
check_permission检查是否授予了访问权限

高级鼠标交互

工具说明
scroll向任何方向滚动(上、下、左、右)
right_click右键单击元素以显示上下文菜单
double_click双击某个元素
hover将鼠标悬停在元素上
drag_drop将元素拖动到目标元素或坐标

菜单导航

工具说明
navigate_menu导航菜单路径(例如,“文件>另存为…”)
get_menu_structure获取应用程序的完整菜单层次结构

剪贴板操作

工具说明
read_clipboard从剪贴板读取文本或图像
write_clipboard将文本或图像写入剪贴板

窗口管理

工具说明
get_window_bounds获取窗口的位置和大小
set_window_bounds移动和/或调整窗口大小
list_windows列出应用程序的所有窗口
minimize_window最小化窗口
restore_window恢复最小化窗口
raise_window把窗户放在前面

文本选择

工具说明
select_text_range按开始/结束索引选择文本范围
get_selected_text获取当前选定的文本
select_all选择元素中的所有文本

元件检查

工具说明
get_all_attributes获取元素的所有可访问性属性
highlight_element在元素上显示视觉高亮覆盖
capture_element捕获特定元素的屏幕截图

文件对话框处理

工具说明
navigate_dialog导航到“打开/保存”对话框中的路径
select_file在“打开”对话框中选择文件
set_filename在“保存”对话框中设置文件名
confirm_dialog单击保存/打开按钮
cancel_dialog单击“取消”按钮

示例用法

计算器自动化

1. Launch Calculator:
   launch_application(bundle_id: "com.apple.calculator")

2. Type a calculation:
   type_text(bundle_id: "com.apple.calculator", text: "7+3")

3. Press equals:
   send_shortcut(bundle_id: "com.apple.calculator", key: "return", modifiers: [])

4. Get the result:
   get_element_tree(bundle_id: "com.apple.calculator", max_depth: 5)

5. Capture the result:
   capture_window(bundle_id: "com.apple.calculator")

查找和单击元素

1. Find a button:
   find_elements(bundle_id: "com.apple.calculator", role: "AXButton", title: "5")

2. Click using the returned path:
   click(bundle_id: "com.apple.calculator", path: {...})

菜单导航

1. Open a menu item:
   navigate_menu(bundle_id: "com.apple.TextEdit", menu_path: "File > Save As...")

2. Get all menu items:
   get_menu_structure(bundle_id: "com.apple.TextEdit")

文件对话框工作流

1. Navigate to Save As dialog:
   navigate_menu(bundle_id: "com.apple.TextEdit", menu_path: "File > Save As...")

2. Navigate to Desktop:
   navigate_dialog(bundle_id: "com.apple.TextEdit", path: "~/Desktop")

3. Set filename:
   set_filename(bundle_id: "com.apple.TextEdit", filename: "mydocument.txt")

4. Save:
   confirm_dialog(bundle_id: "com.apple.TextEdit")

窗口管理

1. List all windows:
   list_windows(bundle_id: "com.apple.finder")

2. Move and resize:
   set_window_bounds(bundle_id: "com.apple.finder", x: 100, y: 100, width: 800, height: 600)

3. Minimize:
   minimize_window(bundle_id: "com.apple.finder")

剪贴板操作

1. Copy text to clipboard:
   write_clipboard(text: "Hello, World!")

2. Read clipboard:
   read_clipboard()

元素路径

元素使用描述其在UI层次结构中位置的路径进行标识:

{
  "segments": [
    {"role": "AXApplication", "title": "Calculator"},
    {"role": "AXWindow", "title": "Calculator"},
    {"role": "AXButton", "identifier": "Five"}
  ]
}

每个分段可以通过以下方式匹配:

  • role:辅助功能角色(AXButton、AXTextField等)
  • title:元素标题
  • identifier:可访问性标识符
  • index:兄弟姐妹之间的位置

错误代码

代码描述
ELEMENT_NOT_FOUND路径中不存在元素
ELEMENT_STALE元素不再有效
PERMISSION_DENIED未授予无障碍权限
APPLICATION_NOT_FOUND应用程序未运行
APPLICATION_NOT_RESPONDING应用程序已挂起
OPERATION_TIMEOUT操作超出时间限制
QUEUE_FULL待处理的操作太多
INVALID_INPUT刀具参数无效
AX_ERROR可访问性API错误
MENU_NOT_FOUND在路径中找不到菜单项
MENU_NOT_OPENED打开菜单失败
CLIPBOARD_EMPTY剪贴板没有内容
WINDOW_NOT_FOUND找不到应用程序的窗口
WINDOW_OPERATION_FAILED窗口操作失败
TEXT_SELECTION_FAILED文本选择操作失败
INVALID_TEXT_RANGE选择范围超出界限
DIALOG_NOT_FOUND当前没有打开文件对话框

建筑

Sources/MacOSUIMCP/
├── main.swift              # Entry point
├── Server/
│   ├── MCPServer.swift     # JSON-RPC message handling
│   ├── StdioTransport.swift
│   └── Logger.swift
├── Tools/
│   ├── ElementTools.swift
│   ├── ActionTools.swift
│   ├── ApplicationTools.swift
│   ├── ObservationTools.swift
│   ├── KeyboardTools.swift
│   ├── ScreenshotTools.swift
│   ├── PermissionTools.swift
│   ├── MouseTools.swift        # scroll, right_click, double_click, hover, drag_drop
│   ├── MenuTools.swift         # navigate_menu, get_menu_structure
│   ├── ClipboardTools.swift    # read_clipboard, write_clipboard
│   ├── WindowTools.swift       # get/set_window_bounds, list_windows, minimize, restore, raise
│   ├── TextSelectionTools.swift # select_text_range, get_selected_text, select_all
│   ├── InspectionTools.swift   # get_all_attributes, highlight_element, capture_element
│   └── FileDialogTools.swift   # navigate_dialog, select_file, set_filename, confirm, cancel
├── Accessibility/
│   ├── AXElement.swift
│   ├── AXApplication.swift
│   ├── AXMenu.swift            # Menu traversal
│   └── ElementPathResolver.swift
├── Input/
│   ├── KeyboardSimulator.swift
│   └── MouseSimulator.swift    # Mouse event simulation
├── Screenshot/
│   └── ScreenCapture.swift
├── Clipboard/
│   └── ClipboardManager.swift  # NSPasteboard wrapper
├── Window/
│   └── WindowManager.swift     # Window AX operations
├── Highlight/
│   └── HighlightOverlay.swift  # Visual highlight overlay
└── Models/
    ├── Application.swift
    ├── Element.swift
    ├── ElementPath.swift
    ├── Errors.swift
    ├── ClipboardContent.swift
    ├── WindowBounds.swift
    ├── WindowInfo.swift
    ├── TextSelectionResult.swift
    ├── AttributeValue.swift
    ├── ElementAttributes.swift
    └── HighlightResult.swift

许可证

版权所有(c)2025安东·斯塔里科夫

根据欧盟公共许可证(EUPL)1.2版许可。 除非遵守许可证,否则您不得使用此作品。

看 许可证 文件以获取完整的许可证文本。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Swift本地部署UI自动化macOS开发AccessibilityAPIAI代理窗口管理

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Macos Ui MCP

MCP World · 本页

0未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Macos Ui MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Macos Ui MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Macos Ui MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Macos Ui MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Macos Ui MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP