Loading languages...
WA

wayland-mcp

@someaka13

MCP Server for Wayland

wayland
linux
screenshot
input-control
vlm
desktop-automation

🚀 Wayland MCP Server

Status: WIP License: GPL3

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

View setup.sh on GitHub

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

# mcpServer Config

{
  "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"
      }
    }
  }
}

# stdio

uvx wayland-mcp
Transport:
stdio
Language:
Python
Created: 4/10/2025
Updated: 2/3/2026