AgentStack
MCP verified MIT Self-run

Nuphus Mcp

mcp-mrpulor-gh-nuphus-mcp · by mrpulor-gh

Desktop automation MCP server — computer use for any AI agent: control screen, windows, mouse/keyboard, and Chrome via Model Context Protocol (stdio)

No reviews yet
0 installs
1 views
0.0% view→install

Install

$ agentstack add mcp-mrpulor-gh-nuphus-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-mrpulor-gh-nuphus-mcp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
today

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Nuphus Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

nuphus-mcp

Desktop automation MCP server — computer use for any AI agent. See the screen, control windows/mouse/keyboard, and drive Chrome over the Model Context Protocol (stdio). Desktop & browser automation need no API key; OCR runs locally; vision plugs into your own vision LLM (OpenAI-compatible, BYOK).

nuphus-mcp is a lightweight, cross-platform desktop automation MCP server that exposes desktop + browser automation as standard MCP tools. It speaks JSON-RPC 2.0 over stdio — no daemon, no network service, one binary. Claude Desktop, Cursor, VS Code, Copilot, or any MCP client can connect and immediately control the screen, windows, keyboard/mouse, and Chrome — computer use for any AI agent — desktop & browser automation need no API key; local OCR is built in; vision works with your own vision LLM (OpenAI-compatible, BYOK).

> 🇨🇳 Mainland China mirror: this repo is mirrored on > Gitee for fast in-China access > (Chinese docs served by default there). [中文文档](README.zh-CN.md)

┌──────────────────┐   stdio JSON-RPC   ┌──────────────────────┐
│  Any MCP Client  │  ───────────────►  │      nuphus-mcp      │
│  (Claude/Cursor/ │  ◄───────────────  │  desktop-api crate   │──► screen/window/mouse/keyboard
│   Nuphus itself) │  single-line JSON  │  nuphus-browser crate│──► Chrome (CDP)
└──────────────────┘                    └──────────────────────┘

Features

  • 36 MCP tools (15 desktop + 21 browser) — screenshots, window control,

mouse/keyboard, Chrome CDP automation, and more — see [TOOLS.md](TOOLS.md) / [TOOLS.zh-CN.md](TOOLS.zh-CN.md) for the full reference.

  • Desktop automation: screen size, screenshot (BMP/base64), window list,

window activate/screenshot/move/resize/info, mouse click/drag/scroll/position, keyboard input/hotkey, clipboard write/clean — implemented on the desktop-api crate (xcap + Win32, no Tauri dependency).

  • Computer vision pair: desktop_vision (BYOK — send a screenshot to your

own vision model via an OpenAI-compatible API) + desktop_perceive (local OCR with PaddleOCR, models auto-downloaded on first run; optional YOLO icon detection). Used together they give AI agents both semantic understanding and pixel-precise coordinates — the battle-tested vision→perceive flow from the Nuphus desktop app. See [TOOLS.md](TOOLS.md) for BYOK env vars, model setup, and the recommended flow.

  • Browser automation: navigate, snapshot (accessibility tree with @N

refs), click, type, exec, scroll, extract, screenshot, evaluate, back/forward, wait_for, cookies get/set/import, upload, tabs, downloads — implemented on nuphus-browser (chromiumoxide CDP).

  • Zero-cost stdio: no HTTP server, no daemon. The process reads

single-line JSON from stdin and writes responses to stdout.

  • Safety-first: destructive tools are annotated per the MCP spec; optional

strict-confirm mode; path validation for screenshot/upload.

Repository Layout

nuphus-mcp/
├── Cargo.toml                  # workspace root
├── TOOLS.md / TOOLS.zh-CN.md   # 36-tool reference
├── crates/
│   ├── nuphus-mcp/             # MCP Server (this repo's product)
│   ├── nuphus-browser/         # Browser automation core (CDP)
│   └── desktop-api/            # Desktop control core (vendored)
└── ...

Prerequisites

  • Rust toolchain (stable) — build from source with Cargo.
  • Chrome or Edge — required for browser tools. The server auto-detects an

installed browser; if none is found, browser_* tools return a clear error.

  • Windows recommended for full desktop control — see Platform Support below.

Platform Support

| Platform | Browser tools | Desktop tools | |----------|---------------|---------------| | Windows | Full | Full (Win32 API) | | macOS | Full | Desktop input requires Accessibility permission (System Settings → Privacy & Security → Accessibility) | | Linux | Available | Partial — window/input capabilities are limited |

API Keys & Local Models

Vision — BYOK, OpenAI-compatible

desktop_vision uses your own vision model through an OpenAI-compatible Chat Completions endpoint. Nothing is required unless you call this tool — and when it is not configured the tool returns a clear error instead of silently failing.

| Environment variable | Required | Default | Description | |----------------------|----------|---------|-------------| | NUPHUS_MCP_VISION_API_KEY | ✅ | — | API key for your vision model | | NUPHUS_MCP_VISION_BASE_URL | — | https://api.openai.com/v1 | OpenAI-compatible base URL | | NUPHUS_MCP_VISION_MODEL | ✅ | — | Model id, e.g. gpt-4o-mini, qwen-vl-max |

Perceive models (local, auto-downloaded)

desktop_perceive runs PaddleOCR locally with ONNX Runtime. The first call downloads the OCR models automatically into %APPDATA%\Nuphus\models (or NUPHUS_MODELS_DIR). Download failures return a clear error with manual instructions. YOLO icon detection (icon_detect.onnx) is an optional enhancement and is not auto-downloaded. See [TOOLS.md → Vision & Local Models](TOOLS.md#vision--local-models).

All other tools need no API key.

Install & Run

Install via npm (recommended — all platforms, prebuilt binaries):

npm install -g @nuphus/nuphus-mcp

The nuphus-mcp meta package installs the prebuilt binary for your platform automatically (Windows x64/arm64, macOS arm64, Linux x64/arm64) and puts the nuphus-mcp command on your PATH. No Rust toolchain needed:

nuphus-mcp   # stdio MCP server

Build from source (requires the Rust toolchain):

cargo build --release -p nuphus-mcp
# binary at target/release/nuphus-mcp(.exe)

The server reads newline-delimited JSON from stdin and writes JSON-RPC responses to stdout. Logs go to stderr.

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

MCP Client Configuration

Point any MCP client at nuphus-mcp. After npm install -g @nuphus/nuphus-mcp the command is on your PATH; otherwise use the absolute path to the binary (nuphus-mcp / nuphus-mcp.exe).

Claude Desktopclaude_desktop_config.json:

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

Any MCP client (generic mcpServers JSON):

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

Supported MCP methods: initialize, notifications/initialized, ping, tools/list, tools/call.

Demo

A self-contained stdio client that walks through initialize → tools/list → tools/call:

cargo build -p nuphus-mcp
cargo run -p nuphus-mcp --example demo

Tests

cargo check --workspace
cargo test -p nuphus-mcp          # protocol + security + vision + models tests (28)

Safety

This server can physically control the machine it runs on. Read [SECURITY.md](SECURITY.md) and the [Safety Annotations section of TOOLS.md](TOOLS.md#safety-annotations) before deploying. Recommended: run with --confirm-write (or NUPHUS_MCP_CONFIRM_WRITE=1) so write tools require an explicit "confirm": true argument.

License

MIT

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.