关于 Hyprland MCP Server
Hyprland MCP Server 是一个非官方、轻量的 MCP 服务,将 Hyprland Wayland 合成器的命令行工具 hyprctl 的功能暴露给语言模型。适合希望用自然语言管理窗口、工作区和输入设备的 Hyprland 用户。项目目前处于实验性的 beta 阶段。
主要功能
- 01执行任意 hyprctl 命令
- 02查询显示器、工作区、窗口和输入设备
- 03切换工作区与调度窗口操作
- 04动态设置配置项并重新加载配置
- 05通过点击终止窗口的 kill 模式
适用场景
- 01用自然语言切换到指定工作区
- 02查询当前活动窗口的详细信息
- 03在语言模型协助下调整 Hyprland 配置
MCP 相关
该服务将 hyprctl 的各类功能封装为 MCP 工具(如 run_hyprctl_command、list_clients),供 MCP 客户端调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Hyprland MCP 服务
https://github.com/user-attachments/assets/b4fc1d26-ec04-451a-b7c9-7f87b44d9c9e
这是一个轻量、非官方的模型上下文协议(MCP)服务,可将 hyprctl 的全部功能开放给大模型。hyprctl 是用于 Hyprland Wayland 合成器的命令行接口。
此服务支持通过自然语言界面查询和控制 Hyprland 的窗口管理、布局、输入设备等功能。
注意: 此项目仍处于实验阶段,当前为 Beta 版。
🚀 快速开始
1. 克隆仓库
git clone https://github.com/stefanoamorelli/hyprmcp.git
cd hyprmcp
2. 获取 HYPRLAND_INSTANCE_SIGNATURE
echo $HYPRLAND_INSTANCE_SIGNATURE
3. 在 MCP 客户端中安装此服务
例如,在 Claude Desktop 中,按如下方式修改 ~/.config/Claude/claude_desktop_config.json 文件:
"Hyperland MCP Server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"subprocess",
"mcp",
"run",
"<global path of the repo>/hyprmcp/hyprmcp/server.py"
],
"env": {
"PYTHONPATH": "<global path of the repo>/hyprmcp",
"HYPRLAND_INSTANCE_SIGNATURE": "<your-hyprland-instance-signature>"
}
},
🧰 可用工具
| 工具名称 | 描述 |
|---|---|
run_hyprctl_command | 执行任意 hyprctl 命令。 |
get_version | 获取 Hyprland 版本和构建信息。 |
list_monitors | 列出所有已连接的显示器及其属性。 |
list_workspaces | 列出所有活动工作区。 |
list_clients | 列出所有窗口及其属性。 |
list_devices | 列出所有已连接的输入设备。 |
get_active_window | 显示当前活动窗口的详细信息。 |
list_layers | 显示合成器中的所有图层。 |
get_splash | 获取当前随机显示的启动消息。 |
dispatch_command | 向 Hyprland 分发命令。 |
set_keyword | 动态设置配置关键字。 |
reload_config | 强制重新加载 Hyprland 配置文件。 |
enter_kill_mode | 启用终止模式,以便通过点击关闭窗口。 |
这些工具让大模型能够无缝使用 Hyprland 的各项功能。
💡 使用示例
用户提示词:“切换到工作区 2。”
**MCP 服务操作:**执行 hyprctl dispatch workspace 2。
用户提示词:“当前活动窗口是什么?”
**MCP 服务操作:**执行 hyprctl activewindow -j 并返回详细信息。
🛠️ 开发
在本地运行服务进行开发:
mcp dev server.py
请确保 Hyprland 正在运行,且已设置必要的环境变量。
📚 参考资料
📜 许可证
MIT 许可证 © 2025 Stefano Amorelli
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。