Mac控制MCP服务器
这是一个模型上下文协议(MCP)服务器,允许通过AI接口控制macOS。它提供了执行AppleScript、控制鼠标和键盘以及检索系统信息的工具。
特性
- 执行任意AppleScript命令
- 控制鼠标移动和点击
- 模拟键盘输入
- 打开应用程序
- 检索系统信息
- 新:通过LLM集成使用自然语言控制您的Mac
设置
- 安装依赖项:
npm install- 运行MCP服务器:
npm start- 用于LLM集成:设置LLM API密钥并运行LLM服务器:
export LLM_API_KEY=your-api-key-here
npm run serve使用LLM接口
我们添加了一个web界面,允许您通过LLM使用自然语言命令控制Mac。要使用它:
- 运行LLM服务器:
npm run serve- 打开浏览器并导航到
http://localhost:3000
- 输入自然语言命令,如:
- “打开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
- 考虑使用配置选项禁用不需要的功能
- 在具有适当访问控制的安全环境中运行
许可证
麻省理工学院
