🚀 Wayland MCP Server

by someaka

358 downloads Not rated yet
GitHub

About

Wayland MCP Server provides screenshot, analysis, mouse and keyboard control tools for modern Linux desktops running the Wayland display protocol. It is intended for users who need reliable screenshot and input simulation capabilities that existing solutions may not support…

Explore

- 📸 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

---

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name 🚀 Wayland MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

./setup.sh
View setup.sh on GitHub

Configures permissions for evemu-event to control input devices.

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

---

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "\ud83d\ude80 wayland mcp server": {
            "wayland-screenshot": {
                "command": "uvx",
                "args": [
                    "wayland-mcp"
                ],
                "env": {
                    "OPENROUTER_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"
                }
            }
        }
    }
}

McpServers

{
    "wayland-screenshot": {
        "command": "uvx",
        "args": [
            "wayland-mcp"
        ],
        "env": {
            "OPENROUTER_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"
        }
    }
}

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.