Token导航 LogoToken导航TokenDH.com
MCP Macos Automation logo
运维云端stdio官方级别未说明来源级核验

MCP Macos Automation

MCP Server

mcp-macos-automation

一个通过AppleScript实现macOS UI自动化的MCP服务器,支持Messenger、Slack消息发送、应用程序控制和自定义AppleScript执行。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
JavaScriptClaude云端部署Claude

安装说明

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

作者 / 组织

nqkdev

提供方

nqkdev

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

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

命令预览

npx mcp-macos-automation

详细介绍

macOS 自动化 MCP 服务器

一个MCP(模型上下文协议)服务器,使AI助手能够使用AppleScript自动化macOS用户界面交互。

特点/特性

  • 信使自动化 - 通过Facebook Messenger应用程序发送消息
  • Slack 自动化 - 通过Slack应用程序发送消息,同时启用白名单保护
  • 应用程序控制 - 打开应用程序
  • AppleScript 执行 - 执行任意AppleScript以实现自定义自动化
  • 强大的冷启动处理能力 - 自动检测并等待应用程序完全加载
  • 基于剪贴板的输入 - 避免键盘布局问题(如VNI、Telex等)
  • Unicode支持 - 支持越南语、表情符号和特殊字符
  • 安全白名单 - 防止信息意外发送给错误的接收者
  • 可扩展的 - 容易添加新的自动化工具

安装

npm install
npm run build

用法

作为 npx 命令

构建完成后,您可以使用以下命令运行服务器:

npx mcp-macos-automation

在Claude桌面版中进行配置

添加到您的 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "macos-automation": {
      "command": "npx",
      "args": ["-y", "./mcp-macos-automation"],
      "env": {
        "WHITELISTED_SLACK_HANDLES": "user@company.com,general",
        "WHITELISTED_MESSENGER_HANDLES": "User One,User Two"
      }
    }
  }
}

或者如果你发布到npm:

{
  "mcpServers": {
    "macos-automation": {
      "command": "npx",
      "args": ["-y", "mcp-macos-automation"],
      "env": {
        "WHITELISTED_SLACK_HANDLES": "user@company.com,general",
        "WHITELISTED_MESSENGER_HANDLES": "User One"
      }
    }
  }
}

配置

环境变量

白名单中的Slack用户名 (可选)

  • 逗号分隔的Slack频道/私信白名单列表
  • 当设置时,仅允许向白名单中的频道发送消息
  • 名称必须与Slack中显示的名称完全一致
  • 示例: "user1,user2,general,random"

白名单中的信使句柄 (可选)

  • 逗号分隔的Messenger对话列表,用于设置为白名单
  • 设置后,仅允许向白名单中的收件人发送消息
  • 名称必须与Messenger中的显示完全一致
  • 示例: "User One,User Two,Family Group"

可用工具

发送Messenger消息

通过Facebook Messenger应用发送消息。

参数:

  • recipient (字符串,必填)- Messenger中显示的收件人姓名
  • message (字符串,必填) - 要发送的消息文本

要求:

  • 必须安装Messenger应用程序
  • 需要macOS辅助功能权限

安全:

  • 如果 WHITELISTED_MESSENGER_HANDLES 已设置,仅允许发送给白名单中的收件人
  • 防止意外地将信息发送给错误的人

发送Slack消息

通过Slack应用发送消息。

参数:

  • channel (字符串,必填) - 在Slack中显示的频道或人员名称
  • message (字符串,必填)- 要发送的消息文本

要求:

  • 必须安装Slack应用程序
  • 需要 macOS 辅助功能权限

安全性:

  • 如果 WHITELISTED_SLACK_HANDLES 设置后,仅允许向白名单中的频道发送消息
  • 防止意外向错误的人发送消息

打开应用程序

打开一个 macOS 应用程序。

参数:

  • application (字符串,必填) - 应用程序名称(例如,“Safari”,“Notes”)

执行AppleScript

执行任意AppleScript代码以实现macOS自动化。

参数:

  • script (字符串,必需)- 要执行的AppleScript代码

要求:

  • 根据脚本的不同,可能需要macOS无障碍访问权限
  • 脚本运行时设置为30秒超时

示例脚本:

  • 获取当前音量: output volume of (get volume settings)
  • 点击菜单项: tell application "System Events" to click menu item "New Window" of menu "File" of menu bar 1 of process "Safari"

macOS 权限

此服务器需要以下 macOS 权限:

  1. 无障碍访问 - UI自动化所需的(条件/设置)

- 进入“系统偏好设置”→“安全性与隐私”→“隐私”→“辅助功能” - 将终端(或您的集成开发环境)添加到允许列表中

  1. 自动化 - 在首次运行脚本时可能会提示

- 为想要控制的应用程序启用自动化功能

发展

开发模式下的监视模式:

npm run watch

安全注意事项

  • 此服务器以您的用户权限执行AppleScript
  • 白名单配置可防止意外将消息发送给错误的收件人
  • 仅与可信赖的人工智能助手一起使用
  • 在执行自动化脚本之前进行审查

扩展

添加新的自动化工具:

  1. 添加工具定义到 TOOLS 数组
  2. 创建处理函数
  3. 在工具处理器的switch语句中添加情况

故障排除

“操作不允许”错误:

  • 为您的终端/集成开发环境(IDE)授予无障碍权限

Messenger/Slack 自动化功能无法正常工作:

  • 确保应用程序已安装并登录
  • 检查键盘快捷键是否匹配(Slack 为 Cmd+K,Messenger 为 Cmd+F)
  • 服务器等待应用程序最多5秒以使其就绪
  • 消息使用剪贴板粘贴以避免键盘布局问题

超时设置:

  • 该服务器包含针对冷启动(应用程序未运行)的自适应延迟功能
  • AppleScript 执行超时时间为30秒

许可证

麻省理工学院(MIT)

目录标签

目录标签

JavaScriptClaude云端部署macOS自动化本地部署AppleScript执行消息机器人UI自动化安全白名单

支持客户端

Claude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

mcp-macos-automation

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP