オムニMCP
OmniMCPは、モデルコンテキストプロトコル(MCP)とmicrosoft/OmniParserを通じて、AIモデルに豊富なUIコンテキストとインタラクション機能を提供します。視覚的な分析、構造化された計画、そして正確なインタラクション実行を通じて、ユーザーインターフェイスの深い理解を可能にすることに重点を置いています。
コア機能
- 視覚認識: OmniParser を使用して UI 要素を理解します。
- **LLM 計画:**目標、履歴、視覚的な状態に基づいて次のアクションを計画します。
- **エージェント エグゼキューター:**認識-計画-行動ループ (
omnimcp/agent_executor.py
) を調整します。 - アクション実行:
pynput
(omnimcp/input.py
) を介してマウス/キーボードを制御します。 - **CLI インターフェース:**タスクを実行するためのシンプルなエントリ ポイント (
cli.py
)。 - **自動デプロイメント:**自動シャットダウン付きの AWS EC2 へのオプションの OmniParser サーバー デプロイメント。
- **デバッグ:**ステップごとにタイムスタンプ付きのビジュアル ログを生成します。
概要
cli.py
AgentExecutor
を使用して、認識・計画・行動のループを実行します。画面をキャプチャし ( VisualState
)、LLM を使用してプランニングを行い ( core.plan_action_for_ui
)、アクションを実行します ( InputController
)。
デモ
- 実際のアクション (電卓):
python cli.py
電卓を開き、5*9 を計算します。 - 合成 UI (ログイン):
python demo_synthetic.py
生成された画像を使用します (実際の I/O はありません)。 (注: AgentExecutor を使用するためのリファクタリングが保留中です)。
前提条件
- Python >=3.10、<3.13
uv
がインストールされました(pip install uv
)- Linux ランタイム要件:
pynput
にはアクティブなグラフィカルセッション (X11/Wayland) が必要です。システムライブラリ (libx11-dev
など) が必要になる場合があります -pynput
ドキュメントを参照してください。
(macOS ディスプレイのスケーリング依存関係はインストール中に自動的に処理されます)。
AWS デプロイメント機能について
.env
にAWS認証情報が必要です( .env.example
を参照)。警告: AWSリソース(EC2、Lambdaなど)が作成され、コストが発生します。クリーンアップするには、 python -m omnimcp.omniparser.server stop
を使用してください。
インストール
クイックスタート
環境がアクティブ化され、 .env
が構成されていることを確認します。
デバッグ出力はruns/<timestamp>/
に保存されます。
**MCP サーバーに関する注意:**実験的な MCP サーバー ( omnimcp/mcp_server.py
のOmniMCP
クラス) が存在しますが、プライマリcli.py
/ AgentExecutor
ワークフローとは別です。
建築
- CLI (
cli.py
) - エントリ ポイント、セットアップ、Executor の起動。 - エージェント エグゼキューター(
omnimcp/agent_executor.py
) - ループをオーケストレーションし、状態/アーティファクトを管理します。 - Visual State Manager (
omnimcp/visual_state.py
) - 認識 (スクリーンショット、パーサーの呼び出し)。 - OmniParser クライアント & デプロイ(
omnimcp/omniparser/
) - OmniParser サーバーの通信/デプロイメントを管理します。 - LLM プランナー(
omnimcp/core.py
) - アクション プランを生成します。 - 入力コントローラ(
omnimcp/input.py
) - アクション (マウス/キーボード) を実行します。 - (オプション) MCP サーバー(
omnimcp/mcp_server.py
) - 実験的な MCP インターフェース。
発達
環境設定とチェック
デバッグサポート
python cli.py
を実行すると、次の内容を含むタイムスタンプ付きの実行がruns/
に保存されます。
step_N_state_raw.png
step_N_state_parsed.png
(要素ボックス付き)step_N_action_highlight.png
(アクションハイライト付き)final_state.png
詳細なログはlogs/run_YYYY-MM-DD_HH-mm-ss.log
にあります ( .env
ではLOG_LEVEL=DEBUG
推奨されます)。
(注: タイミング、カウント、IP、インスタンス ID、特定のプランなどの詳細は異なります)
ロードマップと制限事項
主な制限事項と将来の作業領域:
- パフォーマンス: OmniParser のレイテンシを削減し (ローカル モデル、キャッシュなどを探索)、状態管理を最適化します (完全な再解析を回避します)。
- 堅牢性: LLM 計画の信頼性 (プロンプト、ReAct などのテクニック) を向上させ、アクション検証/エラー回復を追加し、要素のターゲティングを強化します。
- **ターゲット API/アーキテクチャ:**より高レベルの宣言型 API (例:
@omni.publish
スタイル) に向けて進化し、ループ ロジックを実験的な MCP サーバー (OmniMCP
クラス) と統合する可能性があります。 - 一貫性:
AgentExecutor
使用するようにdemo_synthetic.py
をリファクタリングします。 - **機能:**アクション スペースを拡張します (ドラッグ/ドロップ、ホバー)。
- テスト: E2E テストを追加し、クロスプラットフォーム検証を拡大し、評価メトリックを定義します。
- **調査:**微調整、プロセス グラフ (RAG)、フレームワークの統合を調査します。
プロジェクトのステータス
cli.py
/ AgentExecutor
経由のコアループは基本的なタスクには機能します。パフォーマンスと堅牢性には大幅な改善が必要です。MCP との統合は試験段階です。
貢献
- フォークリポジトリ
- 機能ブランチを作成する
- 変更を実装し、テストを追加する
- チェックが合格したことを確認します (
uv run ruff format .
、uv run ruff check . --fix
、uv run pytest tests/
) - プルリクエストを送信する
ライセンス
MITライセンス
接触
- 問題: GitHub の問題
- 質問:ディスカッション
- セキュリティ: security@openadapt.ai
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
AI モデルに豊富な UI コンテキストとインタラクション機能を提供するサーバー。モデル コンテキスト プロトコルを介した視覚的な分析と正確なインタラクションを通じて、ユーザー インターフェイスを深く理解できます。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.Last updated 3 months ago1322TypeScriptMIT License
- AsecurityAlicenseAqualityAn enhanced Model Context Protocol server that enables AI assistants to interact with ClickUp workspaces, supporting task relationships, comments, checklists, and workspace management through natural language.Last updated 3 months ago402,434TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides AI vision capabilities for analyzing UI screenshots, offering tools for screen analysis, file operations, and UI/UX report generation.Last updated 3 months ago261JavaScriptISC License
- -securityFlicense-qualityA server that enables AI systems to browse, retrieve content from, and interact with web pages through the Model Context Protocol.Last updated 5 months ago
Appeared in Searches
- A resource or tool for creating videos
- A server for orchestrating intelligent agents to solve spatial reasoning tasks in 3D environments
- Tools and Methods for Testing the UI of Electron Apps
- A tool or guide for creating a memory card game
- A server to support AI with UI/UX using state-of-the-art libraries and design patterns