About ๐ Wayland MCP Server
Wayland MCP Server provides screenshot, image-analysis, and input-control tools for Wayland desktops, for agents that need to operate Linux desktops. It supports custom VLM analysis, image comparison, mouse and keyboard actions, and action chaining.
Key features
- 01Wayland desktop screenshots
- 02Custom VLM image analysis
- 03Image comparison
- 04Mouse and keyboard control
- 05Chained input actions
Use cases
- 01Capture and analyze desktop screens
- 02Compare screen images across states
- 03Run sequences of mouse and keyboard actions
MCP support
The MCP server exposes Wayland desktop screenshot, image-analysis, mouse, and keyboard tools to MCP clients. Enabling input control gives the server full access to the mouse and keyboard.
Configuration
Local server config is the same for every client. Copy it into your clientโs MCP config file.
uvx wayland-mcpOPENROUTER_API_KEYSecretVLM_MODELXDG_RUNTIME_DIRWAYLAND_MCP_PORTDISPLAYWAYLAND_DISPLAYXDG_SESSION_TYPELocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your clientโs docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README๐ Wayland MCP Server
Note: This package was created because existing screenshot solutions didn't work reliably on my Wayland setup. Wayland MCP provides screenshot, analysis, mouse and keyboard control tools for modern Linux desktops.
โจ Features
-
๐ธ Screenshot & Analysis
- Custom VLM integration for image analysis
- Image comparison capabilities
-
๐ฑ๏ธ Input Simulation
- Mouse control (move, click, drag, scroll)
- Keyboard input (typing, key presses)
- Action chaining for complex sequences
โ ๏ธ Security Warning
WARNING: Enabling input control gives the MCP server full access to your mouse and keyboard. Only use with trusted MCP servers and models.
๐ Quick Start
๐ง Input Control Setup
./setup.sh
Configures permissions for evemu-event to control input devices.
โ๏ธ MCP Server Configuration
Add to your MCP server config (.roo/mcp.json):
{
"mcpServers": {
"wayland-screenshot": {
"command": "uvx",
"args": ["wayland-mcp"],
"env": {
"OPENROUTER_API_KEY": "your-api-key",
"VLM_MODEL": "qwen/qwen2.5-vl-72b-instruct:free",
"XDG_RUNTIME_DIR": "/run/user/1000",
"WAYLAND_MCP_PORT": "4999",
"DISPLAY": ":0",
"WAYLAND_DISPLAY": "wayland-0",
"XDG_SESSION_TYPE": "wayland"
}
}
}
}
๐ ๏ธ Development
git clone https://github.com/someaka/wayland-mcp
cd wayland-mcp
pip install -e .
๐ License
GPL 3
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.