这是一个轻量级的、非官方的模型上下文协议 (MCP) 服务器,它将 hyprctl(Hyprland 的命令行界面——Hyprland Wayland 合成器的 CLI)的所有功能开放出来,让语言模型可以查询和控制 Hyprland 的窗口管理、布局、输入等功能。通过自然语言接口,用户能够方便地查询并控制 Hyprland 的窗口管理、布局、输入等操作。
⚠️ 重要提示
该项目是实验性的,目前处于测试阶段。
git clone https://github.com/stefanoamorelli/hyprmcp.git
cd hyprmcp
HYPRLAND_INSTANCE_SIGNATUREecho $HYPRLAND_INSTANCE_SIGNATURE
例如,在 Claude Desktop 中,修改 ~/.config/Claude/claude_desktop_config.json 文件如下:
"Hyperland MCP Server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"subprocess",
"mcp",
"run",
"/hyprmcp/hyprmcp/server.py"
],
"env": {
"PYTHONPATH": "/hyprmcp" ,
"HYPRLAND_INSTANCE_SIGNATURE": ""
}
},
此服务器暴露了 hyprctl 的所有功能,提供了自然语言接口,允许查询并控制 Hyprland 的窗口管理、布局、输入等。
| 工具名称 | 描述 |
|---|---|
run_hyprctl_command |
执行任意的 hyprctl 命令。 |
get_version |
获取 Hyprland 的版本和构建信息。 |
list_monitors |
列出所有连接的显示器及其属性。 |
list_workspaces |
列出所有活动工作区。 |
list_clients |
列出所有窗口及其属性。 |
list_devices |
列出所有连接的输入设备。 |
get_active_window |
显示当前活动窗口的详细信息。 |
list_layers |
显示合成器中的所有层。 |
get_compositor_info |
获取合成器的信息。 |
get_keybindings |
获取所有键盘快捷键。 |
get_modifications |
获取对配置文件的修改。 |
reload_config |
重新加载配置文件。 |
# 查询显示器信息
mcp run hyperland_mcp_server.list_monitors
# 查询窗口信息
mcp run hyperland_mcp_server.get_active_window
# 查询工作区信息
mcp run hyperland_mcp_server.list_workspaces
# 运行服务器
python3 -m hyperland_mcp_server