使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的 UI 自动化服务器,旨在为 LLM 应用提供桌面 UI 上下文和操作能力。它允许 LLM 客户端通过标准化的 MCP 协议,控制桌面应用程序的 UI 元素,实现自动化操作。
主要功能点
- 资源访问: 允许 MCP 客户端通过灵活的元素选择器,访问和查询桌面应用程序的 UI 元素信息。
- 工具执行: 提供一系列预定义的工具,支持对 UI 元素执行点击、文本输入、按键等自动化操作。
- 跨平台支持: 服务器端代码具备跨平台潜力,当前主要在 macOS 上实现和测试,同时包含 Windows 和 Linux 平台的初步框架。
安装步骤
- 安装 Rust 环境: 确保您的开发环境中已安装 Rust 编程语言和 Cargo 包管理器。您可以访问 Rust官网 按照指引进行安装。
- 克隆仓库: 使用 Git 工具克隆 GitHub 仓库 'MCP-server-client-computer-use-ai-sdk' 到您的本地计算机。
- 进入目录: 打开终端,导航到克隆仓库的 'mcp-server-os-level' 目录:
cd MCP-server-client-computer-use-ai-sdk/mcp-server-os-level - 编译并运行服务器: 在 'mcp-server-os-level' 目录下,使用 Cargo 命令编译并启动 MCP 服务器:
服务器默认监听 'http://0.0.0.0:8080' 地址。cargo run --bin server
服务器配置
MCP 服务器主要通过命令行启动,无需复杂的配置文件。对于 MCP 客户端,您需要配置连接到该服务器的信息。以下是一个典型的 MCP 客户端配置示例 (JSON 格式),用于描述如何启动和连接到本 MCP 服务器:
{ "server name": "ui-automation-mcp-server", "command": "cargo run", "args": ["--bin", "server"] }
- 'server name': 自定义的服务器名称,用于在客户端配置中标识。
- 'command': 启动 MCP 服务器的命令,这里使用 'cargo run' 来直接运行 Rust 项目的 'server' 二进制文件。
- 'args': 启动命令的参数,'--bin server' 指定运行 'server.rs' 文件定义的二进制程序。
基本使用方法
- 启动服务器: 按照安装步骤启动 MCP 服务器。
- 客户端交互: 使用 MCP 客户端(例如,基于 JSON-RPC 协议的客户端库)向服务器发送符合 MCP 协议的 JSON-RPC 请求。
- 功能调用: 客户端可以调用服务器提供的工具函数,例如:
- 'initialize': 获取服务器能力信息。
- 'executeToolFunction': 执行预定义工具,如 'clickByIndex'(点击元素), 'typeByIndex'(输入文本), 'pressKeyByIndex'(按键), 'openApplication'(打开应用), 'openUrl'(打开URL), 'inputControl'(输入控制), 'listInteractableElementsByIndex'(列出元素)。
- 示例: 客户端可以发送 JSON-RPC 请求调用 'executeToolFunction' 工具,并传入相应的参数来控制桌面应用,例如模拟点击按钮、在文本框中输入内容等。
请参考仓库中 'mcp-client-nextjs' 和 'mcp-client-cli-interface' 目录下的客户端示例代码,了解如何与 MCP 服务器进行交互。
信息
分类
桌面与硬件