H

hypruse

MCP server · by IlyasKhallouki

Developer Tools Python v0.13.0

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

View source ↗ Website ↗ Generate config for multiple servers More servers

Install

registry version 0.13.0

Python
uvx hypruse

Setup by client

Pick your client — the config below is generated for this server (local stdio). Copy respects the “Pin version” switch above.

claude_desktop_config.json

{
  "mcpServers": {
    "hypruse": {
      "command": "uvx",
      "args": [
        "hypruse"
      ]
    }
  }
}

Format verified against the official Claude Desktop docs ↗.

Environment variables

Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.

  • 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.

GitHub

⭐ 34 stars · 最近更新于 18 天前 · MIT license

About this server

Distributed as Python, listed under Developer Tools. Review our MCP security guide before granting access to real data.

Frequently asked questions

How do I install hypruse?

Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.

Is hypruse free to use?

The MCP server itself is free to install. The source is public on https://github.com/IlyasKhallouki/hypruse. Any third-party service it calls may require its own API key and account.

Which clients support hypruse?

Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.

Add this badge

Publish this server? Link back with a badge on your README or site — copy either snippet.

Listed on MCPNav

Markdown

[![Listed on MCPNav](https://mcpnav.net/badge/hypruse.svg)](https://mcpnav.net/server/hypruse/)

HTML

<a href="https://mcpnav.net/server/hypruse/"><img src="https://mcpnav.net/badge/hypruse.svg" alt="Listed on MCPNav" height="20"></a>