Skip to content
VS Code

hypruse for VS Code

io.github.ilyaskhallouki/hypruse

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

client:VS Code transport:stdio runtime:pypi

Install hypruse in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "hypruse-screenshot-mode",
      "description": "HYPRUSE_SCREENSHOT_MODE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-readonly",
      "description": "HYPRUSE_READONLY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-confine",
      "description": "HYPRUSE_CONFINE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-auth-guard",
      "description": "HYPRUSE_AUTH_GUARD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-strict",
      "description": "HYPRUSE_STRICT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-mark",
      "description": "HYPRUSE_MARK",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-clipboard",
      "description": "HYPRUSE_CLIPBOARD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-journal",
      "description": "HYPRUSE_JOURNAL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-journal-max-bytes",
      "description": "HYPRUSE_JOURNAL_MAX_BYTES",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-journal-text",
      "description": "HYPRUSE_JOURNAL_TEXT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "hypruse-dryrun",
      "description": "HYPRUSE_DRYRUN",
      "password": true
    }
  ],
  "servers": {
    "hypruse": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "hypruse"
      ],
      "env": {
        "HYPRUSE_SCREENSHOT_MODE": "${input:hypruse-screenshot-mode}",
        "HYPRUSE_READONLY": "${input:hypruse-readonly}",
        "HYPRUSE_CONFINE": "${input:hypruse-confine}",
        "HYPRUSE_AUTH_GUARD": "${input:hypruse-auth-guard}",
        "HYPRUSE_STRICT": "${input:hypruse-strict}",
        "HYPRUSE_MARK": "${input:hypruse-mark}",
        "HYPRUSE_CLIPBOARD": "${input:hypruse-clipboard}",
        "HYPRUSE_JOURNAL": "${input:hypruse-journal}",
        "HYPRUSE_JOURNAL_MAX_BYTES": "${input:hypruse-journal-max-bytes}",
        "HYPRUSE_JOURNAL_TEXT": "${input:hypruse-journal-text}",
        "HYPRUSE_DRYRUN": "${input:hypruse-dryrun}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

hypruse in other clients