OmniMCP

by OpenAdaptAI
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports configuration via .env files for settings like debug mode, parser URL, and log levels

  • Integrates with GitHub for repository management, including cloning repositories and accessing project files

  • Provides testing infrastructure for validating OmniMCP functionality

オムニ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を使用してください。

AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY # OMNIPARSER_URL=http://... # Optional: Skip auto-deploy

インストール

git clone [https://github.com/OpenAdaptAI/OmniMCP.git](https://github.com/OpenAdaptAI/OmniMCP.git) cd OmniMCP ./install.sh # Creates .venv, installs deps incl. test extras cp .env.example .env # Edit .env with your keys # Activate: source .venv/bin/activate (Linux/macOS) or relevant Windows command

クイックスタート

環境がアクティブ化され、 .envが構成されていることを確認します。

# Run default goal (Calculator task) python cli.py # Run custom goal python cli.py --goal "Your goal here" # See options python cli.py --help

デバッグ出力はruns/<timestamp>/に保存されます。

**MCP サーバーに関する注意:**実験的な MCP サーバー ( omnimcp/mcp_server.pyOmniMCPクラス) が存在しますが、プライマリcli.py / AgentExecutorワークフローとは別です。

建築

  1. CLI ( cli.py ) - エントリ ポイント、セットアップ、Executor の起動。
  2. エージェント エグゼキューター( omnimcp/agent_executor.py ) - ループをオーケストレーションし、状態/アーティファクトを管理します。
  3. Visual State Manager ( omnimcp/visual_state.py ) - 認識 (スクリーンショット、パーサーの呼び出し)。
  4. OmniParser クライアント & デプロイ( omnimcp/omniparser/ ) - OmniParser サーバーの通信/デプロイメントを管理します。
  5. LLM プランナー( omnimcp/core.py ) - アクション プランを生成します。
  6. 入力コントローラ( omnimcp/input.py ) - アクション (マウス/キーボード) を実行します。
  7. (オプション) MCP サーバー( omnimcp/mcp_server.py ) - 実験的な MCP インターフェース。

発達

環境設定とチェック

# Setup (if not done): ./install.sh # Activate env: source .venv/bin/activate (or similar) # Format/Lint: uv run ruff format . && uv run ruff check . --fix # Run tests: uv run pytest tests/

デバッグサポート

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推奨されます)。

# --- Initialization & Auto-Deploy --- 2025-MM-DD HH:MM:SS | INFO | omnimcp.omniparser.client:... - No server_url provided, attempting discovery/deployment... 2025-MM-DD HH:MM:SS | INFO | omnimcp.omniparser.server:... - Creating new EC2 instance... 2025-MM-DD HH:MM:SS | SUCCESS | omnimcp.omniparser.server:... - Instance i-... is running. Public IP: ... 2025-MM-DD HH:MM:SS | INFO | omnimcp.omniparser.server:... - Setting up auto-shutdown infrastructure... 2025-MM-DD HH:MM:SS | SUCCESS | omnimcp.omniparser.server:... - Auto-shutdown infrastructure setup completed... ... (SSH connection, Docker setup) ... 2025-MM-DD HH:MM:SS | SUCCESS | omnimcp.omniparser.client:... - Auto-deployment successful. Server URL: http://... ... (Agent Executor Init) ... # --- Agent Execution Loop Example Step --- 2025-MM-DD HH:MM:SS | INFO | omnimcp.agent_executor:run:... - --- Step N/10 --- 2025-MM-DD HH:MM:SS | DEBUG | omnimcp.agent_executor:run:... - Perceiving current screen state... 2025-MM-DD HH:MM:SS | INFO | omnimcp.visual_state:update:... - VisualState update complete. Found X elements. Took Y.YYs. 2025-MM-DD HH:MM:SS | INFO | omnimcp.agent_executor:run:... - Perceived state with X elements. ... (Save artifacts) ... 2025-MM-DD HH:MM:SS | DEBUG | omnimcp.agent_executor:run:... - Planning next action... ... (LLM Call) ... 2025-MM-DD HH:MM:SS | INFO | omnimcp.agent_executor:run:... - LLM Plan: Action=..., TargetID=..., GoalComplete=False 2025-MM-DD HH:MM:SS | DEBUG | omnimcp.agent_executor:run:... - Added to history: Step N: Planned action ... 2025-MM-DD HH:MM:SS | INFO | omnimcp.agent_executor:run:... - Executing action: ... 2025-MM-DD HH:MM:SS | SUCCESS | omnimcp.agent_executor:run:... - Action executed successfully. 2025-MM-DD HH:MM:SS | DEBUG | omnimcp.agent_executor:run:... - Step N duration: Z.ZZs ... (Loop continues or finishes) ...

(注: タイミング、カウント、IP、インスタンス ID、特定のプランなどの詳細は異なります)

ロードマップと制限事項

主な制限事項と将来の作業領域:

  • パフォーマンス: OmniParser のレイテンシを削減し (ローカル モデル、キャッシュなどを探索)、状態管理を最適化します (完全な再解析を回避します)。
  • 堅牢性: LLM 計画の信頼性 (プロンプト、ReAct などのテクニック) を向上させ、アクション検証/エラー回復を追加し、要素のターゲティングを強化します。
  • **ターゲット API/アーキテクチャ:**より高レベルの宣言型 API (例: @omni.publishスタイル) に向けて進化し、ループ ロジックを実験的な MCP サーバー ( OmniMCPクラス) と統合する可能性があります。
  • 一貫性: AgentExecutor使用するようにdemo_synthetic.pyをリファクタリングします。
  • **機能:**アクション スペースを拡張します (ドラッグ/ドロップ、ホバー)。
  • テスト: E2E テストを追加し、クロスプラットフォーム検証を拡大し、評価メトリックを定義します。
  • **調査:**微調整、プロセス グラフ (RAG)、フレームワークの統合を調査します。

プロジェクトのステータス

cli.py / AgentExecutor経由のコアループは基本的なタスクには機能します。パフォーマンスと堅牢性には大幅な改善が必要です。MCP との統合は試験段階です。

貢献

  1. フォークリポジトリ
  2. 機能ブランチを作成する
  3. 変更を実装し、テストを追加する
  4. チェックが合格したことを確認します ( uv run ruff format .uv run ruff check . --fixuv run pytest tests/ )
  5. プルリクエストを送信する

ライセンス

MITライセンス

接触

-
security - not tested
F
license - not found
-
quality - not tested

AI モデルに豊富な UI コンテキストとインタラクション機能を提供するサーバー。モデル コンテキスト プロトコルを介した視覚的な分析と正確なインタラクションを通じて、ユーザー インターフェイスを深く理解できます。

  1. Core Features
    1. Overview
      1. Demos
    2. Prerequisites
      1. For AWS Deployment Features
    3. Installation
      1. Quick Start
        1. Architecture
          1. Development
            1. Environment Setup & Checks
            2. Debug Support
          2. Roadmap & Limitations
            1. Project Status
              1. Contributing
                1. License
                  1. Contact
                    ID: gf61tqx1fu