项目简介
这是一个基于Model Context Protocol (MCP) 构建的服务器应用,专为macOS设计。它能够持续捕获桌面视频,并提供高级的视觉分析能力,如文字识别(OCR)、应用及UI元素检测、鼠标活动追踪等。通过标准化的MCP接口,大型语言模型(如Claude)客户端可以调用这些能力,获取实时的桌面上下文信息,从而更好地理解用户当前的操作环境。
主要功能点
- 持续桌面录制: 保持一个30分钟的循环滚动录屏缓冲区。
- 视觉内容分析: 从屏幕捕获中提取文本、识别应用窗口、检测UI元素、追踪鼠标活动等。
- 即时分析: 按需分析最近N秒的桌面活动,并提供详细报告。
- 智能缓冲区管理: 自动管理录屏片段,确保始终拥有最新的30分钟数据。
- 高效性能: 利用macOS的硬件加速进行视频编码。
安装步骤
-
准备环境:
- 确保您的macOS版本在10.15或更新。
- 安装Node.js (版本18或更新)。
- 安装ffmpeg (例如使用Homebrew: 'brew install ffmpeg')。
- 在系统偏好设置 > 安全性与隐私 > 隐私 > 屏幕录制中,允许您将要运行此服务器的应用(如终端、iTerm、VS Code等)进行屏幕录制。
-
下载代码库: 打开终端,执行以下命令下载项目代码:
git clone https://github.com/Randroids-Dojo/mcp-desktop-dvr.git cd mcp-desktop-dvr -
安装依赖: 在项目目录下,运行以下命令安装所有必要的库:
npm install -
构建项目: 执行构建命令将TypeScript代码编译为JavaScript:
npm run build构建成功后,可执行文件将位于 'dist' 目录下。
服务器配置
此MCP服务器需要由支持MCP协议的客户端(如Claude Desktop)来启动和连接。您需要在客户端的配置文件中添加此服务器的启动信息。
例如,对于Claude Desktop,您需要在其配置文件(通常是一个JSON文件)的 'mcpServers' 部分添加一个新条目,例如命名为 '"desktop-dvr"'。该条目需要指定客户端如何启动此服务器进程:
- 'command': 应设置为 '"node"'。
- 'args': 应设置为一个包含一个元素的数组,该元素是 MCP 服务器主脚本的完整路径,例如 '"/path/to/mcp-desktop-dvr/dist/index.js"' (请将'/path/to/mcp-desktop-dvr'替换为您实际下载代码库的路径)。
配置示例描述(非实际JSON代码):
您需要在客户端的MCP服务器配置列表中,添加一个键(例如 '"desktop-dvr"')。这个键对应的值是一个对象,该对象包含:
- 一个名为 'command' 的字段,其值为字符串 '"node"'。
- 一个名为 'args' 的字段,其值为一个字符串数组,数组中包含您构建好的服务器入口文件路径(例如 '/Users/您的用户名/mcp-desktop-dvr/dist/index.js')。
重要提示: 每次修改服务器代码并重新构建 ('npm run build') 后,请务必重启您的MCP客户端,以确保客户端加载的是最新版本的服务器代码。
基本使用方法
配置完成后并启动您的MCP客户端,客户端会自动启动MCP桌面录屏分析器服务器。
客户端(通过其集成的大模型)可以通过调用服务器暴露的工具来与其交互:
- 'start-continuous-capture': 调用此工具开始桌面的持续录制。可以指定 'fps' (每秒帧数) 和 'quality' (视频质量) 参数。
- 'stop-capture': 调用此工具停止桌面录制。
- 'get-capture-status': 调用此工具获取当前录制状态信息(是否正在录制、已录制时长等)。
- 'analyze-desktop-now': 调用此工具分析最近的桌面活动。可以指定 'duration_seconds' (分析时长,最大300秒) 和 'analysis_type' (分析类型,如 "ui_elements", "mouse_activity", "full_analysis") 参数。服务器将返回详细的分析结果供大模型理解。
用户无需直接与服务器进程交互,所有操作都通过与MCP客户端(及背后的大模型)的自然语言对话或客户端界面触发。
信息
分类
桌面与硬件