Brobot MCP服务器
模型上下文协议(MCP)服务器,使AI代理能够控制Brobot自动化应用程序并与之交互。
概述
Brobot MCP服务器提供了人工智能代理和Brobot Java自动化框架之间的桥梁。它通过RESTful API展示了Brobot的GUI自动化功能,允许人工智能系统:
- 查询应用程序的当前状态结构
- 通过屏幕截图和活动状态信息观察当前状态
- 执行自动化操作(单击、键入、拖动等)
建筑
服务器充当中间件层:
AI Agent Python MCP Server Java Brobot CLI Target Application主要特点
- 状态管理:查询并理解应用程序的状态结构
- 实时观测:获取屏幕截图和活动状态信息
- 动作执行:通过API执行GUI自动化操作
- 基于FastAPI:现代、快速且文档齐全的API
- 类型安全:完整的Pydantic模型验证
- 开发者友好:API自动文档
/docs
安装
先决条件
- Python 3.8或更高版本
- Java 11或更高版本(适用于Brobot CLI)
- Brobot框架
设置
- 克隆存储库:
git clone https://github.com/yourusername/brobot-mcp-server.git
cd brobot-mcp-server- 安装软件包:
pip install -e .- 对于开发,请使用dev依赖项进行安装:
pip install -e .[dev]用法
启动服务器
使用以下命令运行服务器:
python -m mcp_server.main或者使用已安装的命令:
brobot-mcp-server服务器将于启动 http://localhost:8000 默认情况下。
API文档
服务器运行后,请访问:
- 交互式API文档:
http://localhost:8000/docs - 备选文件:
http://localhost:8000/redoc
健康检查
验证服务器是否正在运行:
curl http://localhost:8000/health预期响应:
{"status": "ok"}CLI集成
服务器可以在两种模式下运行:
1.模拟模式(默认)
使用硬编码的模拟数据进行测试和开发。
2.CLI模式
与Brobot Java CLI集成,实现真正的自动化控制。
设置CLI模式:
- 构建Brobot CLI:
cd brobot-cli
gradle shadowJar # or ./gradlew shadowJar- 配置服务器:
创建一个 .env 文件:
USE_MOCK_DATA=false
BROBOT_CLI_JAR=brobot-cli/build/libs/brobot-cli.jar- 启动服务器:
python -m mcp_server.main服务器将自动检测并使用CLI(如果可用)。
API终点
核心终点
GET /api/v1/state_structure-获取应用程序的状态模型GET /api/v1/observation-使用屏幕截图获取当前观察结果POST /api/v1/execute-执行自动化操作GET /api/v1/health-使用CLI状态进行扩展健康检查
Python客户端库
Python客户端库可用于轻松集成:
pip install brobot-client快速示例:
from brobot_client import BrobotClient
with BrobotClient() as client:
# Get current state
observation = client.get_observation()
# Perform actions
client.click("button.png")
client.type_text("Hello, Brobot!")请参阅 客户文件 了解全部细节。
发展
运行测试
pytest代码质量
运行linting和格式化:
black mcp_server tests
flake8 mcp_server tests
mypy mcp_server贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
路线图
里程碑1:核心服务器和API合同定义✅
- \[x\] 使用FastAPI进行初始项目设置
- \[x\] 模拟API端点实现
里程碑2:Brobot集成✅
- \[x\] 创建Brobot Java CLI包装器
- \[x\] 将API端点连接到实时Brobot CLI
里程碑3:开发者体验
- \[x\] Python客户端库
- \[\]综合文件
里程碑4:质量和自动化
- \[\]单元和集成测试
- \[\]CI/CD管道
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
支持
有关问题和功能请求,请使用 .
