Nuphus 桌面自动化 MCP

让任何 MCP 客户端操控桌面与 Chrome。

Star 数
★ 329
最近更新
6 天前
License
MIT
主语言
Rust

30 秒速览

运行形态
MCP 服务器命令行工具
可在哪里用
通用 · 跨平台Claude.ai · OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
一个 MCP 客户端用于浏览器工具的 Chrome 或 Edge用于推荐的预构建安装的 npm,或用于源码构建的稳定 Rust 工具链仅在使用 desktop_vision 时需要视觉 API 密钥和模型 IDShell / 命令行网络访问本地文件系统MCP Server
典型场景
使用 Claude Desktop、Cursor 或其他 MCP 客户端的用户,希望让模型直接观察屏幕并操作窗口、鼠标和键盘。
不适合
  • 需要完整 Linux 桌面控制的团队——窗口与输入能力仅部分支持
  • 不愿授予辅助功能权限的 macOS 用户——桌面输入无法工作

这个 Agent 能做什么,适合哪些场景?

nuphus-mcp 是一个跨平台的 stdio MCP 服务器,把桌面控制和 Chrome 自动化暴露为 38 个标准 MCP 工具。其 Rust 工作区包含 MCP 服务器、基于 CDP 的 nuphus-browser,以及负责桌面控制的 desktop-api。它通过标准输入输出交换单行 JSON-RPC 2.0 消息,不运行守护进程或 HTTP 服务,可接入 Claude Desktop、Cursor、VS Code、Copilot 或其他 MCP 客户端。桌面与浏览器操作不需要 API 密钥;desktop_perceive 在本机运行 PaddleOCR,并可选用 YOLO 检测图标,而 desktop_vision 可调用用户自备的 OpenAI 兼容或 Anthropic 原生视觉模型。Windows 提供完整的浏览器和桌面能力,macOS 的桌面输入需要辅助功能权限,Linux 的窗口及输入能力则有限。

客户端通过 initialize、tools/list 和 tools/call 等 MCP 方法向 nuphus-mcp 发送 JSON-RPC 请求。15 个桌面工具可以读取屏幕尺寸、生成 PNG/base64 截图、列出和操控窗口,并执行鼠标点击、拖动、滚动、键盘输入、快捷键及剪贴板操作。desktop_perceive 使用本地 PaddleOCR 返回带坐标的文字元素,并可通过 ONNX Runtime 加载 YOLO 图标模型;desktop_vision 则把截图发送给配置好的视觉模型,以获得语义理解。23 个 browser_* 工具通过 nuphus-browser 和 chromiumoxide CDP 启动或连接 Chrome/Edge,可导航页面、生成带 @N 引用的无障碍树快照、点击、输入、执行脚本、提取内容、管理标签页、Cookie、上传和下载。服务从 stdin 读取换行分隔的 JSON,将 JSON-RPC 响应写到 stdout,并把日志写到 stderr;截图、上传和文件拖动路径还会经过校验。

  1. 使用 Claude Desktop、Cursor 或其他 MCP 客户端的用户,希望让模型直接观察屏幕并操作窗口、鼠标和键盘。
  2. 需要稳定 DOM 访问的自动化开发者,可用 browser_* 工具控制托管的 Chrome,完成导航、表单输入、内容提取、Cookie 和下载流程。
  3. 需要操作已有真实浏览器会话的用户,可通过 CDP 连接带调试端口的外部浏览器,或在无法使用 CDP 时改用 OCR、鼠标和键盘进行视觉自动化。
  4. 希望同时获得语义判断和精确坐标的智能体开发者,可组合 desktop_vision 与 desktop_perceive,实现“视觉理解后定位操作”的流程。
  5. 在 DeepSeek Harness 中构建桌面工作流的用户,可安装专用 dsh-nuphus-mcp 插件,或通过其 stdio MCP 客户端手动挂载本服务。

如何安装或部署这个 Agent?

推荐通过 npm 安装各平台的预编译二进制;该方式不需要 Rust 工具链:

npm install -g @nuphus/nuphus-mcp

安装后可直接启动 stdio 服务:

nuphus-mcp

也可以从源码构建,此方式要求稳定版 Rust 工具链:

cargo build --release -p nuphus-mcp

浏览器工具需要 Chrome 或 Edge。desktop_vision 只有在实际调用时才需要设置 NUPHUS_MCP_VISION_API_KEY 和 NUPHUS_MCP_VISION_MODEL;desktop_perceive 首次运行会通过网络下载 OCR 模型和 icon_detect.onnx。

如何使用这个 Agent?

建议先启用严格确认,使写操作必须显式传入 confirm: true:

nuphus-mcp --confirm-write

Claude Desktop 可使用以下配置:

{
  "mcpServers": {
    "nuphus-mcp": {
      "command": "nuphus-mcp",
      "args": ["--confirm-write"]
    }
  }
}

也可以用初始化请求进行冒烟测试:

echo '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test"}}}' | nuphus-mcp

若要使用 desktop_vision,请在 MCP 进程环境中提供视觉模型配置:

export NUPHUS_MCP_VISION_API_KEY="your-api-key"
export NUPHUS_MCP_VISION_MODEL="your-vision-model"

默认使用 OpenAI 兼容的 Chat Completions 协议和 https://api.openai.com/v1。使用 Anthropic 原生 Messages API 时,将 NUPHUS_MCP_VISION_BASE_URL 设为 https://api.anthropic.com/v1,服务可按主机自动识别,也可将 NUPHUS_MCP_VISION_PROVIDER 显式设为 anthropic。

这个 Agent 有哪些优点和局限?

优点
  • 一个 stdio MCP 服务同时提供 15 个桌面工具和 23 个浏览器工具,覆盖像素级输入控制与 CDP 级网页操作。
  • 桌面和浏览器自动化本身无需 API 密钥,OCR 在本机执行;只有可选的 desktop_vision 需要自备模型凭据。
  • 既能管理专用 Chrome 实例,也能连接外部 CDP 端点,并可通过可执行文件路径和用户数据目录重新发现变化后的调试端口。
  • 提供破坏性工具的 MCP 安全注解、可选严格确认模式,以及截图、上传和文件拖动的路径校验。
  • npm 元包提供 Windows x64/arm64、macOS arm64、Linux x64/arm64 的预编译二进制,同时保留 Cargo 源码构建方式。
局限
  • 完整桌面控制以 Windows 为主;macOS 需要授予辅助功能权限,Linux 的窗口和输入能力仅为部分支持。
  • browser_* 工具依赖 Chrome 或 Edge;若未检测到浏览器,相应工具会返回错误。
  • 默认情况下写工具无需确认,部署者需要主动启用 --confirm-write 或 NUPHUS_MCP_CONFIRM_WRITE=1 才能强制确认。
  • 本地感知模型会在首次调用时下载;网络失败可能需要手动安装,YOLO 下载失败时只能保留 OCR 结果。
  • Chrome 136 及以上版本不允许对默认用户数据目录启用远程调试,因此复用真实配置时需要专用托管配置、复制配置目录,或退回视觉桌面自动化。

这个 Agent 与同类方案有什么区别?

与完整的 Nuphus 桌面应用相比,nuphus-mcp 的定位是把相同类别的桌面与浏览器能力提供给任意 MCP 客户端。它不是 DeepSeek Harness/Cordis 插件;DSH 用户应优先安装 dsh-nuphus-mcp,手动接入时则需通过 @deepseek-ai/dsh-mcp-client 挂载 stdio 服务。对于浏览器控制,CDP 模式能访问 DOM、无障碍树、Cookie 和标签页;desktop_perceive 配合鼠标键盘则能操作正在运行的真实浏览器窗口,但没有 DOM 访问能力。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Nuphus 桌面自动化 MCP 当前 72 · 存在缺口 MCP 服务器免费 + 模型费 ★ 329 6 天前 Rust Claude.ai · OpenAI API · Claude API
Eko Agentic Workflow 43 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 5k 7 个月前 TypeScript OpenAI API · Claude API
Safari MCP 78 · 表现良好 MCP 服务器免费 ★ 225 今天 JavaScript Claude Code · Claude.ai
SuperAgentX 工作流框架 37 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 202 4 个月前 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
72/ 100 五分制 3.6 / 5
本评测基于 2026年9月11日 的源码;此后该项目发布了 5 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 16/29
可靠稳定 9/14
适用触发 16/18
规范维护 16/18
有效结果 10/13
证据核验 5/8
查看各维度的扣分理由
信任安全16 / 29 · 2.8/5

项目明确披露其可获得近似远程操作者的整机控制权,并建议避免提权、限制 stdin 访问;stdio、本地 OCR、可选外部视觉 API、模型下载位置和浏览器连接方式也有说明。路径校验、破坏性工具标注、剪贴板清理及依赖审计是实质保护,因此数据流、敏感数据处理、依赖安全和外部影响获中等分。但权限范围本质上极广,写操作默认无需确认,严格确认仅为可选配置;桌面点击、输入、导航、Cookie 修改等普遍缺乏通用回滚机制。归属可追溯到仓库、npm 包和“Nuphus Team”,但发布者身份未经验证且个人维护者信息不清晰,故不满分。

可靠稳定9 / 14 · 3.2/5

README、SECURITY 和工作流对架构、平台支持、安全模式及测试范围基本一致;缺少浏览器时、视觉未配置、模型下载失败和外部 CDP 失效均声明会返回明确错误。依赖与运行前提、自动探测、预构建平台包及发布前版本一致性检查处理得较好。扣分在于 Linux 桌面能力仅为部分支持、OCR/YOLO依赖首次联网下载、真实 Chrome 集成测试在普通 CI 中仍允许失败,且所述错误质量未由给出的实现代码直接展示。

适用触发16 / 18 · 4.4/5

文档覆盖通用 MCP 客户端、Claude Desktop、DSH、托管或外部 Chrome、指纹浏览器、保留登录状态、视觉模型以及各操作系统,受众和场景非常清楚。能力边界也明确区分桌面与 DOM 自动化、Chrome 136+ 限制、平台差异、BYOK 和外部浏览器所有权。环境适配说明十分具体。触发精度仅获中等分,因为当前材料未包含 TOOLS.md 的完整参数模式和逐工具触发条件,无法确认所有高风险工具的调用约束。

规范维护16 / 18 · 4.4/5

README 的结构、仓库布局、先决条件、平台矩阵、安装方式、客户端配置、演示与测试命令完整;产品名、命令、环境变量和工具前缀保持稳定。限制说明和 MIT 许可证文本充分,发布工作流还校验标签与各包版本一致并生成发行说明。扣分在于没有提供独立 FAQ 或变更日志文件;维护责任主要写作“Nuphus Team”,虽有安全报告渠道、响应承诺和仅支持最新版的策略,但责任主体和长期更新路径仍不够具体。

有效结果10 / 13 · 3.8/5

产品将桌面控制、窗口管理、本地 OCR、可选视觉理解和 Chrome CDP 集成为标准 MCP 工具,较单一浏览器或鼠标自动化具有明显增量价值。输出形式提到 PNG/base64、可访问性树引用、OCR 元素、JSON-RPC 和结构化错误,普通集成可用;但缺少完整工具参考和实际响应样例,无法判定全部输出的一致可消费性。基础桌面与浏览器功能无需 API 密钥,但视觉调用、模型下载、存储、首次启动和机器控制风险均有成本,“zero-cost”仅适用于较窄含义,因此未给满分。

证据核验5 / 8 · 3.1/5

README 的若干安全、平台、测试和发布主张可由 SECURITY、Cargo 工作区及 CI/发布工作流交叉支持,许可证也由元数据和 LICENSE 双重支持。工作流展示了静态可检查的测试、审计和发布门禁,但材料未包含核心实现、Cargo.lock、审计例外文件、TOOLS.md 或测试源码,因此38项工具、60项测试、路径校验细节及错误行为仍主要是项目自述。文档通常能区分默认行为、建议、限制和可选功能,但“battle-tested”和本地7/7等主张在所给材料中缺乏独立佐证。

风险与缓解建议
  • 该服务器默认允许无需确认的写操作;部署时应显式启用 --confirm-write 或 NUPHUS_MCP_CONFIRM_WRITE=1,并把任何可写入其 stdin 的进程视为拥有整机控制权。
  • desktop_vision 会把屏幕内容发送到用户配置的外部模型端点;截图可能包含凭据、私人消息或其他敏感信息,应在调用前审查端点、提示内容和数据保留政策。
  • 浏览器工具可读取或修改 Cookie、操作已登录会话;复制真实浏览器配置也会扩大凭据暴露面。建议使用隔离配置文件和低权限专用账户。
  • 首次 OCR/YOLO 使用会下载模型,且给出的材料未包含锁文件、审计例外内容或下载完整性机制;上线前应核验依赖、模型来源、校验方式及当前审计结果。
  • Linux 桌面功能被明确标为部分支持,macOS 需要 Accessibility 权限;真实 Chrome 集成测试在普通 CI 中尚非强制门禁。
证据充分度:低 评估于 2026年9月11日 审查版本 9b9ac4b224ff 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.3.3
    发布说明摘录
    Full Changelog: https://github.com/mrpulor-gh/nuphus-mcp/compare/v0.3.2...v0.3.3
    在 GitHub 查看 ↗
  2. v0.3.2
    发布说明摘录
    Full Changelog: https://github.com/mrpulor-gh/nuphus-mcp/compare/v0.3.1...v0.3.2
    在 GitHub 查看 ↗
  3. v0.3.1
    发布说明摘录
    What's Changed * fix(browser): serve on a big-stack thread and bound the remaining waits — fixes #10 by @mrpulor-gh in https://github.com/mrpulor-gh/nuphus-mcp/pull/11 New Contributors * @mrpulor-gh made their first contribution in https://github.com/mrpulor-gh/nuphus-mcp/pull/11 Full Changelog: https://github.com/mrpulor-gh/nuphus-mcp/compare/v0.3.0...v0.3.1
    在 GitHub 查看 ↗

常见问题

基础桌面和浏览器自动化需要付费 API 吗?
不需要。桌面控制、浏览器 CDP 自动化和本地 OCR 都无需 API 密钥;只有 desktop_vision 需要用户提供兼容视觉模型的 API 密钥和模型 ID。
它会启动网络服务或后台守护进程吗?
不会。它是单进程 stdio MCP 服务器,通过 stdin/stdout 交换单行 JSON-RPC 2.0 消息,日志写入 stderr。
能否直接控制我日常使用的 Chrome 默认配置?
Chrome 136 及以上版本会忽略针对默认用户数据目录的远程调试开关。可在 nuphus 托管的专用配置中登录一次、复制真实配置到非默认目录后启动调试端口,或使用桌面 OCR 与鼠标键盘操作实际窗口。
如何降低模型误操作机器的风险?
使用 --confirm-write 或设置 NUPHUS_MCP_CONFIRM_WRITE=1。严格确认模式会拒绝没有显式 confirm: true 的写操作;项目还提供破坏性工具注解和文件路径校验。
本地 OCR 或图标检测下载失败会怎样?
模型下载失败会返回包含手动安装说明的错误。YOLO 是可选能力;其下载失败时 desktop_perceive 仍会返回 OCR 元素,并报告 yolo_available: false。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents