GhostDesk

data-ai MCP Server

Give any AI agent a full desktop — it sees the screen, clicks, types, and runs apps like a human. Automate anything with a UI: browsers, legacy software, internal tools. No API needed. One Docker command.

Verified
data-aidata-aidocker
10 views129 stars14 forksNOASSERTION

Why This Matters

Discovered via github-seeds and last synced 3mo ago.

Verified
Source
github-seeds
Stars
129
Last synced
3mo ago
Install
Check source

Install

Install instructions not detected yet

Check the source repository for the latest setup steps.

View source instructions
46
Tools
0
Resources
0
Prompts
Standard I/O
Transport

Available Tools (46)

Demo

Description

press_key

Press keys or combos (`ctrl+c`, `alt+F4`, `Return`...)

LOCALE

`en_US.utf8`

SCREEN_WIDTH

`1280`

launch

Start GUI applications

SCREEN_HEIGHT

`1024`

VNC

`vnc://localhost:5900` (password: `changeme`)

process_status

Check if a process is running and read its logs

VNC_PASSWORD

`changeme`

get_clipboard

Read clipboard contents

PORT

`3000`

screenshot

Capture the screen as a WebP image (pass `format="png"` for lossless). Pass `region=` to crop to a sub-rectangle at native resolution. Pass `grid=True` to overlay a coordinate ruler in margins around the image (absolute screen coordinates, works with `region=` too). Set `stabilize=False` to skip page stabilization checks (default: True, waits max 5 sec for page to stabilize)

type_text

Type with realistic per-character delays

set_clipboard

Write to clipboard

TZ

`America/New_York`

Service

URL

key_type

Type text with realistic per-character delays

Concern

How GhostDesk handles it

GHOSTDESK_SCREEN_HEIGHT

`1024`

mouse_double_click

Double-click at coordinates

GHOSTDESK_PORT

`3000`

Tag

Description

key_press

Press keys or combos (`ctrl+c`, `alt+F4`, `Return`...)

mouse_click

Click at coordinates

clipboard_set

Write to clipboard

Variable

Value

GHOSTDESK_VNC_ADDRESS

`127.0.0.1`

GHOSTDESK_VNC_PASSWORD

Password for wayvnc (username is `agent` in the prod image). Generate with `openssl rand -hex 16`.

GHOSTDESK_SCREEN_WIDTH

`1280`

Tool

Description

GHOSTDESK_AUTH_TOKEN

Bearer token required on every MCP request. Generate with `openssl rand -hex 32`.

LANG

`en_US.UTF-8`

GHOSTDESK_TLS_KEY

`/etc/ghostdesk/tls/server.key`

mouse_drag

Drag from one position to another

app_list

List the GUI applications installed on the desktop

GHOSTDESK_TLS_CERT

`/etc/ghostdesk/tls/server.crt`

mouse_move

Move the cursor to coordinates without clicking — reveals hover-only menus, tooltips, and CSS `:hover` states (e.g. Gmail action bar)

GHOSTDESK_ALLOWED_ORIGINS

*(empty)*

GHOSTDESK_HOST

`127.0.0.1` (standalone) / `0.0.0.0` (container)

clipboard_get

Read clipboard contents

mouse_scroll

Scroll in any direction (up/down/left/right)

app_launch

Start a GUI application by name

app_status

Check if an application is running and read its logs

app_running

List the application windows currently open — call before `app_launch` to avoid relaunching an app that is already there

screen_shot

Capture the screen as a WebP image (pass `format="png"` for lossless). Pass `region=` to crop to a sub-rectangle at native resolution. Tune `quality=` (1-100, default `50` — invisible on UI content, ~50% smaller than `80`; raise for fine fonts or design surfaces). Set `stabilize=False` to skip page stabilization checks (default: True, waits max 5 sec for page to stabilize)

GHOSTDESK_IDLE_TIMEOUT

`1800`