nuphus-mcp
A Rust MCP server that lets an agent control the desktop and the Chrome browser on your own computer
- 329 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The agent gets the same rights as you: mouse, keyboard, clipboard, windows and browser cookies
- By default write tools run without confirmation until you turn on --confirm-write
Install
- Works in
Manual install
npm install -g @nuphus/nuphus-mcpInstalls the prebuilt binary for your system, after which the nuphus-mcp command is on your PATH.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent gets the same rights as you: mouse, keyboard, clipboard, windows and browser cookies
- By default write tools run without confirmation until you turn on --confirm-write
This is third-party code. Review the repository files before installing.
What it does
nuphus-mcp is a small cross-platform Rust program that exposes computer control as a set of standard MCP tools. It talks to the client over stdio with JSON-RPC 2.0 and is a single executable with no daemon or network service. It connects to Claude Desktop, Cursor, VS Code, Copilot or another MCP client. There are 45 tools in all: 22 for the desktop and 23 for the browser. Desktop tools handle the screen, windows, mouse and keyboard, plus the clipboard. Browser tools work through the CDP protocol: they navigate to addresses and snapshot the accessibility tree with @N references. They also click, type and manage tabs, downloads and cookies. A separate group of seven tools works through the Windows UIA and macOS AX accessibility trees instead of pixel coordinates. The agent observes the interface, picks an element and acts, then verifies the state. For sight there is the desktop_vision and desktop_perceive pair. The first sends a screenshot to your own vision model. The second recognizes text locally with PaddleOCR.
Who it is for. For agent developers and testers who need AI-driven control of a desktop app or a browser.
Good fit when
- You need to automate a desktop program without an API: clicks, typing, switching windows
- The agent has to open a site in Chrome, read the accessibility tree and fill in a form
- You need a window screenshot and local text recognition without sending it to the cloud
- You want to attach the agent to an already running fingerprint browser through a debugging port
- You want the agent to act through the Windows UIA or macOS AX accessibility tree and check the result of each step
Not a fit when
- The task can be solved through a service API or the command line: driving the screen directly is slower and less reliable
- The computer holds open banking and mail sessions with no isolation: the agent gets the same freedom of action as you
- You are on Linux and expect the full desktop feature set: only part of the window and input capabilities is available there
- You need browser work without Chrome or Edge: the browser tools require one of them
Example request
Open my staging login page in Chrome, take an accessibility tree snapshot and show which fields the form has.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
NUPHUS_MCP_CONFIRM_WRITE- A value of 1 turns on strict confirmation of write tools.
NUPHUS_MCP_VISION_API_KEYsecret- Key of your image-capable model, needed only for desktop_vision.
NUPHUS_MCP_VISION_MODEL- Model id for desktop_vision.
NUPHUS_MCP_BROWSER_CDP_URL- Debugging port address of an external browser, for example http://127.0.0.1:9222.
Limitations
The browser tools need Chrome or Edge. Full desktop control works on Windows. On macOS the AX semantic mode, mouse and keyboard are available, but only after the Accessibility permission is granted. On Linux only part of the window and input functions works. The desktop_vision tool needs a key and the id of a model with image support. PaddleOCR models for desktop_perceive download on first run, so the first call takes longer.
How to disable. Remove the nuphus-mcp entry from the client config and restart it. Uninstall the program itself with npm uninstall -g @nuphus/nuphus-mcp.
FAQ
How do I install nuphus-mcp?
Run npm install -g @nuphus/nuphus-mcp. The meta package picks the prebuilt binary for your system (Windows x64 and arm64, macOS arm64, Linux x64 and arm64), so no Rust is needed. Then put the nuphus-mcp command in the client config.
How do I turn on confirmation for dangerous actions?
Start the server with the --confirm-write flag or set NUPHUS_MCP_CONFIRM_WRITE=1. Write tools are then rejected until the client passes the confirm: true argument. The variable applies to every MCP client on the machine at once.
Do I need an API key?
Desktop and browser control need no key, and text recognition runs locally. A key and a model id with image support are needed only by desktop_vision.
Which protocols does desktop_vision support?
OpenAI-compatible chat completions (the default) and Anthropic's native Messages API. The protocol is picked automatically from the host of NUPHUS_MCP_VISION_BASE_URL or set with NUPHUS_MCP_VISION_PROVIDER.
Can the server attach to my own browser?
Yes, through a debugging port, for example to a fingerprint browser. If the connection fails, the server returns an error and does not fall back to its own Chrome. A browser you opened stays open when the server exits.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server and Chrome extension that let the agent drive your already open browser with your logged-in sessions, all locally
A browser extension and local proxy that bring MCP tools into web chat UIs like ChatGPT, Perplexity and Grok
Hyperbrowser MCP
Hyperbrowser MCP Server
The official MCP server for Hyperbrowser cloud browsers: page scraping and crawling, structured data, Bing search and three browser agents
An MCP bridge to control your browser from a coding agent: a Chrome extension and a set of tab and page automation tools
An MCP server that drives your already open Chrome and stops to ask you about a 2FA code, a CAPTCHA, or a choice only you can make
An MCP server that lets an agent drive a real browser: open pages, click and fill forms through Playwright
README in short
Besides setup for popular clients, the author provides a plugin for DeepSeek Harness and a diagram of the exchange between client and server.