Hyprland MCP Server について
Hyprland MCP Server は、Hyprland Wayland コンポジターのコマンドラインツール hyprctl の機能を LLM に公開する、非公式で軽量な MCP サーバーです。自然言語でウィンドウ、ワークスペース、入力デバイスを操作したい Hyprland ユーザーに向いています。現在は実験的なベータ版です。
主な機能
- 01任意の hyprctl コマンドの実行
- 02モニター、ワークスペース、ウィンドウ、入力デバイスの照会
- 03ワークスペースの切り替えとウィンドウ操作の実行
- 04設定キーワードの変更と設定の再読み込み
- 05クリックでウィンドウを閉じる kill モード
活用シーン
- 01自然言語による特定ワークスペースへの切り替え
- 02現在のアクティブウィンドウの詳細確認
- 03LLM の支援による Hyprland 設定の調整
MCP 対応
hyprctl の各機能を run_hyprctl_command や list_clients などの MCP ツールとして公開し、MCP クライアントから呼び出せるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Hyprland MCP サーバー
https://github.com/user-attachments/assets/b4fc1d26-ec04-451a-b7c9-7f87b44d9c9e
Hyprland Wayland コンポジターのコマンドラインインターフェースである hyprctl のすべての機能を、言語モデルに公開する軽量な非公式のModel Context Protocol(MCP)サーバーです。
このサーバーにより、自然言語インターフェースを通じて、Hyprland のウィンドウ管理、レイアウト、入力などを照会および制御できます。
注: このプロジェクトは実験段階であり、ベータ版です。
🚀 クイックスタート
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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。