使用说明

项目简介

OmniMCP 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 AI 模型提供丰富的用户界面 (UI) 上下文和交互能力。它通过视觉分析技术深入理解 UI 元素,并利用 MCP 协议以标准化的方式向 LLM 客户端提供上下文信息和功能,从而实现自然语言交互和全面的 UI 操作。

主要功能点

  • 丰富的视觉上下文: 能够深入理解 UI 元素,提供精确的视觉信息。
  • 自然语言接口: 支持使用自然语言描述来定位和分析 UI 元素。
  • 全面的交互能力: 提供包括点击、输入、滚动等全方位的 UI 操作,并支持操作验证。
  • 结构化数据类型: 使用 dataclasses 提供清晰且类型化的响应数据。
  • 强大的错误处理: 提供详细的错误上下文和恢复策略。
  • 自动化部署: 支持 OmniParser 后端在 AWS EC2 上的按需自动化部署和自动关闭。

安装步骤

  1. 克隆仓库

    git clone https://github.com/OpenAdaptAI/OmniMCP.git
    cd OmniMCP
  2. 设置环境并安装依赖

    ./install.sh

    这个脚本会创建并激活虚拟环境,然后使用 'uv' 安装项目及其依赖。

  3. 配置 API 密钥和 AWS 凭证 复制 '.env.example' 文件为 '.env',并编辑 '.env' 文件,填入你的 'ANTHROPIC_API_KEY' (用于 LLM 规划) 和 AWS 凭证 (如果需要使用自动部署 OmniParser 功能)。

    cp .env.example .env
    # 编辑 .env 文件

    '.env' 文件示例内容:

    ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY
    AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY
    AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_KEY
  4. 激活虚拟环境 (如果环境未激活)

    • Linux/macOS:
      source .venv/bin/activate
    • Windows:
      source .venv/Scripts/activate

服务器配置

MCP 客户端需要配置 OmniMCP 服务器的启动命令和参数才能建立连接。以下是 OmniMCP 服务器的配置信息,请以 JSON 格式配置到你的 MCP 客户端:

{
  "server_name": "OmniMCP Server",
  "command": "python",
  "args": [
    "run_omnimcp.py",
    "server",
    "--port",
    "8000"
  ],
  "注释": "启动 OmniMCP 服务器的命令。",
  "command_说明": "使用 python 命令。",
  "args_说明": "run_omnimcp.py server --port 8000 命令的参数。",
  "port": "8000",
  "port_注释": "服务器监听端口,默认为 8000,可根据需要修改。",
  "debug": "false",
  "debug_注释": "是否启用 debug 模式,默认为 false。启用 debug 模式会输出更多日志信息。",
  "parser_url": "null",
  "parser_url_注释": "OmniParser 服务器的 URL。如果为空,OmniMCP 会尝试自动部署 OmniParser 服务器到 AWS EC2。如果手动部署了 OmniParser 服务器,请在此处指定其 URL。"
}

注意:

  • 请确保你的 MCP 客户端能够正确解析和使用以上 JSON 格式的配置信息。
  • 如果你不需要自动部署 OmniParser 功能,可以忽略 AWS 相关的配置。
  • 启动命令和参数请根据你的实际环境和需求进行调整。

基本使用方法

  1. 启动 OmniMCP 服务器

    在激活的虚拟环境中,运行以下命令启动 OmniMCP 服务器:

    python run_omnimcp.py server

    或者,使用 debug 模式启动服务器以查看更多日志信息:

    python run_omnimcp.py debug
  2. 使用 MCP 客户端连接服务器

    配置你的 MCP 客户端,使用上述 服务器配置 中的信息连接到 OmniMCP 服务器。

  3. 调用 MCP 工具

    连接成功后,你可以通过 MCP 客户端调用 OmniMCP 服务器提供的工具,例如:

    • 'get_screen_state': 获取当前屏幕的 UI 元素状态。
    • 'describe_element': 获取指定 UI 元素的详细描述。
    • 'click_element': 点击指定的 UI 元素。
    • 'type_text': 在 UI 元素中输入文本。

    具体工具的使用方法请参考仓库中的代码示例和 MCP 协议文档。

  4. 停止 OmniParser 服务器 (如果使用了自动部署)

    如果你使用了 OmniMCP 的自动部署 OmniParser 功能,并且不再需要使用 OmniParser 服务器,可以使用以下命令停止并清理 AWS EC2 资源:

    python omnimcp/omniparser/server.py stop

    警告: 请务必在完成使用后及时停止 OmniParser 服务器,以避免不必要的 AWS 资源费用。

信息

分类

桌面与硬件