mcpbeat Sign in

hypruse MCP Server

by ilyaskhallouki Your server? Claim it
local only

hypruse runs on your own machine — the client starts it, so there is no endpoint to ping. 571 installs a week from pypi. Last commit 13 Sep 2026.

Computer use for Hyprland: semantic desktop state over IPC, plus vision and native input

Installs per day peak 257 · avg 59 · +66% w/w
a month agotoday
571
Installs / week
pypi · hypruse
26
Stars
0 open issues
13 Sep 2026
Last commit
0 releases in 90 days
MIT
License
Python

What the code does

We read the source, 11 h ago · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

        proc = subprocess.run(argv, capture_output=True, text=True, timeout=10)
        path = display if display.startswith("/") else os.path.join(runtime, display)

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add hypruse -- uvx hypruse
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "hypruse": {
      "args": [
        "hypruse"
      ],
      "command": "uvx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.hypruse]
command = "uvx"
args = ["hypruse"]
.cursor/mcp.json
{
  "mcpServers": {
    "hypruse": {
      "args": [
        "hypruse"
      ],
      "command": "uvx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "hypruse": {
      "args": [
        "hypruse"
      ],
      "command": "uvx"
    }
  }
}

This one needs environment variables set before it will start: HYPRUSE_SCREENSHOT_MODE (How captures are returned: 'file' writes to XDG_RUNTIME_DIR and returns the path, 'image' returns the image inline. Use 'image' for clients that render MCP images but cannot read files, such as Claude Desktop.), HYPRUSE_READONLY (Set to 1 to expose only the observation tools (desktop, screenshot, zoom, ui, marks, binds, wait_for). The agent can see and narrate but cannot click, type, or launch.), HYPRUSE_CONFINE (Restrict input to a scope of windows and refuse everything outside it: 'launched' (only windows hypruse opened this session), 'class:firefox,kitty', or 'workspace:3,special:notes'. Unset means no confinement.), HYPRUSE_AUTH_GUARD (Refuse to click or type into system authentication dialogs (polkit, keyring prompts). On by default; 'strict' also refuses password fields in ordinary windows; 0 disables it.), HYPRUSE_STRICT (Set to 1 to refuse to act when the cursor or focused window moved since hypruse's last action, so the agent must re-read the desktop before retrying.), HYPRUSE_MARK (Set to 1 to make the agent's presence legible: tag every window it opens 'hypruse-owned' and flash an on-screen notice when it opens a window or captures the screen.), HYPRUSE_CLIPBOARD (Set to 1 to register the opt-in clipboard tool (never in read-only mode). Off by default because clipboards hold passwords.), HYPRUSE_JOURNAL (Record every tool call, refusals included, as one NDJSON line: 1 writes to XDG_STATE_HOME/hypruse/journal.ndjson, or give a path. Read it back with 'hypruse journal'. Off by default.), HYPRUSE_JOURNAL_MAX_BYTES (Rotate the journal once it reaches this size, keeping one previous generation alongside it. Set 0 to never rotate.), HYPRUSE_JOURNAL_TEXT (Set to 1 to record typed and copied text in the journal verbatim instead of as a length plus digest. Off by default because keystrokes are passwords; needed only to replay typing.), HYPRUSE_DRYRUN (Set to 1 for a rehearsal: every acting tool validates its arguments and runs every trust guard, then reports what it would have done and delivers no input.). The author declared them in the registry entry; get the values from the project itself.

Alternatives to hypruse

same job, measured the same way
Ui.Vision MCP
by a9t9

MCP server for browser and desktop automation: OCR, image recognition, real mouse and keyboard input

527 installs/wk local only
Computer Use
by hightemp

Local MCP server for desktop automation: mouse, keyboard, screen, windows, and processes.

35 installs/wk local only
Windows MCP
by cursortouch

An MCP Server for computer-use in Windows OS

4 868 installs/wk local only
Glovebox MCP
by segentic-lab

Sandboxed computer-use for AI agents: drive real browser + desktop apps in nested X11 windows

local only
GNOME UI MCP
by asattelmaier

GNOME Wayland desktop automation via AT-SPI discovery and Mutter input.

local only
Computer Use Omni
by jason26214

A 1:1 replica of Claude Desktop's computer-use tool surface, for Windows and the Claude Code CLI.

54 installs/wk local only
Electron Stagewright
by electron-stagewright

Agent-native MCP server for driving, inspecting, and asserting on real Electron desktop apps.

102 installs/wk local only
Capsulate
by capsulatedev

Real Linux and Windows desktop VMs for AI agents: exec, files, computer-use and snapshots via MCP.

36 installs/wk local only

hypruse — questions

Answers built from our own checks of this server.

Why is there no uptime for hypruse?
hypruse runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the pypi package hypruse was installed 571 times last week.
How do I connect hypruse?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It runs locally, so the command pulls hypruse straight from pypi; nothing to host, nothing to sign up for.
How many people use hypruse?
The pypi package hypruse was installed 571 times in the last week. Week over week that is +66%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is hypruse open source?
Yes — it is published under the MIT licence, written in Python and 26 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.