Skip to main content
Glama
wizardofweb125-lab

mcp-linux-desktop

MCP Linux Desktop

MCP server for full Linux desktop control — windows, mouse, keyboard, clipboard, audio, screenshots, OCR, notifications, accessibility tree, and system management. Works with any MCP-compatible AI agent.

Setup

cd mcp-linux-desktop
npm install

Add to your MCP config:

{
  "mcpServers": {
    "linux-desktop": {
      "command": "node",
      "args": ["/path/to/mcp-linux-desktop/server.js"]
    }
  }
}

Related MCP server: desk-mcp

Tools

Window Management

Tool

Description

window_list

List all open windows with IDs, names, geometry

window_focus

Focus a window by ID or name

window_close

Close a window

window_minimize

Minimize a window

window_resize

Resize and/or move a window

Mouse & Keyboard

Tool

Description

mouse_move

Move cursor to coordinates

mouse_click

Click (left/right/middle, single/double)

mouse_scroll

Scroll in any direction

mouse_drag

Drag from one position to another

mouse_location

Get current cursor position

keyboard_type

Type text

keyboard_key

Press key combo (e.g. ctrl+a, alt+Tab)

Apps & Files

Tool

Description

app_launch

Launch an application by name or command

app_list

List running graphical applications

file_open

Open a file or URL with its default app

Clipboard

Tool

Description

clipboard_read

Read clipboard contents

clipboard_write

Write text to clipboard

Audio

Tool

Description

volume_get

Get current volume and mute status

volume_set

Set volume (0-100) or toggle mute

Screen

Tool

Description

screenshot

Screenshot the screen or a region

screen_observe

Screenshot + screen metadata (resolution, active window, mouse position)

ocr_screen

Screenshot a region and extract text via OCR

Accessibility

Tool

Description

ui_elements

Read interactive UI elements (buttons, fields, menus) with screen coordinates via AT-SPI

System

Tool

Description

system_info

CPU, RAM, disk, uptime

process_list

List processes (optional name filter)

process_kill

Kill a process by PID or name

notify

Send a desktop notification

brightness_get

Get screen brightness

dbus_call

Call a DBus method (GNOME shell, systemd, etc.)

System dependencies

Required:

  • Node.js 18+

  • xdotool — window/mouse/keyboard control

  • xclip — clipboard (X11)

  • Python 3 + Pillow — screenshots

Optional:

  • wl-paste / wl-copy — clipboard on Wayland

  • tesseract-ocr + tesseract-ocr-fra — OCR

  • notify-send — desktop notifications

  • wpctl or pactl — audio control

  • gdbus — DBus calls

  • PyGObject + AT-SPI — accessibility tree (ui_elements)

Install on Ubuntu/Debian:

sudo apt install xdotool xclip python3-pil tesseract-ocr tesseract-ocr-fra \
  libnotify-bin pipewire-pulse gir1.2-atspi-2.0

Environment variables

Variable

Default

Description

DISPLAY

:1

X11 display to target

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wizardofweb125-lab/mcp-linux-desktop'

If you have feedback or need assistance with the MCP directory API, please join our Discord server