Native DevTools MCP
使用说明(Markdown 格式)
-
项目简介
- 这是一个基于 MCP(Model Context Protocol)的后端服务器实现,面向在本地桌面环境中为 AI 模型提供“眼睛”和“手”的能力。通过注册和执行多种工具(Tool),实现诸如截图、OCR、窗口与应用管理、以及模板图像匹配等功能,并可与具备 AppDebugKit 的应用进行深度交互。
-
主要功能点
- 提供通用工具(如 take_screenshot、click、type_text、find_text、load_image、find_image、get_displays、get_displays 等)以支持“看见”和“操作”桌面应用。
- 支持 AppDebugKit 的应用调试工具集合(app_connect、app_disconnect、app_get_info、app_get_tree、app_query、app_get_element、app_click、app_type、app_focus、app_screenshot 等)。
- 通过 JSON-RPC 2.0 风格的请求/响应进行通信,服务端实现了 MCP 的核心服务端接口:
- 获取服务器信息(get_info)
- 列出工具(list_tools)
- 调用工具(call_tool)
- 本地化运行:当前实现通过 stdio 传输,具备在本地、离线环境中对 AI 模型进行上下文提供和功能执行的能力;未来可扩展为 SSE/WebSocket 等传输。
-
安装步骤
- 构建与运行(本项目以 Rust 编写,提供两种常用方式):
- 直接从源码构建并运行(Release 构建后运行二进制)。
- 使用现成发行包或通过包管理器安装后直接运行。
- 运行后,MCP 服务器将通过标准输入输出对外提供 JSON-RPC 服务,客户端通过该通道发起请求。
- 构建与运行(本项目以 Rust 编写,提供两种常用方式):
-
服务器配置(MCP 客户端所需信息)
- 说明:MCP 客户端需要提供一个配置,用于指明要连接的 MCP 服务器的启动信息。该配置通常包含服务器名称、服务器启动命令(command)以及启动参数(args)。配置内容需为 JSON 格式,并包含以下字段:
- serverName(字符串):服务器在本地配置中的名称,如 "native-devtools"。
- command(字符串):启动 MCP 服务器的可执行文件路径或命令名,例如本仓库编译出的二进制名 "native-devtools-mcp"。
- args(数组):启动命令的参数列表,若无参数则为空数组。
- 配置示例(描述性文本,不作为代码呈现,便于理解):在客户端的配置中为该 MCP 服务器设置一个唯一名称,指向服务器二进制以及任何需要的启动参数,以便客户端在需要时能够启动并连接到 MCP 服务器。
- 说明:MCP 客户端需要提供一个配置,用于指明要连接的 MCP 服务器的启动信息。该配置通常包含服务器名称、服务器启动命令(command)以及启动参数(args)。配置内容需为 JSON 格式,并包含以下字段:
-
基本使用方法
- 启动服务器:根据你的环境选择上述任一方式启动服务器。
- 配置客户端连接:在 MCP 客户端的配置中添加该服务器的启动信息(serverName、command、args),以便客户端能够通过指定的命令启动并连接 MCP 服务器。
- 客户端与服务器交互:通过 JSON-RPC 的请求/响应格式,客户端可以调用服务器暴露的工具,例如 take_screenshot、find_text、app_connect、app_disconnect 等,服务器将返回执行结果或错误信息。
- 安全与权限:部分桌面交互工具在 macOS 需要系统权限(屏幕录制、辅助功能等),请按照服务器运行环境的要求完成系统权限配置。