使用说明
项目简介
OmniMCP 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 AI 模型提供丰富的用户界面 (UI) 上下文和交互能力。它通过视觉分析技术深入理解 UI 元素,并利用 MCP 协议以标准化的方式向 LLM 客户端提供上下文信息和功能,从而实现自然语言交互和全面的 UI 操作。
主要功能点
- 丰富的视觉上下文: 能够深入理解 UI 元素,提供精确的视觉信息。
- 自然语言接口: 支持使用自然语言描述来定位和分析 UI 元素。
- 全面的交互能力: 提供包括点击、输入、滚动等全方位的 UI 操作,并支持操作验证。
- 结构化数据类型: 使用 dataclasses 提供清晰且类型化的响应数据。
- 强大的错误处理: 提供详细的错误上下文和恢复策略。
- 自动化部署: 支持 OmniParser 后端在 AWS EC2 上的按需自动化部署和自动关闭。
安装步骤
-
克隆仓库
git clone https://github.com/OpenAdaptAI/OmniMCP.git cd OmniMCP -
设置环境并安装依赖
./install.sh这个脚本会创建并激活虚拟环境,然后使用 'uv' 安装项目及其依赖。
-
配置 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 -
激活虚拟环境 (如果环境未激活)
- Linux/macOS:
source .venv/bin/activate - Windows:
source .venv/Scripts/activate
- Linux/macOS:
服务器配置
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 相关的配置。
- 启动命令和参数请根据你的实际环境和需求进行调整。
基本使用方法
-
启动 OmniMCP 服务器
在激活的虚拟环境中,运行以下命令启动 OmniMCP 服务器:
python run_omnimcp.py server或者,使用 debug 模式启动服务器以查看更多日志信息:
python run_omnimcp.py debug -
使用 MCP 客户端连接服务器
配置你的 MCP 客户端,使用上述 服务器配置 中的信息连接到 OmniMCP 服务器。
-
调用 MCP 工具
连接成功后,你可以通过 MCP 客户端调用 OmniMCP 服务器提供的工具,例如:
- 'get_screen_state': 获取当前屏幕的 UI 元素状态。
- 'describe_element': 获取指定 UI 元素的详细描述。
- 'click_element': 点击指定的 UI 元素。
- 'type_text': 在 UI 元素中输入文本。
具体工具的使用方法请参考仓库中的代码示例和 MCP 协议文档。
-
停止 OmniParser 服务器 (如果使用了自动部署)
如果你使用了 OmniMCP 的自动部署 OmniParser 功能,并且不再需要使用 OmniParser 服务器,可以使用以下命令停止并清理 AWS EC2 资源:
python omnimcp/omniparser/server.py stop警告: 请务必在完成使用后及时停止 OmniParser 服务器,以避免不必要的 AWS 资源费用。
信息
分类
桌面与硬件