macOS控制服务器

一个通过AI接口控制macOS的Model Context Protocol (MCP)服务器,提供执行AppleScript、控制鼠标键盘和检索系统信息的功能。

  • by Shayan5422
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Shayan5422/MCP_MAC_USE

使用说明

Mac控制MCP服务器

这是一个模型上下文协议(MCP)服务器,允许通过AI接口控制macOS。它提供了执行AppleScript、控制鼠标和键盘以及检索系统信息的工具。

特性

  • 执行任意AppleScript命令
  • 控制鼠标移动和点击
  • 模拟键盘输入
  • 打开应用程序
  • 检索系统信息
  • 新:通过LLM集成使用自然语言控制您的Mac

设置

  1. 安装依赖项:

    npm install
    
  2. 运行MCP服务器:

    npm start
    
  3. 用于LLM集成:设置LLM API密钥并运行LLM服务器:

    export LLM_API_KEY=your-api-key-here
    npm run serve
    

使用LLM接口

我们添加了一个web界面,允许您通过LLM使用自然语言命令控制Mac。要使用它:

  1. 运行LLM服务器:

    npm run serve
    
  2. 打开浏览器并导航到 http://localhost:3000

  3. 输入自然语言命令,如:

    • “打开Notes应用程序”
    • “键入‘Hello World’”
    • 单击位置x=500,y=300
    • “显示系统信息”

有关更多详细说明,请参阅 LLM集成指南.

配置

可以通过环境变量或Smithery配置面板配置服务器:

  • ENABLE_MOUSE_CONTROL:启用或禁用鼠标控制功能(默认值:true)
  • ENABLE_KEYBOARD_CONTROL:启用或禁用键盘输入功能(默认值:true)
  • ENABLE_APPLESCRIPT:启用或禁用AppleScript执行(默认值:true)

实现细节

此MCP服务器遵循标准MCP协议:

  • 使用STDIO进行通信(stdin/stdout)
  • 需要特定格式的JSON消息
  • 返回包含工具结果的JSON响应
  • 可以与支持MCP协议的任何LLM或AI系统集成

协议格式

输入格式

{
  "type": "tool_call",
  "data": {
    "id": "unique-id",
    "name": "tool_name",
    "params": {
      "param1": "value1"
    }
  }
}

输出格式

{
  "type": "tool_result",
  "data": {
    "id": "unique-id",
    "result": {
      "key": "value"
    }
  }
}

可用工具

AppleScript工具

  • run_applescript:执行任意AppleScript命令
  • open_应用程序:打开macOS应用程序
  • get_system_info:获取基本系统信息

键盘控制工具

  • 类型文本:通过键盘键入文本
  • 按键_打印:按带有可选修饰符的键盘键

鼠标控制工具

  • 鼠标点击:在特定坐标处单击鼠标
  • mouse_move:将鼠标移动到某个位置

部署在Smithery

此存储库包括在Smithery上部署所需的配置文件:

  • Dockerfile:定义容器构建
  • smithery.yaml:Smithery平台的配置

安全考虑

由于此MCP服务器可以控制您的Mac,因此应谨慎使用:

  • 注意不要允许在生产环境中任意执行AppleScript
  • 考虑使用配置选项禁用不需要的功能
  • 在具有适当访问控制的安全环境中运行

许可证

麻省理工学院