Skip to main content
Glama

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). δΈ­ζ–‡ζ–‡ζ‘£

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   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.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 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.

Related MCP server: desktop-touch-mcp

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.

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 Desktop β€” claude_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 and the Safety Annotations section of TOOLS.md before deploying. Recommended: run with --confirm-write (or NUPHUS_MCP_CONFIRM_WRITE=1) so write tools require an explicit "confirm": true argument.

License

MIT

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

–Maintainers
<1hResponse time
0dRelease cycle
4Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    -
    quality
    F
    maintenance
    An open-source MCP server for macOS and Windows that provides native desktop control via Accessibility APIs, OCR, and Chrome CDP. It enables AI agents to interact with applications, manage browser sessions, and automate workflows with high-speed native UI actions.
    Last updated
    98
    10
    AGPL 3.0
  • A
    license
    -
    quality
    A
    maintenance
    The local MCP server that gives any AI agent safe desktop control. Provides 6 compact tools (computer, accessibility, window, system, browser, task) for cross-platform GUI automation with ground-truth verification.
    Last updated
    50
    391
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    An MCP server that gives any AI assistant eyes and hands on your desktop β€” screenshots, clicking, typing, OCR, window management, accessibility-tree queries, workflow recording.
    Last updated
    5
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mrpulor-gh/nuphus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server