Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-macos-use

一个基于Swift的MCP服务,通过macOS辅助功能API控制应用程序,支持打开应用、点击、输入文本等操作,并与Claude Desktop等MCP客户端兼容。

article

README

🚀 macOS 使用 MCP 服务器

本项目的模型上下文协议(MCP)服务器采用 Swift 编写,它借助 MacosUseSDK,允许通过 Accessibility API 控制 macOS 应用程序。你可以将其与 Claude Desktop 或其他兼容的 MCP 客户端搭配使用。该服务器通过标准输入/输出(stdio)监听 MCP 命令,还提供了多种工具用于与应用程序进行交互。

GitHub 资产链接

🚀 快速开始

构建与运行

要构建和运行服务器,请执行以下命令:

swift build

然后运行:

./mcp-server-macos-use/.build/debug/mcp-server-macos-use

集成示例

若要在配置文件中指定 MCP 服务器的位置,以 Claude Desktop 为例:

{
    "mcpServers": {
        "mcp-server-macos-use": {
            "command": "/path/to/your/project/mcp-server-macos-use/.build/debug/mcp-server-macos-use"
        }
    }
}

请将 /path/to/your/project/ 替换为你项目的真实绝对路径。

✨ 主要特性

  • 通过 Accessibility API 控制 macOS 应用程序。
  • 支持与 Claude Desktop 等兼容的 MCP 客户端配合使用。
  • 提供多种工具与应用程序交互。

📦 安装指南

本项目依赖 MacosUseSDK,它是一个用于与 macOS 应用程序交互的本地或外部 Swift 包。

💻 使用示例

可用工具

通过 CallTool MCP 方法,服务器提供了以下工具:

  1. macos-use_open_application_and_traverse
    • 描述:打开或激活指定应用程序,然后遍历其访问性树。
    • 参数
      • identifier (String, 必填):应用程序的名称、bundle ID 或文件路径。
  2. macos-use_click_and_traverse
    • 描述:在目标应用程序(由 PID 标识)窗口内的特定坐标处模拟鼠标点击,然后遍历其访问性树。
    • 参数
      • pid (Number, 必填):目标应用程序的进程 ID (PID)。
      • x (Number, 必填):点击的 X 坐标(相对于窗口/屏幕,取决于 SDK 行为)。
      • y (Number, 必填):点击的 Y 坐标。
  3. macos-use_type_and_traverse
    • 描述:在目标应用程序(由 PID 标识)中模拟输入文本,然后遍历其访问性树。
    • 参数
      • pid (Number, 必填):目标应用程序的进程 ID (PID)。
      • text (String, 必填):要输入的文本。

📄 许可证

文档未提及相关许可证信息。

📞 联系方式

如需帮助,请联系 matt@mediar.ai
Discord: m13v_


我们乐意根据你的需求定制此服务器,欢迎通过问题或邮件与我们联系。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client