Skip to main content
Glama
hlsitechio

omarchy-mcp

by hlsitechio

omarchy-mcp

omarchy-mcp

あらゆるMCP互換LLMに、Omarchy Linuxデスクトップの完全な制御を提供します。

omarchy-mcp は、AIコーディングエージェントを本物のデスクトップオペレーターに変えます。1つのMCPサーバーを通じて、エージェントはテーマと外観の管理、アプリの起動、スクリーンショットと録画の取得、オーディオとネットワークの制御、システム状態の読み取り、Hyprlandウィンドウとタイルレイアウトの操作、マルチエージェントワークスペース全体のオーケストレーションまで実行できます — 15モジュールにわたる108のツールを備えています。

このプロジェクトは1つのルールに基づいて構築されています: デスクトップの変更は、コマンドが実行されただけでは成功とはみなされません。 すべてのアクションは、測定されたデスクトップ状態(ジオメトリ、フォーカス、サービスステータス)に対して確認されるため、エージェントは黙って失敗することなく自律的に動作できます。

ステータス

現在の状態

MCPツール

15モジュールにわたる108の登録済みツール

トランスポート

ローカルstdio MCPサーバー

ランタイム

Node.js 20+ および TypeScript

デスクトップ

Hyprland Lua設定ブリッジを備えたOmarchy

タイル表示

ネイティブ lua:omarchy-grid グリッド/マスターレイアウト

安全性

破壊的ツールはデフォルトで無効。ホストウィンドウ自己保護

検証

ユニットテスト、MCPスモークテスト、ライブデスクトップ証跡台帳

ツールごとの検証ステータスは COMMANDS.md を、計画中のマイルストーンは ROADMAP.md を参照してください。

Related MCP server: linux-computer-use

これが存在する理由

デスクトップ制御ツールは、アクションが機能したかどうかを確認せずに、ディスパッチされたことだけを報告することがよくあります。これは、フォーカス、フローティングルール、フルスクリーン状態、ワークスペースルール、マウスによってターゲットが変わる可能性があるタイル型ウィンドウマネージャーでは特に信頼性が低くなります。

このサーバーは、欠けていたフィードバックループを追加します:

  • ウィンドウ変更は、測定された変更前/変更後の状態と明確な判定を報告します。

  • 明示的なアドレスとマッチセレクターにより、フォーカス関連のミスを減らします。

  • PID祖先ガードにより、エージェントが自身のホストウィンドウを閉じることを防ぎます。

  • 破壊的なシステム操作には、明示的な設定のオプトインが必要です。

  • health_check は、欠落しているコマンド、レイアウトのインストール、デスクトップ接続を診断します。

  • agent_grid は、マルチエージェントワークスペース全体のリクエストを、検証済みの1つのMCP操作に変換します。

クイックスタート

要件

  • インストール済みのOmarchyデスクトップ

  • OmarchyのLua設定ブリッジを備えたHyprland

  • Node.js 20 以降

  • npm

個々の機能では、wtypenmclibluetoothctlwpctlgrimwl-copy も使用される場合があります。health_check は、どのオプションコマンドが利用可能かを報告します。

ビルド

git clone https://github.com/hlsitechio/Omarchy-MCP.git
cd Omarchy-MCP
npm ci
npm run build
npm test

MCPエントリポイントは次のとおりです:

node /absolute/path/to/Omarchy-MCP/build/index.js

ネイティブグリッドレイアウトのインストール

通常のデスクトップツールはカスタムレイアウトなしで実行できますが、決定的なグリッド/マスタータイル表示と agent_grid には必要です。

install -Dm644 hypr/layouts.lua ~/.config/hypr/layouts.lua

ユーザーのHyprland設定がそれを読み込むことを確認してください:

require("hypr.layouts")

次にリロードして設定を確認します:

hyprctl reload
hyprctl configerrors

/usr/share/omarchy 配下のOmarchyパッケージファイルは変更しないでください。レイアウトは ~/.config/hypr 配下のユーザー設定に属します。

MCPクライアントの接続

ローカルstdio MCPサーバーをサポートするクライアントは、build/index.js を起動できます。

OpenCode

これを ~/.config/opencode/opencode.json に追加し、パスをリポジトリの絶対パスに置き換えてください:

{
  "mcp": {
    "omarchy": {
      "type": "local",
      "command": [
        "node",
        "/absolute/path/to/Omarchy-MCP/build/index.js"
      ],
      "enabled": true
    }
  }
}

Claude Desktop

{
  "mcpServers": {
    "omarchy": {
      "command": "node",
      "args": ["/absolute/path/to/Omarchy-MCP/build/index.js"]
    }
  }
}

再ビルド後、既存のMCPクライアントを再起動または再接続して、ツールスキーマを再読み込みしてください。

最初に試すプロンプト

  • 「Omarchy MCPが正常かどうか確認して。」

  • 「すべてのウィンドウをワークスペースとジオメトリ付きで表示して。」

  • 「次の空のワークスペースにOpenCodeの2x2グリッドを開いて。」

  • 「Claudeを右上に、Codexを右下に配置して。」

  • 「Firefoxをワークスペース4に移動して、どこに移動したか確認して。」

  • 「このウィンドウを左上にスナップして、最終的なサイズを教えて。」

  • 「近くのWi-Fiネットワークを一覧表示して。ただし、何にも接続しないで。」

ワンコマンドのコーディングエージェントワークスペース

agent_grid は、独立したOmarchy TUIウィンドウを起動し、ネイティブグリッドレイアウトを適用し、正確または疎なセルを割り当て、各ウィンドウのアプリケーションクラス、ワークスペース、フローティング状態、観測されたジオメトリを検証します。

4つのアプリケーションの場合は、2x2 グリッドを要求してください。文字通りの 4x4 グリッドには16セルが含まれ、完全に埋めると16個のアプリケーションが起動されます。

均一グリッド

プロンプト:

このリポジトリでOpenCodeの2x2グリッドを開いて。

同等の引数:

{
  "agent": "opencode",
  "cols": 2,
  "rows": 2,
  "workspace": "next_empty",
  "cwd": "/path/to/project"
}

混合疎グリッド

プロンプト:

Claudeを右上に、Codexを右下に開いて。

同等の引数:

{
  "cols": 2,
  "rows": 2,
  "placements": [
    { "agent": "claude", "position": "top_right" },
    { "agent": "codex", "position": "bottom_right" }
  ]
}

サポートされているエージェントは、OpenCode、Claude、Codex、Gemini、Copilot、Crush、Grok、Oh My Pi (omp)、Pi です。ウィンドウを開かずに完全なプランを検証するには、dry_run: true を使用してください。

名前付きコーナー割り当てと明示的な行/列割り当ては、ユーザーがワークスペースを変更しても保持されます。既存のタイル表示ウィンドウは起動前にカウントされ、グリッド容量を超えるリクエストは拒否されます。

ツールグループ

ドメイン

ツール

ウィンドウとレイアウト制御

24

フォーカス、タイプ、キー、スナップ、リサイズ、クローズ、ワークスペース、グリッド/マスター

デスクトップ基本機能

11

起動、スクリーンショット、リマインダー、オーディオ、明るさ、システム状態

シェルとローカルUI

13

通知、DND、OSD、バー状態/設定、プラグイン検査

ローカルプラグインライフサイクル

4

制限付き詳細、有効化、無効化、パッケージ化されたローカルクローンワークフロー

デバイスとオーディオ制御

7

オーディオインベントリ/デフォルト、メディアソース、キーボードと入力デバイス

ローカルランチャー

3

Files/About、検証済み設定ファイル、許可リスト登録済みターミナルツール

ネットワークと電源

11

Wi-Fi、Bluetooth、バッテリー、電源プロファイル

テーマと外観

11

テーマ、ローカル背景、サムネイルキャッシュ、フォント

キャプチャとローカルメディア

7

録画、OCR/QRセレクター、トランスコーディング、ASCII変換

ローカルシステム状態

6

バージョン、リソース、モニター状態、トグル、ハードウェア準備状況

ゲート付きシステム操作

5

シャットダウン、パッケージ、アップデート、設定リフレッシュ

デフォルトと表示

3

アプリケーションデフォルトと調整されたテキストサイズ

ヘルスとディスカバリー

2

準備診断、インストール済みコマンド検索

コーディングエージェントオーケストレーション

1

均一および混合エージェントグリッド

完全なリストとライブテストステータスは COMMANDS.md で管理されています。

安全モデル

シェル補間なし

コマンドは、Nodeの execFile または spawn を通じて引数配列で実行されます。ユーザー入力がシェルコマンドに連結されることはありません。

破壊的操作はオプトイン

シャットダウン、再起動、パッケージインストール、システムアップデート、設定リフレッシュはデフォルトで無効です。次のようにして有効にします:

mkdir -p ~/.config/omarchy-mcp
printf '%s\n' '{"enableDangerous": true}' > ~/.config/omarchy-mcp/config.json

または、プロセスレベルのオーバーライドを設定します:

OMARCHY_MCP_ENABLE_DANGEROUS=1 node build/index.js

この設定は、信頼するクライアントとセッションにのみ使用してください。

ホストウィンドウ保護

ウィンドウを閉じる操作やその他の高リスク操作は、MCPホストプロセスのPID祖先を解決し、自身のターミナルウィンドウをターゲットにすることを拒否します。Hyprlandのフォーカスはマウスに追従できるため、変更には明示的なウィンドウアドレスが推奨されます。

検証済みの結果

ウィンドウ変更ツールは、confirmedsplit_confirmedopened_but_not_splitnot_detected などのステータスを、測定された状態と、必要に応じてリカバリーヒントとともに返します。

アーキテクチャ

MCP client
    │  JSON-RPC over stdio
    ▼
MCP tool + Zod input validation
    │
    ├── Omarchy CLI ───────────── themes, capture, power, applications
    ├── Hyprland Lua dispatcher ─ windows, workspaces, native layout
    └── System CLIs ───────────── nmcli, bluetoothctl, wpctl, upower
    │
    ▼
State reread + geometry/verdict engine
    │
    ▼
Structured MCP result with STATUS, evidence, and HINT

ソースレイアウト:

src/index.ts              server and tool registration
src/exec.ts               shell-free process execution
src/hypr.ts               desktop introspection and verification helpers
src/result.ts             consistent MCP success/error results
src/config.ts             safety configuration
src/tools/                 tool domains
hypr/layouts.lua          native deterministic grid/master layout
test/                      automated and manual live tests

Hyprlandウィンドウディスパッチは、Omarchy Lua APIを使用します。例:

hl.dsp.window.resize({ window = "address:0x...", x = 900, y = 700, relative = false })

ネイティブレイアウトは、gridmaster モードに加えて、強制ディメンション、順序付け、スワップ、疎セル、ワークスペースごとの状態のためのランタイムメッセージをサポートします。

開発と検証

npm run build      # TypeScript compilation
npm test           # compilation + deterministic planner tests
npm run smoke      # live local MCP/Omarchy smoke test

スモークテストは意図的にデスクトップ対応です。ツール登録、ヘルスレポート、読み取り専用のOmarchy/Hyprlandアクセス、破壊的操作ゲート、agent_grid ドライランをチェックします。視覚的な変更は、実際のOmarchyセッションで手動で検証され、COMMANDS.md に記録されます。

ライブのエージェントグリッド演習の場合:

node test/live-agent-grid.mjs

このコマンドは実際のウィンドウを開き、アクティブなワークスペースを変更します。npm test の一部ではありません。

トラブルシューティング

新しいツールが表示されない

npm run build を実行し、MCPクライアントを再起動または再接続してください。MCPクライアントは通常、サーバープロセスの存続期間中ツールリストをキャッシュします。

health_check がグリッドレイアウトが完全にインストールされていないと報告する

~/.config/hypr/layouts.lua が存在すること、ユーザーのHyprland設定に require("hypr.layouts") が含まれていること、hyprctl configerrors が空であることを確認してください。

ウィンドウコマンドが間違ったターゲットを選択した

window_list を呼び出し、フォーカスされたウィンドウに依存する代わりに、返されたアドレスで再試行してください。これにより、input:follow_mouse のフォーカス変更を回避できます。

危険なツールが無効と表示される

それが安全なデフォルトです。安全モデル を確認した後でのみ、明示的に有効にしてください。

レイアウトコマンドがHyprlandの警告を報告する

一部のコンポジターのノーオペレーションは予想されます — たとえば、フルスクリーンウィンドウのスワップや空のセルへのスワップなどです。MCPの結果は、これらの警告と確認済みの変更を区別します。

貢献

実装、ライブ検証、ドキュメント、テスト、アクセシビリティ、リリースエンジニアリングにわたって貢献を歓迎します。リポジトリには、バグ、ツール提案、検証レポート用の構造化されたイシューフォームと、プロジェクトの安全モデルに沿ったプルリクエストチェックリストが用意されています。

CONTRIBUTING.md から始め、ROADMAP.md から貢献レーンを選択してください。広範囲または高リスクの変更は、コーディング前にスコープ、証拠、リカバリー動作を合意できるよう、イシューから始める必要があります。

プロジェクトドキュメント

  • COMMANDS.md — 実装とライブ検証台帳

  • ROADMAP.md — マイルストーン、優先順位、リリースゲート

  • CONTRIBUTING.md — 貢献とテストのワークフロー

  • GOVERNANCE.md — 役割、決定、レビュー、リリース

  • SECURITY.md — 非公開報告とセキュリティ境界

  • CODE_OF_CONDUCT.md — コミュニティ参加基準

  • AGENTS.md — リポジトリで作業するコーディングエージェント向けの技術コンテキスト

ライセンス

MIT

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
17hResponse time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides AI assistants with the ability to control Linux desktop environments through tools for file management, application launching, and system operations like clipboard access. It includes a multi-level security model to manage permissions for safe, elevated, and restricted actions.
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to control Linux/X11 desktops by providing tools for taking screenshots, clicking, typing, and managing windows via AT-SPI and xdotool.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables full Linux desktop control including windows, mouse, keyboard, clipboard, audio, screenshots, OCR, accessibility, and system management through MCP-compatible AI agents.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

  • Runtime permission, approval, and audit layer for AI agent tool execution.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hlsitechio/Omarchy-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server